prime/asm/Kyoto/Input/CRumbleVoice.s

725 lines
34 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata
.global lbl_805A8A60
lbl_805A8A60:
# ROM: 0x3F6400
.4byte 0
.4byte 0
.section .text, "ax"
.global CreateRumbleHandle__12CRumbleVoiceFs
CreateRumbleHandle__12CRumbleVoiceFs:
/* 80369250 003661B0 88 A3 00 2E */ lbz r5, 0x2e(r3)
/* 80369254 003661B4 38 05 00 01 */ addi r0, r5, 1
/* 80369258 003661B8 98 03 00 2E */ stb r0, 0x2e(r3)
/* 8036925C 003661BC 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80369260 003661C0 28 00 00 00 */ cmplwi r0, 0
/* 80369264 003661C4 40 82 00 0C */ bne lbl_80369270
/* 80369268 003661C8 38 00 00 01 */ li r0, 1
/* 8036926C 003661CC 98 03 00 2E */ stb r0, 0x2e(r3)
lbl_80369270:
/* 80369270 003661D0 54 85 0B FC */ rlwinm r5, r4, 1, 0xf, 0x1e
/* 80369274 003661D4 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80369278 003661D8 7C A3 2A 14 */ add r5, r3, r5
/* 8036927C 003661DC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80369280 003661E0 B0 05 00 24 */ sth r0, 0x24(r5)
/* 80369284 003661E4 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80369288 003661E8 54 00 40 2E */ slwi r0, r0, 8
/* 8036928C 003661EC 7C 00 23 78 */ or r0, r0, r4
/* 80369290 003661F0 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80369294 003661F4 7C 03 07 34 */ extsh r3, r0
/* 80369298 003661F8 4E 80 00 20 */ blr
.global OwnsSustained__12CRumbleVoiceCFs
OwnsSustained__12CRumbleVoiceCFs:
/* 8036929C 003661FC 7C 84 07 34 */ extsh r4, r4
/* 803692A0 00366200 54 80 07 3E */ clrlwi r0, r4, 0x1c
/* 803692A4 00366204 28 00 00 04 */ cmplwi r0, 4
/* 803692A8 00366208 54 84 C6 3E */ rlwinm r4, r4, 0x18, 0x18, 0x1f
/* 803692AC 0036620C 40 80 00 20 */ bge lbl_803692CC
/* 803692B0 00366210 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 803692B4 00366214 7C 63 02 14 */ add r3, r3, r0
/* 803692B8 00366218 A0 03 00 24 */ lhz r0, 0x24(r3)
/* 803692BC 0036621C 7C 04 00 50 */ subf r0, r4, r0
/* 803692C0 00366220 7C 00 00 34 */ cntlzw r0, r0
/* 803692C4 00366224 54 03 D9 7E */ srwi r3, r0, 5
/* 803692C8 00366228 4E 80 00 20 */ blr
lbl_803692CC:
/* 803692CC 0036622C 38 60 00 00 */ li r3, 0
/* 803692D0 00366230 4E 80 00 20 */ blr
.global GetIntensity__12CRumbleVoiceCFv
GetIntensity__12CRumbleVoiceCFv:
/* 803692D4 00366234 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 803692D8 00366238 C0 43 00 00 */ lfs f2, 0(r3)
/* 803692DC 0036623C C0 03 00 24 */ lfs f0, 0x24(r3)
/* 803692E0 00366240 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803692E4 00366244 40 80 00 08 */ bge lbl_803692EC
/* 803692E8 00366248 FC 40 00 90 */ fmr f2, f0
lbl_803692EC:
/* 803692EC 0036624C C0 03 00 48 */ lfs f0, 0x48(r3)
/* 803692F0 00366250 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803692F4 00366254 40 80 00 08 */ bge lbl_803692FC
/* 803692F8 00366258 FC 40 00 90 */ fmr f2, f0
lbl_803692FC:
/* 803692FC 0036625C C0 03 00 6C */ lfs f0, 0x6c(r3)
/* 80369300 00366260 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80369304 00366264 40 80 00 08 */ bge lbl_8036930C
/* 80369308 00366268 FC 40 00 90 */ fmr f2, f0
lbl_8036930C:
/* 8036930C 0036626C C0 22 CD D8 */ lfs f1, lbl_805AEAF8@sda21(r2)
/* 80369310 00366270 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80369314 00366274 4D 81 00 20 */ bgtlr
/* 80369318 00366278 FC 20 10 90 */ fmr f1, f2
/* 8036931C 0036627C 4E 80 00 20 */ blr
.global GetFreeChannel__12CRumbleVoiceCFv
GetFreeChannel__12CRumbleVoiceCFv:
/* 80369320 00366280 38 E0 00 00 */ li r7, 0
/* 80369324 00366284 38 A0 00 01 */ li r5, 1
/* 80369328 00366288 48 00 00 24 */ b lbl_8036934C
lbl_8036932C:
/* 8036932C 0036628C 54 E4 04 3E */ clrlwi r4, r7, 0x10
/* 80369330 00366290 A0 C3 00 2C */ lhz r6, 0x2c(r3)
/* 80369334 00366294 7C A0 20 30 */ slw r0, r5, r4
/* 80369338 00366298 7C C0 00 39 */ and. r0, r6, r0
/* 8036933C 0036629C 40 82 00 0C */ bne lbl_80369348
/* 80369340 003662A0 7C 83 23 78 */ mr r3, r4
/* 80369344 003662A4 4E 80 00 20 */ blr
lbl_80369348:
/* 80369348 003662A8 38 E7 00 01 */ addi r7, r7, 1
lbl_8036934C:
/* 8036934C 003662AC 54 E0 04 3E */ clrlwi r0, r7, 0x10
/* 80369350 003662B0 28 00 00 04 */ cmplwi r0, 4
/* 80369354 003662B4 41 80 FF D8 */ blt lbl_8036932C
/* 80369358 003662B8 38 60 00 00 */ li r3, 0
/* 8036935C 003662BC 4E 80 00 20 */ blr
.global Update__12CRumbleVoiceFf
Update__12CRumbleVoiceFf:
/* 80369360 003662C0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80369364 003662C4 7C 08 02 A6 */ mflr r0
/* 80369368 003662C8 90 01 00 54 */ stw r0, 0x54(r1)
/* 8036936C 003662CC DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80369370 003662D0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80369374 003662D4 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80369378 003662D8 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8036937C 003662DC 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80369380 003662E0 93 81 00 30 */ stw r28, 0x30(r1)
/* 80369384 003662E4 7C 7E 1B 78 */ mr r30, r3
/* 80369388 003662E8 FF E0 08 90 */ fmr f31, f1
/* 8036938C 003662EC A0 03 00 2C */ lhz r0, 0x2c(r3)
/* 80369390 003662F0 28 00 00 00 */ cmplwi r0, 0
/* 80369394 003662F4 41 82 00 CC */ beq lbl_80369460
/* 80369398 003662F8 3B E0 00 00 */ li r31, 0
/* 8036939C 003662FC 48 00 00 B0 */ b lbl_8036944C
lbl_803693A0:
/* 803693A0 00366300 57 E6 04 3E */ clrlwi r6, r31, 0x10
/* 803693A4 00366304 38 00 00 01 */ li r0, 1
/* 803693A8 00366308 A0 7E 00 2C */ lhz r3, 0x2c(r30)
/* 803693AC 0036630C 7C 1D 30 30 */ slw r29, r0, r6
/* 803693B0 00366310 7C 60 E8 39 */ and. r0, r3, r29
/* 803693B4 00366314 41 82 00 94 */ beq lbl_80369448
/* 803693B8 00366318 1F 86 00 24 */ mulli r28, r6, 0x24
/* 803693BC 0036631C 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 803693C0 00366320 FC 20 F8 90 */ fmr f1, f31
/* 803693C4 00366324 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 803693C8 00366328 7F C3 F3 78 */ mr r3, r30
/* 803693CC 0036632C 1C 06 00 1C */ mulli r0, r6, 0x1c
/* 803693D0 00366330 7C 84 E2 14 */ add r4, r4, r28
/* 803693D4 00366334 7C A5 02 14 */ add r5, r5, r0
/* 803693D8 00366338 48 00 00 B5 */ bl UpdateChannel__12CRumbleVoiceFR10SAdsrDeltaRC9SAdsrDataf
/* 803693DC 0036633C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803693E0 00366340 41 82 00 68 */ beq lbl_80369448
/* 803693E4 00366344 A0 1E 00 2C */ lhz r0, 0x2c(r30)
/* 803693E8 00366348 38 61 00 08 */ addi r3, r1, 8
/* 803693EC 0036634C 7C 00 E8 78 */ andc r0, r0, r29
/* 803693F0 00366350 B0 1E 00 2C */ sth r0, 0x2c(r30)
/* 803693F4 00366354 48 00 08 B5 */ bl Stopped__10SAdsrDeltaFv
/* 803693F8 00366358 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 803693FC 0036635C C0 01 00 08 */ lfs f0, 8(r1)
/* 80369400 00366360 7C 60 E2 14 */ add r3, r0, r28
/* 80369404 00366364 D0 03 00 00 */ stfs f0, 0(r3)
/* 80369408 00366368 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8036940C 0036636C D0 03 00 04 */ stfs f0, 4(r3)
/* 80369410 00366370 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80369414 00366374 D0 03 00 08 */ stfs f0, 8(r3)
/* 80369418 00366378 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8036941C 0036637C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80369420 00366380 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369424 00366384 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80369428 00366388 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8036942C 0036638C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80369430 00366390 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80369434 00366394 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80369438 00366398 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036943C 0036639C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80369440 003663A0 80 01 00 28 */ lwz r0, 0x28(r1)
/* 80369444 003663A4 90 03 00 20 */ stw r0, 0x20(r3)
lbl_80369448:
/* 80369448 003663A8 3B FF 00 01 */ addi r31, r31, 1
lbl_8036944C:
/* 8036944C 003663AC 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80369450 003663B0 28 00 00 04 */ cmplwi r0, 4
/* 80369454 003663B4 41 80 FF 4C */ blt lbl_803693A0
/* 80369458 003663B8 38 60 00 01 */ li r3, 1
/* 8036945C 003663BC 48 00 00 08 */ b lbl_80369464
lbl_80369460:
/* 80369460 003663C0 38 60 00 00 */ li r3, 0
lbl_80369464:
/* 80369464 003663C4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 80369468 003663C8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8036946C 003663CC CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80369470 003663D0 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80369474 003663D4 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80369478 003663D8 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8036947C 003663DC 83 81 00 30 */ lwz r28, 0x30(r1)
/* 80369480 003663E0 7C 08 03 A6 */ mtlr r0
/* 80369484 003663E4 38 21 00 50 */ addi r1, r1, 0x50
/* 80369488 003663E8 4E 80 00 20 */ blr
.global UpdateChannel__12CRumbleVoiceFR10SAdsrDeltaRC9SAdsrDataf
UpdateChannel__12CRumbleVoiceFR10SAdsrDeltaRC9SAdsrDataf:
/* 8036948C 003663EC 80 04 00 20 */ lwz r0, 0x20(r4)
/* 80369490 003663F0 2C 00 00 03 */ cmpwi r0, 3
/* 80369494 003663F4 41 82 00 A8 */ beq lbl_8036953C
/* 80369498 003663F8 40 80 00 14 */ bge lbl_803694AC
/* 8036949C 003663FC 2C 00 00 01 */ cmpwi r0, 1
/* 803694A0 00366400 41 82 00 18 */ beq lbl_803694B8
/* 803694A4 00366404 40 80 00 48 */ bge lbl_803694EC
/* 803694A8 00366408 48 00 01 DC */ b lbl_80369684
lbl_803694AC:
/* 803694AC 0036640C 2C 00 00 05 */ cmpwi r0, 5
/* 803694B0 00366410 41 82 01 54 */ beq lbl_80369604
/* 803694B4 00366414 48 00 01 D0 */ b lbl_80369684
lbl_803694B8:
/* 803694B8 00366418 C0 44 00 04 */ lfs f2, 4(r4)
/* 803694BC 0036641C C0 02 CD DC */ lfs f0, lbl_805AEAFC@sda21(r2)
/* 803694C0 00366420 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803694C4 00366424 40 80 00 10 */ bge lbl_803694D4
/* 803694C8 00366428 EC 02 08 2A */ fadds f0, f2, f1
/* 803694CC 0036642C D0 04 00 04 */ stfs f0, 4(r4)
/* 803694D0 00366430 48 00 01 B4 */ b lbl_80369684
lbl_803694D4:
/* 803694D4 00366434 38 00 00 02 */ li r0, 2
/* 803694D8 00366438 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 803694DC 0036643C 90 04 00 20 */ stw r0, 0x20(r4)
/* 803694E0 00366440 D0 04 00 00 */ stfs f0, 0(r4)
/* 803694E4 00366444 D0 04 00 04 */ stfs f0, 4(r4)
/* 803694E8 00366448 48 00 01 9C */ b lbl_80369684
lbl_803694EC:
/* 803694EC 0036644C C0 05 00 08 */ lfs f0, 8(r5)
/* 803694F0 00366450 C0 44 00 04 */ lfs f2, 4(r4)
/* 803694F4 00366454 C0 A4 00 14 */ lfs f5, 0x14(r4)
/* 803694F8 00366458 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803694FC 0036645C 40 80 00 30 */ bge lbl_8036952C
/* 80369500 00366460 EC 82 00 24 */ fdivs f4, f2, f0
/* 80369504 00366464 C0 02 CD E4 */ lfs f0, lbl_805AEB04@sda21(r2)
/* 80369508 00366468 C0 62 CD E0 */ lfs f3, lbl_805AEB00@sda21(r2)
/* 8036950C 0036646C EC 40 20 28 */ fsubs f2, f0, f4
/* 80369510 00366470 EC 05 01 32 */ fmuls f0, f5, f4
/* 80369514 00366474 EC 03 00 BA */ fmadds f0, f3, f2, f0
/* 80369518 00366478 D0 04 00 00 */ stfs f0, 0(r4)
/* 8036951C 0036647C C0 04 00 04 */ lfs f0, 4(r4)
/* 80369520 00366480 EC 00 08 2A */ fadds f0, f0, f1
/* 80369524 00366484 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369528 00366488 48 00 01 5C */ b lbl_80369684
lbl_8036952C:
/* 8036952C 0036648C D0 A4 00 00 */ stfs f5, 0(r4)
/* 80369530 00366490 38 00 00 03 */ li r0, 3
/* 80369534 00366494 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369538 00366498 48 00 01 4C */ b lbl_80369684
lbl_8036953C:
/* 8036953C 0036649C 88 05 00 18 */ lbz r0, 0x18(r5)
/* 80369540 003664A0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80369544 003664A4 41 82 00 54 */ beq lbl_80369598
/* 80369548 003664A8 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8036954C 003664AC C0 44 00 08 */ lfs f2, 8(r4)
/* 80369550 003664B0 C0 A4 00 18 */ lfs f5, 0x18(r4)
/* 80369554 003664B4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80369558 003664B8 C0 84 00 14 */ lfs f4, 0x14(r4)
/* 8036955C 003664BC 40 80 00 2C */ bge lbl_80369588
/* 80369560 003664C0 EC 62 00 24 */ fdivs f3, f2, f0
/* 80369564 003664C4 C0 02 CD E4 */ lfs f0, lbl_805AEB04@sda21(r2)
/* 80369568 003664C8 EC 40 18 28 */ fsubs f2, f0, f3
/* 8036956C 003664CC EC 05 00 F2 */ fmuls f0, f5, f3
/* 80369570 003664D0 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 80369574 003664D4 D0 04 00 00 */ stfs f0, 0(r4)
/* 80369578 003664D8 C0 04 00 08 */ lfs f0, 8(r4)
/* 8036957C 003664DC EC 00 08 2A */ fadds f0, f0, f1
/* 80369580 003664E0 D0 04 00 08 */ stfs f0, 8(r4)
/* 80369584 003664E4 48 00 01 00 */ b lbl_80369684
lbl_80369588:
/* 80369588 003664E8 D0 A4 00 00 */ stfs f5, 0(r4)
/* 8036958C 003664EC 38 00 00 04 */ li r0, 4
/* 80369590 003664F0 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369594 003664F4 48 00 00 F0 */ b lbl_80369684
lbl_80369598:
/* 80369598 003664F8 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8036959C 003664FC C0 44 00 08 */ lfs f2, 8(r4)
/* 803695A0 00366500 C0 84 00 14 */ lfs f4, 0x14(r4)
/* 803695A4 00366504 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803695A8 00366508 40 80 00 30 */ bge lbl_803695D8
/* 803695AC 0036650C EC 62 00 24 */ fdivs f3, f2, f0
/* 803695B0 00366510 C0 42 CD E4 */ lfs f2, lbl_805AEB04@sda21(r2)
/* 803695B4 00366514 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 803695B8 00366518 EC 42 18 28 */ fsubs f2, f2, f3
/* 803695BC 0036651C EC 00 00 F2 */ fmuls f0, f0, f3
/* 803695C0 00366520 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 803695C4 00366524 D0 04 00 00 */ stfs f0, 0(r4)
/* 803695C8 00366528 C0 04 00 08 */ lfs f0, 8(r4)
/* 803695CC 0036652C EC 00 08 2A */ fadds f0, f0, f1
/* 803695D0 00366530 D0 04 00 08 */ stfs f0, 8(r4)
/* 803695D4 00366534 48 00 00 14 */ b lbl_803695E8
lbl_803695D8:
/* 803695D8 00366538 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 803695DC 0036653C 38 00 00 00 */ li r0, 0
/* 803695E0 00366540 D0 04 00 00 */ stfs f0, 0(r4)
/* 803695E4 00366544 90 04 00 20 */ stw r0, 0x20(r4)
lbl_803695E8:
/* 803695E8 00366548 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803695EC 0036654C 2C 00 00 03 */ cmpwi r0, 3
/* 803695F0 00366550 41 82 00 94 */ beq lbl_80369684
/* 803695F4 00366554 38 00 00 00 */ li r0, 0
/* 803695F8 00366558 38 60 00 01 */ li r3, 1
/* 803695FC 0036655C 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369600 00366560 4E 80 00 20 */ blr
lbl_80369604:
/* 80369604 00366564 88 05 00 18 */ lbz r0, 0x18(r5)
/* 80369608 00366568 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8036960C 0036656C 41 82 00 0C */ beq lbl_80369618
/* 80369610 00366570 C0 84 00 18 */ lfs f4, 0x18(r4)
/* 80369614 00366574 48 00 00 08 */ b lbl_8036961C
lbl_80369618:
/* 80369618 00366578 C0 82 CD E0 */ lfs f4, lbl_805AEB00@sda21(r2)
lbl_8036961C:
/* 8036961C 0036657C C0 05 00 14 */ lfs f0, 0x14(r5)
/* 80369620 00366580 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 80369624 00366584 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80369628 00366588 40 80 00 30 */ bge lbl_80369658
/* 8036962C 0036658C EC 62 00 24 */ fdivs f3, f2, f0
/* 80369630 00366590 C0 42 CD E4 */ lfs f2, lbl_805AEB04@sda21(r2)
/* 80369634 00366594 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 80369638 00366598 EC 42 18 28 */ fsubs f2, f2, f3
/* 8036963C 0036659C EC 00 00 F2 */ fmuls f0, f0, f3
/* 80369640 003665A0 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 80369644 003665A4 D0 04 00 00 */ stfs f0, 0(r4)
/* 80369648 003665A8 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8036964C 003665AC EC 00 08 2A */ fadds f0, f0, f1
/* 80369650 003665B0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369654 003665B4 48 00 00 14 */ b lbl_80369668
lbl_80369658:
/* 80369658 003665B8 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 8036965C 003665BC 38 00 00 00 */ li r0, 0
/* 80369660 003665C0 D0 04 00 00 */ stfs f0, 0(r4)
/* 80369664 003665C4 90 04 00 20 */ stw r0, 0x20(r4)
lbl_80369668:
/* 80369668 003665C8 80 04 00 20 */ lwz r0, 0x20(r4)
/* 8036966C 003665CC 2C 00 00 05 */ cmpwi r0, 5
/* 80369670 003665D0 41 82 00 14 */ beq lbl_80369684
/* 80369674 003665D4 38 00 00 00 */ li r0, 0
/* 80369678 003665D8 38 60 00 01 */ li r3, 1
/* 8036967C 003665DC 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369680 003665E0 4E 80 00 20 */ blr
lbl_80369684:
/* 80369684 003665E4 88 05 00 18 */ lbz r0, 0x18(r5)
/* 80369688 003665E8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8036968C 003665EC 41 82 00 34 */ beq lbl_803696C0
/* 80369690 003665F0 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 80369694 003665F4 C0 05 00 04 */ lfs f0, 4(r5)
/* 80369698 003665F8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8036969C 003665FC 40 80 00 10 */ bge lbl_803696AC
/* 803696A0 00366600 EC 02 08 2A */ fadds f0, f2, f1
/* 803696A4 00366604 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 803696A8 00366608 48 00 00 18 */ b lbl_803696C0
lbl_803696AC:
/* 803696AC 0036660C 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803696B0 00366610 2C 00 00 04 */ cmpwi r0, 4
/* 803696B4 00366614 40 82 00 0C */ bne lbl_803696C0
/* 803696B8 00366618 38 00 00 05 */ li r0, 5
/* 803696BC 0036661C 90 04 00 20 */ stw r0, 0x20(r4)
lbl_803696C0:
/* 803696C0 00366620 38 60 00 00 */ li r3, 0
/* 803696C4 00366624 4E 80 00 20 */ blr
.global HardReset__12CRumbleVoiceFv
HardReset__12CRumbleVoiceFv:
/* 803696C8 00366628 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803696CC 0036662C 7C 08 02 A6 */ mflr r0
/* 803696D0 00366630 90 01 00 44 */ stw r0, 0x44(r1)
/* 803696D4 00366634 38 00 00 00 */ li r0, 0
/* 803696D8 00366638 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 803696DC 0036663C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 803696E0 00366640 3B C0 00 00 */ li r30, 0
/* 803696E4 00366644 93 A1 00 34 */ stw r29, 0x34(r1)
/* 803696E8 00366648 7C 7D 1B 78 */ mr r29, r3
/* 803696EC 0036664C 3B FD 00 24 */ addi r31, r29, 0x24
/* 803696F0 00366650 B0 03 00 2C */ sth r0, 0x2c(r3)
/* 803696F4 00366654 48 00 00 74 */ b lbl_80369768
lbl_803696F8:
/* 803696F8 00366658 38 61 00 08 */ addi r3, r1, 8
/* 803696FC 0036665C 48 00 05 AD */ bl Stopped__10SAdsrDeltaFv
/* 80369700 00366660 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 80369704 00366664 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 80369708 00366668 1C 83 00 24 */ mulli r4, r3, 0x24
/* 8036970C 0036666C 80 BD 00 1C */ lwz r5, 0x1c(r29)
/* 80369710 00366670 C0 01 00 08 */ lfs f0, 8(r1)
/* 80369714 00366674 38 60 00 00 */ li r3, 0
/* 80369718 00366678 3B DE 00 01 */ addi r30, r30, 1
/* 8036971C 0036667C 7C A5 22 14 */ add r5, r5, r4
/* 80369720 00366680 D0 05 00 00 */ stfs f0, 0(r5)
/* 80369724 00366684 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80369728 00366688 D0 05 00 04 */ stfs f0, 4(r5)
/* 8036972C 0036668C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80369730 00366690 D0 05 00 08 */ stfs f0, 8(r5)
/* 80369734 00366694 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80369738 00366698 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 8036973C 0036669C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369740 003666A0 D0 05 00 10 */ stfs f0, 0x10(r5)
/* 80369744 003666A4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80369748 003666A8 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 8036974C 003666AC C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80369750 003666B0 D0 05 00 18 */ stfs f0, 0x18(r5)
/* 80369754 003666B4 80 81 00 24 */ lwz r4, 0x24(r1)
/* 80369758 003666B8 90 85 00 1C */ stw r4, 0x1c(r5)
/* 8036975C 003666BC 80 81 00 28 */ lwz r4, 0x28(r1)
/* 80369760 003666C0 90 85 00 20 */ stw r4, 0x20(r5)
/* 80369764 003666C4 7C 7F 03 2E */ sthx r3, r31, r0
lbl_80369768:
/* 80369768 003666C8 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8036976C 003666CC 28 00 00 04 */ cmplwi r0, 4
/* 80369770 003666D0 41 80 FF 88 */ blt lbl_803696F8
/* 80369774 003666D4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369778 003666D8 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8036977C 003666DC 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80369780 003666E0 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 80369784 003666E4 7C 08 03 A6 */ mtlr r0
/* 80369788 003666E8 38 21 00 40 */ addi r1, r1, 0x40
/* 8036978C 003666EC 4E 80 00 20 */ blr
.global Deactivate__12CRumbleVoiceFsb
Deactivate__12CRumbleVoiceFsb:
/* 80369790 003666F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369794 003666F4 7C 08 02 A6 */ mflr r0
/* 80369798 003666F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036979C 003666FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803697A0 00366700 7C 9F 23 78 */ mr r31, r4
/* 803697A4 00366704 7F E0 07 34 */ extsh r0, r31
/* 803697A8 00366708 2C 00 FF FF */ cmpwi r0, -1
/* 803697AC 0036670C 93 C1 00 08 */ stw r30, 8(r1)
/* 803697B0 00366710 7C 7E 1B 78 */ mr r30, r3
/* 803697B4 00366714 41 82 00 40 */ beq lbl_803697F4
/* 803697B8 00366718 4B FF FA E5 */ bl OwnsSustained__12CRumbleVoiceCFs
/* 803697BC 0036671C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803697C0 00366720 40 82 00 08 */ bne lbl_803697C8
/* 803697C4 00366724 48 00 00 30 */ b lbl_803697F4
lbl_803697C8:
/* 803697C8 00366728 57 E3 07 3E */ clrlwi r3, r31, 0x1c
/* 803697CC 0036672C 38 00 00 01 */ li r0, 1
/* 803697D0 00366730 A0 9E 00 2C */ lhz r4, 0x2c(r30)
/* 803697D4 00366734 7C 00 18 30 */ slw r0, r0, r3
/* 803697D8 00366738 7C 80 00 39 */ and. r0, r4, r0
/* 803697DC 0036673C 41 82 00 18 */ beq lbl_803697F4
/* 803697E0 00366740 1C 63 00 24 */ mulli r3, r3, 0x24
/* 803697E4 00366744 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 803697E8 00366748 38 A0 00 05 */ li r5, 5
/* 803697EC 0036674C 38 03 00 20 */ addi r0, r3, 0x20
/* 803697F0 00366750 7C A4 01 2E */ stwx r5, r4, r0
lbl_803697F4:
/* 803697F4 00366754 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803697F8 00366758 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803697FC 0036675C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80369800 00366760 7C 08 03 A6 */ mtlr r0
/* 80369804 00366764 38 21 00 10 */ addi r1, r1, 0x10
/* 80369808 00366768 4E 80 00 20 */ blr
.global Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority
Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority:
/* 8036980C 0036676C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80369810 00366770 7C 08 02 A6 */ mflr r0
/* 80369814 00366774 90 01 00 64 */ stw r0, 0x64(r1)
/* 80369818 00366778 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 8036981C 0036677C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80369820 00366780 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 80369824 00366784 FF E0 08 90 */ fmr f31, f1
/* 80369828 00366788 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 8036982C 0036678C 7C 7C 1B 78 */ mr r28, r3
/* 80369830 00366790 7C 9D 23 78 */ mr r29, r4
/* 80369834 00366794 7C BE 2B 78 */ mr r30, r5
/* 80369838 00366798 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8036983C 0036679C 40 81 01 1C */ ble lbl_80369958
/* 80369840 003667A0 57 DB 04 3E */ clrlwi r27, r30, 0x10
/* 80369844 003667A4 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 80369848 003667A8 1F FB 00 1C */ mulli r31, r27, 0x1c
/* 8036984C 003667AC C0 1D 00 00 */ lfs f0, 0(r29)
/* 80369850 003667B0 7C C4 33 78 */ mr r4, r6
/* 80369854 003667B4 38 61 00 08 */ addi r3, r1, 8
/* 80369858 003667B8 7C A0 FA 14 */ add r5, r0, r31
/* 8036985C 003667BC D0 05 00 00 */ stfs f0, 0(r5)
/* 80369860 003667C0 C0 1D 00 04 */ lfs f0, 4(r29)
/* 80369864 003667C4 D0 05 00 04 */ stfs f0, 4(r5)
/* 80369868 003667C8 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8036986C 003667CC D0 05 00 08 */ stfs f0, 8(r5)
/* 80369870 003667D0 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80369874 003667D4 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80369878 003667D8 C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8036987C 003667DC D0 05 00 10 */ stfs f0, 0x10(r5)
/* 80369880 003667E0 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 80369884 003667E4 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 80369888 003667E8 88 1D 00 18 */ lbz r0, 0x18(r29)
/* 8036988C 003667EC 98 05 00 18 */ stb r0, 0x18(r5)
/* 80369890 003667F0 A0 1C 00 2C */ lhz r0, 0x2c(r28)
/* 80369894 003667F4 7C 00 00 34 */ cntlzw r0, r0
/* 80369898 003667F8 54 05 DE 3E */ rlwinm r5, r0, 0x1b, 0x18, 0x1f
/* 8036989C 003667FC 48 00 04 31 */ bl Start__10SAdsrDeltaF15ERumblePriorityb
/* 803698A0 00366800 1C DB 00 24 */ mulli r6, r27, 0x24
/* 803698A4 00366804 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 803698A8 00366808 38 00 00 01 */ li r0, 1
/* 803698AC 0036680C C0 01 00 08 */ lfs f0, 8(r1)
/* 803698B0 00366810 38 BF 00 10 */ addi r5, r31, 0x10
/* 803698B4 00366814 7C E3 32 14 */ add r7, r3, r6
/* 803698B8 00366818 D0 07 00 00 */ stfs f0, 0(r7)
/* 803698BC 0036681C 38 86 00 14 */ addi r4, r6, 0x14
/* 803698C0 00366820 38 66 00 18 */ addi r3, r6, 0x18
/* 803698C4 00366824 7C 00 D8 30 */ slw r0, r0, r27
/* 803698C8 00366828 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 803698CC 0036682C D0 07 00 04 */ stfs f0, 4(r7)
/* 803698D0 00366830 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 803698D4 00366834 D0 07 00 08 */ stfs f0, 8(r7)
/* 803698D8 00366838 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 803698DC 0036683C D0 07 00 0C */ stfs f0, 0xc(r7)
/* 803698E0 00366840 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 803698E4 00366844 D0 07 00 10 */ stfs f0, 0x10(r7)
/* 803698E8 00366848 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 803698EC 0036684C D0 07 00 14 */ stfs f0, 0x14(r7)
/* 803698F0 00366850 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 803698F4 00366854 D0 07 00 18 */ stfs f0, 0x18(r7)
/* 803698F8 00366858 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 803698FC 0036685C 90 C7 00 1C */ stw r6, 0x1c(r7)
/* 80369900 00366860 80 C1 00 28 */ lwz r6, 0x28(r1)
/* 80369904 00366864 90 C7 00 20 */ stw r6, 0x20(r7)
/* 80369908 00366868 80 FC 00 0C */ lwz r7, 0xc(r28)
/* 8036990C 0036686C 80 DC 00 1C */ lwz r6, 0x1c(r28)
/* 80369910 00366870 7C 07 FC 2E */ lfsx f0, r7, r31
/* 80369914 00366874 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80369918 00366878 7C 06 25 2E */ stfsx f0, r6, r4
/* 8036991C 0036687C 80 DC 00 0C */ lwz r6, 0xc(r28)
/* 80369920 00366880 80 9C 00 1C */ lwz r4, 0x1c(r28)
/* 80369924 00366884 7C 06 2C 2E */ lfsx f0, r6, r5
/* 80369928 00366888 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8036992C 0036688C 7C 04 1D 2E */ stfsx f0, r4, r3
/* 80369930 00366890 A0 7C 00 2C */ lhz r3, 0x2c(r28)
/* 80369934 00366894 7C 60 03 78 */ or r0, r3, r0
/* 80369938 00366898 B0 1C 00 2C */ sth r0, 0x2c(r28)
/* 8036993C 0036689C 88 1D 00 18 */ lbz r0, 0x18(r29)
/* 80369940 003668A0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80369944 003668A4 41 82 00 14 */ beq lbl_80369958
/* 80369948 003668A8 7F 83 E3 78 */ mr r3, r28
/* 8036994C 003668AC 7F C4 F3 78 */ mr r4, r30
/* 80369950 003668B0 4B FF F9 01 */ bl CreateRumbleHandle__12CRumbleVoiceFs
/* 80369954 003668B4 48 00 00 08 */ b lbl_8036995C
lbl_80369958:
/* 80369958 003668B8 38 60 FF FF */ li r3, -1
lbl_8036995C:
/* 8036995C 003668BC E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80369960 003668C0 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80369964 003668C4 BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 80369968 003668C8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8036996C 003668CC 7C 08 03 A6 */ mtlr r0
/* 80369970 003668D0 38 21 00 60 */ addi r1, r1, 0x60
/* 80369974 003668D4 4E 80 00 20 */ blr
.global __ct__12CRumbleVoiceFv
__ct__12CRumbleVoiceFv:
/* 80369978 003668D8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8036997C 003668DC 7C 08 02 A6 */ mflr r0
/* 80369980 003668E0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80369984 003668E4 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80369988 003668E8 7C 7F 1B 78 */ mr r31, r3
/* 8036998C 003668EC 38 61 00 08 */ addi r3, r1, 8
/* 80369990 003668F0 48 00 02 7D */ bl __ct__9SAdsrDataFv
/* 80369994 003668F4 38 00 00 04 */ li r0, 4
/* 80369998 003668F8 90 1F 00 04 */ stw r0, 4(r31)
/* 8036999C 003668FC 90 1F 00 08 */ stw r0, 8(r31)
/* 803699A0 00366900 80 1F 00 04 */ lwz r0, 4(r31)
/* 803699A4 00366904 1C 60 00 1C */ mulli r3, r0, 0x1c
/* 803699A8 00366908 2C 03 00 00 */ cmpwi r3, 0
/* 803699AC 0036690C 40 82 00 10 */ bne lbl_803699BC
/* 803699B0 00366910 38 00 00 00 */ li r0, 0
/* 803699B4 00366914 90 1F 00 0C */ stw r0, 0xc(r31)
/* 803699B8 00366918 48 00 00 18 */ b lbl_803699D0
lbl_803699BC:
/* 803699BC 0036691C 3C 80 80 3E */ lis r4, lbl_803D8540@ha
/* 803699C0 00366920 38 A0 00 00 */ li r5, 0
/* 803699C4 00366924 38 84 85 40 */ addi r4, r4, lbl_803D8540@l
/* 803699C8 00366928 4B FA BE 51 */ bl __nwa__FUlPCcPCc
/* 803699CC 0036692C 90 7F 00 0C */ stw r3, 0xc(r31)
lbl_803699D0:
/* 803699D0 00366930 38 00 00 02 */ li r0, 2
/* 803699D4 00366934 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803699D8 00366938 38 60 00 00 */ li r3, 0
/* 803699DC 0036693C 7C 09 03 A6 */ mtctr r0
lbl_803699E0:
/* 803699E0 00366940 28 04 00 00 */ cmplwi r4, 0
/* 803699E4 00366944 41 82 00 3C */ beq lbl_80369A20
/* 803699E8 00366948 C0 01 00 08 */ lfs f0, 8(r1)
/* 803699EC 0036694C D0 04 00 00 */ stfs f0, 0(r4)
/* 803699F0 00366950 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 803699F4 00366954 D0 04 00 04 */ stfs f0, 4(r4)
/* 803699F8 00366958 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 803699FC 0036695C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369A00 00366960 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80369A04 00366964 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369A08 00366968 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369A0C 0036696C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369A10 00366970 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80369A14 00366974 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369A18 00366978 88 01 00 20 */ lbz r0, 0x20(r1)
/* 80369A1C 0036697C 98 04 00 18 */ stb r0, 0x18(r4)
lbl_80369A20:
/* 80369A20 00366980 34 84 00 1C */ addic. r4, r4, 0x1c
/* 80369A24 00366984 41 82 00 3C */ beq lbl_80369A60
/* 80369A28 00366988 C0 01 00 08 */ lfs f0, 8(r1)
/* 80369A2C 0036698C D0 04 00 00 */ stfs f0, 0(r4)
/* 80369A30 00366990 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80369A34 00366994 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369A38 00366998 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80369A3C 0036699C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369A40 003669A0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80369A44 003669A4 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369A48 003669A8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369A4C 003669AC D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369A50 003669B0 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80369A54 003669B4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369A58 003669B8 88 01 00 20 */ lbz r0, 0x20(r1)
/* 80369A5C 003669BC 98 04 00 18 */ stb r0, 0x18(r4)
lbl_80369A60:
/* 80369A60 003669C0 38 63 00 01 */ addi r3, r3, 1
/* 80369A64 003669C4 38 84 00 1C */ addi r4, r4, 0x1c
/* 80369A68 003669C8 42 00 FF 78 */ bdnz lbl_803699E0
/* 80369A6C 003669CC 38 61 00 24 */ addi r3, r1, 0x24
/* 80369A70 003669D0 48 00 02 39 */ bl Stopped__10SAdsrDeltaFv
/* 80369A74 003669D4 38 00 00 04 */ li r0, 4
/* 80369A78 003669D8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80369A7C 003669DC 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80369A80 003669E0 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 80369A84 003669E4 1C 60 00 24 */ mulli r3, r0, 0x24
/* 80369A88 003669E8 2C 03 00 00 */ cmpwi r3, 0
/* 80369A8C 003669EC 40 82 00 10 */ bne lbl_80369A9C
/* 80369A90 003669F0 38 00 00 00 */ li r0, 0
/* 80369A94 003669F4 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 80369A98 003669F8 48 00 00 18 */ b lbl_80369AB0
lbl_80369A9C:
/* 80369A9C 003669FC 3C 80 80 3E */ lis r4, lbl_803D8540@ha
/* 80369AA0 00366A00 38 A0 00 00 */ li r5, 0
/* 80369AA4 00366A04 38 84 85 40 */ addi r4, r4, lbl_803D8540@l
/* 80369AA8 00366A08 4B FA BD 71 */ bl __nwa__FUlPCcPCc
/* 80369AAC 00366A0C 90 7F 00 1C */ stw r3, 0x1c(r31)
lbl_80369AB0:
/* 80369AB0 00366A10 38 00 00 02 */ li r0, 2
/* 80369AB4 00366A14 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 80369AB8 00366A18 38 60 00 00 */ li r3, 0
/* 80369ABC 00366A1C 7C 09 03 A6 */ mtctr r0
lbl_80369AC0:
/* 80369AC0 00366A20 28 04 00 00 */ cmplwi r4, 0
/* 80369AC4 00366A24 41 82 00 4C */ beq lbl_80369B10
/* 80369AC8 00366A28 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80369ACC 00366A2C D0 04 00 00 */ stfs f0, 0(r4)
/* 80369AD0 00366A30 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80369AD4 00366A34 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369AD8 00366A38 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80369ADC 00366A3C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369AE0 00366A40 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80369AE4 00366A44 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369AE8 00366A48 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80369AEC 00366A4C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369AF0 00366A50 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80369AF4 00366A54 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369AF8 00366A58 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80369AFC 00366A5C D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80369B00 00366A60 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80369B04 00366A64 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80369B08 00366A68 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369B0C 00366A6C 90 04 00 20 */ stw r0, 0x20(r4)
lbl_80369B10:
/* 80369B10 00366A70 34 84 00 24 */ addic. r4, r4, 0x24
/* 80369B14 00366A74 41 82 00 4C */ beq lbl_80369B60
/* 80369B18 00366A78 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80369B1C 00366A7C D0 04 00 00 */ stfs f0, 0(r4)
/* 80369B20 00366A80 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80369B24 00366A84 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369B28 00366A88 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80369B2C 00366A8C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369B30 00366A90 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80369B34 00366A94 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369B38 00366A98 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80369B3C 00366A9C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369B40 00366AA0 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80369B44 00366AA4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369B48 00366AA8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80369B4C 00366AAC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80369B50 00366AB0 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80369B54 00366AB4 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80369B58 00366AB8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369B5C 00366ABC 90 04 00 20 */ stw r0, 0x20(r4)
lbl_80369B60:
/* 80369B60 00366AC0 38 63 00 01 */ addi r3, r3, 1
/* 80369B64 00366AC4 38 84 00 24 */ addi r4, r4, 0x24
/* 80369B68 00366AC8 42 00 FF 58 */ bdnz lbl_80369AC0
/* 80369B6C 00366ACC 38 00 00 04 */ li r0, 4
/* 80369B70 00366AD0 34 7F 00 24 */ addic. r3, r31, 0x24
/* 80369B74 00366AD4 90 1F 00 20 */ stw r0, 0x20(r31)
/* 80369B78 00366AD8 41 82 00 0C */ beq lbl_80369B84
/* 80369B7C 00366ADC A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369B80 00366AE0 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369B84:
/* 80369B84 00366AE4 34 63 00 02 */ addic. r3, r3, 2
/* 80369B88 00366AE8 41 82 00 0C */ beq lbl_80369B94
/* 80369B8C 00366AEC A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369B90 00366AF0 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369B94:
/* 80369B94 00366AF4 34 63 00 02 */ addic. r3, r3, 2
/* 80369B98 00366AF8 41 82 00 0C */ beq lbl_80369BA4
/* 80369B9C 00366AFC A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369BA0 00366B00 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369BA4:
/* 80369BA4 00366B04 34 63 00 02 */ addic. r3, r3, 2
/* 80369BA8 00366B08 41 82 00 0C */ beq lbl_80369BB4
/* 80369BAC 00366B0C A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369BB0 00366B10 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369BB4:
/* 80369BB4 00366B14 38 00 00 00 */ li r0, 0
/* 80369BB8 00366B18 7F E3 FB 78 */ mr r3, r31
/* 80369BBC 00366B1C B0 1F 00 2C */ sth r0, 0x2c(r31)
/* 80369BC0 00366B20 98 1F 00 2E */ stb r0, 0x2e(r31)
/* 80369BC4 00366B24 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80369BC8 00366B28 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80369BCC 00366B2C 7C 08 03 A6 */ mtlr r0
/* 80369BD0 00366B30 38 21 00 50 */ addi r1, r1, 0x50
/* 80369BD4 00366B34 4E 80 00 20 */ blr
.section .sdata2, "a"
.global lbl_805AEAF8
lbl_805AEAF8:
# ROM: 0x3FB398
.float 2.0
.global lbl_805AEAFC
lbl_805AEAFC:
# ROM: 0x3FB39C
.4byte 0x3D088889
.global lbl_805AEB00
lbl_805AEB00:
# ROM: 0x3FB3A0
.4byte 0
.global lbl_805AEB04
lbl_805AEB04:
# ROM: 0x3FB3A4
.float 1.0