.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global GetInstance__Q44nw4r3snd6detail14ChannelManagerFv GetInstance__Q44nw4r3snd6detail14ChannelManagerFv: /* 8036E198 00369DF8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036E19C 00369DFC 7C 08 02 A6 */ mflr r0 /* 8036E1A0 00369E00 90 01 00 14 */ stw r0, 0x14(r1) /* 8036E1A4 00369E04 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036E1A8 00369E08 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036E1AC 00369E0C 7C 00 07 75 */ extsb. r0, r0 /* 8036E1B0 00369E10 40 82 00 5C */ bne lbl_8036E20C /* 8036E1B4 00369E14 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036E1B8 00369E18 38 00 00 00 */ li r0, 0 /* 8036E1BC 00369E1C 3B E3 19 88 */ addi r31, r3, lbl_80621988@l /* 8036E1C0 00369E20 90 03 19 88 */ stw r0, 0x1988(r3) /* 8036E1C4 00369E24 38 9F 00 08 */ addi r4, r31, 8 /* 8036E1C8 00369E28 90 1F 00 08 */ stw r0, 8(r31) /* 8036E1CC 00369E2C 38 7F 00 20 */ addi r3, r31, 0x20 /* 8036E1D0 00369E30 90 1F 00 0C */ stw r0, 0xc(r31) /* 8036E1D4 00369E34 90 1F 00 04 */ stw r0, 4(r31) /* 8036E1D8 00369E38 90 9F 00 08 */ stw r4, 8(r31) /* 8036E1DC 00369E3C 90 9F 00 0C */ stw r4, 0xc(r31) /* 8036E1E0 00369E40 98 1F 00 10 */ stb r0, 0x10(r31) /* 8036E1E4 00369E44 90 1F 00 14 */ stw r0, 0x14(r31) /* 8036E1E8 00369E48 4B F0 17 29 */ bl OSInitMutex /* 8036E1EC 00369E4C 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036E1F0 00369E50 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036E1F4 00369E54 7F E3 FB 78 */ mr r3, r31 /* 8036E1F8 00369E58 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036E1FC 00369E5C 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036E200 00369E60 4B E5 8A 49 */ bl __register_global_object_tmp /* 8036E204 00369E64 38 00 00 01 */ li r0, 1 /* 8036E208 00369E68 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13) lbl_8036E20C: /* 8036E20C 00369E6C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8036E210 00369E70 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036E214 00369E74 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036E218 00369E78 38 63 19 88 */ addi r3, r3, lbl_80621988@l /* 8036E21C 00369E7C 7C 08 03 A6 */ mtlr r0 /* 8036E220 00369E80 38 21 00 10 */ addi r1, r1, 0x10 /* 8036E224 00369E84 4E 80 00 20 */ blr .global __dt__Q44nw4r3snd6detail14ChannelManagerFv __dt__Q44nw4r3snd6detail14ChannelManagerFv: /* 8036E228 00369E88 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036E22C 00369E8C 7C 08 02 A6 */ mflr r0 /* 8036E230 00369E90 2C 03 00 00 */ cmpwi r3, 0 /* 8036E234 00369E94 90 01 00 14 */ stw r0, 0x14(r1) /* 8036E238 00369E98 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036E23C 00369E9C 7C 9F 23 78 */ mr r31, r4 /* 8036E240 00369EA0 93 C1 00 08 */ stw r30, 8(r1) /* 8036E244 00369EA4 7C 7E 1B 78 */ mr r30, r3 /* 8036E248 00369EA8 41 82 00 24 */ beq lbl_8036E26C /* 8036E24C 00369EAC 34 63 00 04 */ addic. r3, r3, 4 /* 8036E250 00369EB0 41 82 00 0C */ beq lbl_8036E25C /* 8036E254 00369EB4 38 80 00 00 */ li r4, 0 /* 8036E258 00369EB8 4B FF 48 E1 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv lbl_8036E25C: /* 8036E25C 00369EBC 2C 1F 00 00 */ cmpwi r31, 0 /* 8036E260 00369EC0 40 81 00 0C */ ble lbl_8036E26C /* 8036E264 00369EC4 7F C3 F3 78 */ mr r3, r30 /* 8036E268 00369EC8 4B E6 C8 51 */ bl __dl__FPv lbl_8036E26C: /* 8036E26C 00369ECC 7F C3 F3 78 */ mr r3, r30 /* 8036E270 00369ED0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8036E274 00369ED4 83 C1 00 08 */ lwz r30, 8(r1) /* 8036E278 00369ED8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036E27C 00369EDC 7C 08 03 A6 */ mtlr r0 /* 8036E280 00369EE0 38 21 00 10 */ addi r1, r1, 0x10 /* 8036E284 00369EE4 4E 80 00 20 */ blr .global GetRequiredMemSize__Q44nw4r3snd6detail14ChannelManagerFv GetRequiredMemSize__Q44nw4r3snd6detail14ChannelManagerFv: /* 8036E288 00369EE8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036E28C 00369EEC 7C 08 02 A6 */ mflr r0 /* 8036E290 00369EF0 90 01 00 14 */ stw r0, 0x14(r1) /* 8036E294 00369EF4 4B F2 40 89 */ bl AXGetMaxVoices /* 8036E298 00369EF8 38 03 00 01 */ addi r0, r3, 1 /* 8036E29C 00369EFC 1C 60 00 EC */ mulli r3, r0, 0xec /* 8036E2A0 00369F00 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036E2A4 00369F04 7C 08 03 A6 */ mtlr r0 /* 8036E2A8 00369F08 38 21 00 10 */ addi r1, r1, 0x10 /* 8036E2AC 00369F0C 4E 80 00 20 */ blr .global Setup__Q44nw4r3snd6detail14ChannelManagerFPvUl Setup__Q44nw4r3snd6detail14ChannelManagerFPvUl: /* 8036E2B0 00369F10 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036E2B4 00369F14 7C 08 02 A6 */ mflr r0 /* 8036E2B8 00369F18 90 01 00 24 */ stw r0, 0x24(r1) /* 8036E2BC 00369F1C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8036E2C0 00369F20 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036E2C4 00369F24 7C BE 2B 78 */ mr r30, r5 /* 8036E2C8 00369F28 93 A1 00 14 */ stw r29, 0x14(r1) /* 8036E2CC 00369F2C 7C 9D 23 78 */ mr r29, r4 /* 8036E2D0 00369F30 93 81 00 10 */ stw r28, 0x10(r1) /* 8036E2D4 00369F34 7C 7C 1B 78 */ mr r28, r3 /* 8036E2D8 00369F38 4B F0 04 85 */ bl OSDisableInterrupts /* 8036E2DC 00369F3C 88 1C 00 10 */ lbz r0, 0x10(r28) /* 8036E2E0 00369F40 7C 7F 1B 78 */ mr r31, r3 /* 8036E2E4 00369F44 2C 00 00 00 */ cmpwi r0, 0 /* 8036E2E8 00369F48 41 82 00 0C */ beq lbl_8036E2F4 /* 8036E2EC 00369F4C 4B F0 04 99 */ bl OSRestoreInterrupts /* 8036E2F0 00369F50 48 00 00 34 */ b lbl_8036E324 lbl_8036E2F4: /* 8036E2F4 00369F54 7F 83 E3 78 */ mr r3, r28 /* 8036E2F8 00369F58 7F A4 EB 78 */ mr r4, r29 /* 8036E2FC 00369F5C 7F C5 F3 78 */ mr r5, r30 /* 8036E300 00369F60 38 C0 00 EC */ li r6, 0xec /* 8036E304 00369F64 48 00 36 41 */ bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl /* 8036E308 00369F68 38 00 00 01 */ li r0, 1 /* 8036E30C 00369F6C 90 7C 00 14 */ stw r3, 0x14(r28) /* 8036E310 00369F70 7F E3 FB 78 */ mr r3, r31 /* 8036E314 00369F74 93 BC 00 18 */ stw r29, 0x18(r28) /* 8036E318 00369F78 93 DC 00 1C */ stw r30, 0x1c(r28) /* 8036E31C 00369F7C 98 1C 00 10 */ stb r0, 0x10(r28) /* 8036E320 00369F80 4B F0 04 65 */ bl OSRestoreInterrupts lbl_8036E324: /* 8036E324 00369F84 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036E328 00369F88 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8036E32C 00369F8C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8036E330 00369F90 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8036E334 00369F94 83 81 00 10 */ lwz r28, 0x10(r1) /* 8036E338 00369F98 7C 08 03 A6 */ mtlr r0 /* 8036E33C 00369F9C 38 21 00 20 */ addi r1, r1, 0x20 /* 8036E340 00369FA0 4E 80 00 20 */ blr .global __ct__Q44nw4r3snd6detail7ChannelFv __ct__Q44nw4r3snd6detail7ChannelFv: /* 8036E344 00369FA4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036E348 00369FA8 7C 08 02 A6 */ mflr r0 /* 8036E34C 00369FAC 90 01 00 24 */ stw r0, 0x24(r1) /* 8036E350 00369FB0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8036E354 00369FB4 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036E358 00369FB8 7C 7E 1B 78 */ mr r30, r3 /* 8036E35C 00369FBC 93 A1 00 14 */ stw r29, 0x14(r1) /* 8036E360 00369FC0 3B A3 00 20 */ addi r29, r3, 0x20 /* 8036E364 00369FC4 7F A3 EB 78 */ mr r3, r29 /* 8036E368 00369FC8 4B F0 15 E1 */ bl OSLockMutex /* 8036E36C 00369FCC 87 FE 00 08 */ lwzu r31, 8(r30) /* 8036E370 00369FD0 48 00 00 18 */ b lbl_8036E388 lbl_8036E374: /* 8036E374 00369FD4 7F E3 FB 78 */ mr r3, r31 /* 8036E378 00369FD8 83 FF 00 00 */ lwz r31, 0(r31) /* 8036E37C 00369FDC 38 63 FF 1C */ addi r3, r3, -228 /* 8036E380 00369FE0 38 80 00 01 */ li r4, 1 /* 8036E384 00369FE4 48 00 01 49 */ bl Update__Q44nw4r3snd6detail7ChannelFb lbl_8036E388: /* 8036E388 00369FE8 7C 1F F0 40 */ cmplw r31, r30 /* 8036E38C 00369FEC 40 82 FF E8 */ bne lbl_8036E374 /* 8036E390 00369FF0 7F A3 EB 78 */ mr r3, r29 /* 8036E394 00369FF4 4B F0 16 91 */ bl OSUnlockMutex /* 8036E398 00369FF8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036E39C 00369FFC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8036E3A0 0036A000 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8036E3A4 0036A004 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8036E3A8 0036A008 7C 08 03 A6 */ mtlr r0 /* 8036E3AC 0036A00C 38 21 00 20 */ addi r1, r1, 0x20 /* 8036E3B0 0036A010 4E 80 00 20 */ blr .global InitParam__Q44nw4r3snd6detail7ChannelFPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl InitParam__Q44nw4r3snd6detail7ChannelFPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl: /* 8036E3B4 0036A014 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036E3B8 0036A018 7C 08 02 A6 */ mflr r0 /* 8036E3BC 0036A01C C0 02 A5 C0 */ lfs f0, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E3C0 0036A020 38 E0 00 01 */ li r7, 1 /* 8036E3C4 0036A024 90 01 00 14 */ stw r0, 0x14(r1) /* 8036E3C8 0036A028 38 C0 00 3C */ li r6, 0x3c /* 8036E3CC 0036A02C C0 42 A5 C4 */ lfs f2, lbl_80642BC4-_SDA2_BASE_(r2) /* 8036E3D0 0036A030 38 00 00 FF */ li r0, 0xff /* 8036E3D4 0036A034 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036E3D8 0036A038 3B E0 00 00 */ li r31, 0 /* 8036E3DC 0036A03C C0 22 A5 E8 */ lfs f1, lbl_80642BE8-_SDA2_BASE_(r2) /* 8036E3E0 0036A040 93 C1 00 08 */ stw r30, 8(r1) /* 8036E3E4 0036A044 7C 7E 1B 78 */ mr r30, r3 /* 8036E3E8 0036A048 93 E3 00 E0 */ stw r31, 0xe0(r3) /* 8036E3EC 0036A04C 90 83 00 D4 */ stw r4, 0xd4(r3) /* 8036E3F0 0036A050 90 A3 00 D8 */ stw r5, 0xd8(r3) /* 8036E3F4 0036A054 9B E3 00 31 */ stb r31, 0x31(r3) /* 8036E3F8 0036A058 98 E3 00 34 */ stb r7, 0x34(r3) /* 8036E3FC 0036A05C 9B E3 00 35 */ stb r31, 0x35(r3) /* 8036E400 0036A060 93 E3 00 C8 */ stw r31, 0xc8(r3) /* 8036E404 0036A064 90 C3 00 C0 */ stw r6, 0xc0(r3) /* 8036E408 0036A068 90 C3 00 C4 */ stw r6, 0xc4(r3) /* 8036E40C 0036A06C D0 43 00 A8 */ stfs f2, 0xa8(r3) /* 8036E410 0036A070 D0 03 00 AC */ stfs f0, 0xac(r3) /* 8036E414 0036A074 D0 03 00 B0 */ stfs f0, 0xb0(r3) /* 8036E418 0036A078 D0 43 00 B4 */ stfs f2, 0xb4(r3) /* 8036E41C 0036A07C D0 43 00 38 */ stfs f2, 0x38(r3) /* 8036E420 0036A080 D0 03 00 98 */ stfs f0, 0x98(r3) /* 8036E424 0036A084 D0 43 00 3C */ stfs f2, 0x3c(r3) /* 8036E428 0036A088 D0 03 00 40 */ stfs f0, 0x40(r3) /* 8036E42C 0036A08C D0 03 00 44 */ stfs f0, 0x44(r3) /* 8036E430 0036A090 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8036E434 0036A094 93 E3 00 4C */ stw r31, 0x4c(r3) /* 8036E438 0036A098 90 E3 00 50 */ stw r7, 0x50(r3) /* 8036E43C 0036A09C D0 43 00 54 */ stfs f2, 0x54(r3) /* 8036E440 0036A0A0 D0 03 00 58 */ stfs f0, 0x58(r3) /* 8036E444 0036A0A4 D0 03 00 5C */ stfs f0, 0x5c(r3) /* 8036E448 0036A0A8 D0 03 00 60 */ stfs f0, 0x60(r3) /* 8036E44C 0036A0AC D0 03 00 64 */ stfs f0, 0x64(r3) /* 8036E450 0036A0B0 D0 43 00 68 */ stfs f2, 0x68(r3) /* 8036E454 0036A0B4 D0 03 00 78 */ stfs f0, 0x78(r3) /* 8036E458 0036A0B8 D0 03 00 88 */ stfs f0, 0x88(r3) /* 8036E45C 0036A0BC D0 43 00 6C */ stfs f2, 0x6c(r3) /* 8036E460 0036A0C0 D0 03 00 7C */ stfs f0, 0x7c(r3) /* 8036E464 0036A0C4 D0 03 00 8C */ stfs f0, 0x8c(r3) /* 8036E468 0036A0C8 D0 43 00 70 */ stfs f2, 0x70(r3) /* 8036E46C 0036A0CC D0 03 00 80 */ stfs f0, 0x80(r3) /* 8036E470 0036A0D0 D0 03 00 90 */ stfs f0, 0x90(r3) /* 8036E474 0036A0D4 D0 43 00 74 */ stfs f2, 0x74(r3) /* 8036E478 0036A0D8 D0 03 00 84 */ stfs f0, 0x84(r3) /* 8036E47C 0036A0DC D0 03 00 94 */ stfs f0, 0x94(r3) /* 8036E480 0036A0E0 98 03 00 B8 */ stb r0, 0xb8(r3) /* 8036E484 0036A0E4 98 03 00 B9 */ stb r0, 0xb9(r3) /* 8036E488 0036A0E8 B3 E3 00 BA */ sth r31, 0xba(r3) /* 8036E48C 0036A0EC B3 E3 00 BC */ sth r31, 0xbc(r3) /* 8036E490 0036A0F0 D0 03 00 9C */ stfs f0, 0x9c(r3) /* 8036E494 0036A0F4 93 E3 00 A4 */ stw r31, 0xa4(r3) /* 8036E498 0036A0F8 93 E3 00 A0 */ stw r31, 0xa0(r3) /* 8036E49C 0036A0FC 48 00 17 DD */ bl Init__Q44nw4r3snd6detail12EnvGeneratorFf /* 8036E4A0 0036A100 38 7E 00 18 */ addi r3, r30, 0x18 /* 8036E4A4 0036A104 48 00 37 59 */ bl Init__Q44nw4r3snd6detail8LfoParamFv /* 8036E4A8 0036A108 9B FE 00 30 */ stb r31, 0x30(r30) /* 8036E4AC 0036A10C 93 FE 00 CC */ stw r31, 0xcc(r30) /* 8036E4B0 0036A110 93 FE 00 D0 */ stw r31, 0xd0(r30) /* 8036E4B4 0036A114 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8036E4B8 0036A118 83 C1 00 08 */ lwz r30, 8(r1) /* 8036E4BC 0036A11C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036E4C0 0036A120 7C 08 03 A6 */ mtlr r0 /* 8036E4C4 0036A124 38 21 00 10 */ addi r1, r1, 0x10 /* 8036E4C8 0036A128 4E 80 00 20 */ blr .global Update__Q44nw4r3snd6detail7ChannelFb Update__Q44nw4r3snd6detail7ChannelFb: /* 8036E4CC 0036A12C 94 21 FE D0 */ stwu r1, -0x130(r1) /* 8036E4D0 0036A130 7C 08 02 A6 */ mflr r0 /* 8036E4D4 0036A134 90 01 01 34 */ stw r0, 0x134(r1) /* 8036E4D8 0036A138 DB E1 01 20 */ stfd f31, 0x120(r1) /* 8036E4DC 0036A13C F3 E1 01 28 */ psq_st f31, 296(r1), 0, qr0 /* 8036E4E0 0036A140 DB C1 01 10 */ stfd f30, 0x110(r1) /* 8036E4E4 0036A144 F3 C1 01 18 */ psq_st f30, 280(r1), 0, qr0 /* 8036E4E8 0036A148 DB A1 01 00 */ stfd f29, 0x100(r1) /* 8036E4EC 0036A14C F3 A1 01 08 */ psq_st f29, 264(r1), 0, qr0 /* 8036E4F0 0036A150 DB 81 00 F0 */ stfd f28, 0xf0(r1) /* 8036E4F4 0036A154 F3 81 00 F8 */ psq_st f28, 248(r1), 0, qr0 /* 8036E4F8 0036A158 DB 61 00 E0 */ stfd f27, 0xe0(r1) /* 8036E4FC 0036A15C F3 61 00 E8 */ psq_st f27, 232(r1), 0, qr0 /* 8036E500 0036A160 DB 41 00 D0 */ stfd f26, 0xd0(r1) /* 8036E504 0036A164 F3 41 00 D8 */ psq_st f26, 216(r1), 0, qr0 /* 8036E508 0036A168 DB 21 00 C0 */ stfd f25, 0xc0(r1) /* 8036E50C 0036A16C F3 21 00 C8 */ psq_st f25, 200(r1), 0, qr0 /* 8036E510 0036A170 DB 01 00 B0 */ stfd f24, 0xb0(r1) /* 8036E514 0036A174 F3 01 00 B8 */ psq_st f24, 184(r1), 0, qr0 /* 8036E518 0036A178 DA E1 00 A0 */ stfd f23, 0xa0(r1) /* 8036E51C 0036A17C F2 E1 00 A8 */ psq_st f23, 168(r1), 0, qr0 /* 8036E520 0036A180 DA C1 00 90 */ stfd f22, 0x90(r1) /* 8036E524 0036A184 F2 C1 00 98 */ psq_st f22, 152(r1), 0, qr0 /* 8036E528 0036A188 DA A1 00 80 */ stfd f21, 0x80(r1) /* 8036E52C 0036A18C F2 A1 00 88 */ psq_st f21, 136(r1), 0, qr0 /* 8036E530 0036A190 DA 81 00 70 */ stfd f20, 0x70(r1) /* 8036E534 0036A194 F2 81 00 78 */ psq_st f20, 120(r1), 0, qr0 /* 8036E538 0036A198 3C A0 43 30 */ lis r5, 0x4330 /* 8036E53C 0036A19C 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8036E540 0036A1A0 7C 9F 23 78 */ mr r31, r4 /* 8036E544 0036A1A4 93 C1 00 68 */ stw r30, 0x68(r1) /* 8036E548 0036A1A8 7C 7E 1B 78 */ mr r30, r3 /* 8036E54C 0036A1AC 93 A1 00 64 */ stw r29, 0x64(r1) /* 8036E550 0036A1B0 93 81 00 60 */ stw r28, 0x60(r1) /* 8036E554 0036A1B4 88 03 00 32 */ lbz r0, 0x32(r3) /* 8036E558 0036A1B8 90 A1 00 48 */ stw r5, 0x48(r1) /* 8036E55C 0036A1BC 2C 00 00 00 */ cmpwi r0, 0 /* 8036E560 0036A1C0 90 A1 00 50 */ stw r5, 0x50(r1) /* 8036E564 0036A1C4 41 82 06 7C */ beq lbl_8036EBE0 /* 8036E568 0036A1C8 88 03 00 31 */ lbz r0, 0x31(r3) /* 8036E56C 0036A1CC 2C 00 00 00 */ cmpwi r0, 0 /* 8036E570 0036A1D0 41 82 00 08 */ beq lbl_8036E578 /* 8036E574 0036A1D4 3B E0 00 00 */ li r31, 0 lbl_8036E578: /* 8036E578 0036A1D8 38 63 00 18 */ addi r3, r3, 0x18 /* 8036E57C 0036A1DC 48 00 37 55 */ bl GetValue__Q44nw4r3snd6detail3LfoCFv /* 8036E580 0036A1E0 A0 7E 00 BC */ lhz r3, 0xbc(r30) /* 8036E584 0036A1E4 FF E0 08 90 */ fmr f31, f1 /* 8036E588 0036A1E8 A0 1E 00 BA */ lhz r0, 0xba(r30) /* 8036E58C 0036A1EC 7C 03 00 40 */ cmplw r3, r0 /* 8036E590 0036A1F0 40 80 00 0C */ bge lbl_8036E59C /* 8036E594 0036A1F4 38 03 00 01 */ addi r0, r3, 1 /* 8036E598 0036A1F8 B0 1E 00 BC */ sth r0, 0xbc(r30) lbl_8036E59C: /* 8036E59C 0036A1FC C3 C2 A5 C4 */ lfs f30, lbl_80642BC4-_SDA2_BASE_(r2) /* 8036E5A0 0036A200 C0 3E 00 A8 */ lfs f1, 0xa8(r30) /* 8036E5A4 0036A204 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 8036E5A8 0036A208 EF DE 00 72 */ fmuls f30, f30, f1 /* 8036E5AC 0036A20C A0 9E 00 BA */ lhz r4, 0xba(r30) /* 8036E5B0 0036A210 A0 7E 00 BC */ lhz r3, 0xbc(r30) /* 8036E5B4 0036A214 7C 03 20 40 */ cmplw r3, r4 /* 8036E5B8 0036A218 EF DE 00 32 */ fmuls f30, f30, f0 /* 8036E5BC 0036A21C 41 80 00 0C */ blt lbl_8036E5C8 /* 8036E5C0 0036A220 88 1E 00 B9 */ lbz r0, 0xb9(r30) /* 8036E5C4 0036A224 48 00 00 20 */ b lbl_8036E5E4 lbl_8036E5C8: /* 8036E5C8 0036A228 88 BE 00 B8 */ lbz r5, 0xb8(r30) /* 8036E5CC 0036A22C 88 1E 00 B9 */ lbz r0, 0xb9(r30) /* 8036E5D0 0036A230 7C 05 00 50 */ subf r0, r5, r0 /* 8036E5D4 0036A234 7C 03 01 D6 */ mullw r0, r3, r0 /* 8036E5D8 0036A238 7C 00 23 D6 */ divw r0, r0, r4 /* 8036E5DC 0036A23C 7C 05 02 14 */ add r0, r5, r0 /* 8036E5E0 0036A240 54 00 06 3E */ clrlwi r0, r0, 0x18 lbl_8036E5E4: /* 8036E5E4 0036A244 90 01 00 4C */ stw r0, 0x4c(r1) /* 8036E5E8 0036A248 7F C3 F3 78 */ mr r3, r30 /* 8036E5EC 0036A24C C8 42 A5 D8 */ lfd f2, lbl_80642BD8-_SDA2_BASE_(r2) /* 8036E5F0 0036A250 C8 21 00 48 */ lfd f1, 0x48(r1) /* 8036E5F4 0036A254 C0 02 A5 C8 */ lfs f0, lbl_80642BC8-_SDA2_BASE_(r2) /* 8036E5F8 0036A258 EC 21 10 28 */ fsubs f1, f1, f2 /* 8036E5FC 0036A25C C3 A2 A5 C4 */ lfs f29, lbl_80642BC4-_SDA2_BASE_(r2) /* 8036E600 0036A260 EC 01 00 24 */ fdivs f0, f1, f0 /* 8036E604 0036A264 EF DE 00 32 */ fmuls f30, f30, f0 /* 8036E608 0036A268 48 00 16 C5 */ bl GetValue__Q44nw4r3snd6detail12EnvGeneratorCFv /* 8036E60C 0036A26C 48 01 4B 2D */ bl CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf /* 8036E610 0036A270 88 1E 00 30 */ lbz r0, 0x30(r30) /* 8036E614 0036A274 EF BD 00 72 */ fmuls f29, f29, f1 /* 8036E618 0036A278 28 00 00 01 */ cmplwi r0, 1 /* 8036E61C 0036A27C 40 82 00 14 */ bne lbl_8036E630 /* 8036E620 0036A280 C0 02 A5 CC */ lfs f0, lbl_80642BCC-_SDA2_BASE_(r2) /* 8036E624 0036A284 EC 20 07 F2 */ fmuls f1, f0, f31 /* 8036E628 0036A288 48 01 4B 11 */ bl CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf /* 8036E62C 0036A28C EF BD 00 72 */ fmuls f29, f29, f1 lbl_8036E630: /* 8036E630 0036A290 80 1E 00 00 */ lwz r0, 0(r30) /* 8036E634 0036A294 2C 00 00 03 */ cmpwi r0, 3 /* 8036E638 0036A298 40 82 02 1C */ bne lbl_8036E854 /* 8036E63C 0036A29C 80 1E 00 D4 */ lwz r0, 0xd4(r30) /* 8036E640 0036A2A0 2C 00 00 00 */ cmpwi r0, 0 /* 8036E644 0036A2A4 41 82 01 08 */ beq lbl_8036E74C /* 8036E648 0036A2A8 C0 02 A5 C0 */ lfs f0, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E64C 0036A2AC FC 00 E8 00 */ fcmpu cr0, f0, f29 /* 8036E650 0036A2B0 40 82 02 04 */ bne lbl_8036E854 /* 8036E654 0036A2B4 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036E658 0036A2B8 2C 03 00 00 */ cmpwi r3, 0 /* 8036E65C 0036A2BC 41 82 05 84 */ beq lbl_8036EBE0 /* 8036E660 0036A2C0 48 01 29 11 */ bl Stop__Q44nw4r3snd6detail5VoiceFv /* 8036E664 0036A2C4 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036E668 0036A2C8 48 01 25 6D */ bl Free__Q44nw4r3snd6detail5VoiceFv /* 8036E66C 0036A2CC 88 1E 00 33 */ lbz r0, 0x33(r30) /* 8036E670 0036A2D0 38 80 00 00 */ li r4, 0 /* 8036E674 0036A2D4 90 9E 00 DC */ stw r4, 0xdc(r30) /* 8036E678 0036A2D8 2C 00 00 00 */ cmpwi r0, 0 /* 8036E67C 0036A2DC 98 9E 00 31 */ stb r4, 0x31(r30) /* 8036E680 0036A2E0 98 9E 00 32 */ stb r4, 0x32(r30) /* 8036E684 0036A2E4 41 82 00 A4 */ beq lbl_8036E728 /* 8036E688 0036A2E8 98 9E 00 33 */ stb r4, 0x33(r30) /* 8036E68C 0036A2EC 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036E690 0036A2F0 7C 00 07 75 */ extsb. r0, r0 /* 8036E694 0036A2F4 40 82 00 58 */ bne lbl_8036E6EC /* 8036E698 0036A2F8 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036E69C 0036A2FC 3B E3 19 88 */ addi r31, r3, lbl_80621988@l /* 8036E6A0 0036A300 90 83 19 88 */ stw r4, 0x1988(r3) /* 8036E6A4 0036A304 38 BF 00 08 */ addi r5, r31, 8 /* 8036E6A8 0036A308 90 9F 00 08 */ stw r4, 8(r31) /* 8036E6AC 0036A30C 38 7F 00 20 */ addi r3, r31, 0x20 /* 8036E6B0 0036A310 90 9F 00 0C */ stw r4, 0xc(r31) /* 8036E6B4 0036A314 90 9F 00 04 */ stw r4, 4(r31) /* 8036E6B8 0036A318 90 BF 00 08 */ stw r5, 8(r31) /* 8036E6BC 0036A31C 90 BF 00 0C */ stw r5, 0xc(r31) /* 8036E6C0 0036A320 98 9F 00 10 */ stb r4, 0x10(r31) /* 8036E6C4 0036A324 90 9F 00 14 */ stw r4, 0x14(r31) /* 8036E6C8 0036A328 4B F0 12 49 */ bl OSInitMutex /* 8036E6CC 0036A32C 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036E6D0 0036A330 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036E6D4 0036A334 7F E3 FB 78 */ mr r3, r31 /* 8036E6D8 0036A338 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036E6DC 0036A33C 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036E6E0 0036A340 4B E5 85 69 */ bl __register_global_object_tmp /* 8036E6E4 0036A344 38 00 00 01 */ li r0, 1 /* 8036E6E8 0036A348 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13) lbl_8036E6EC: /* 8036E6EC 0036A34C 3F A0 80 62 */ lis r29, lbl_80621988@ha /* 8036E6F0 0036A350 3B BD 19 88 */ addi r29, r29, lbl_80621988@l /* 8036E6F4 0036A354 3B FD 00 20 */ addi r31, r29, 0x20 /* 8036E6F8 0036A358 7F E3 FB 78 */ mr r3, r31 /* 8036E6FC 0036A35C 4B F0 12 4D */ bl OSLockMutex /* 8036E700 0036A360 38 7D 00 04 */ addi r3, r29, 4 /* 8036E704 0036A364 38 9E 00 E4 */ addi r4, r30, 0xe4 /* 8036E708 0036A368 4B FF 45 6D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode /* 8036E70C 0036A36C 2C 1E 00 00 */ cmpwi r30, 0 /* 8036E710 0036A370 41 82 00 10 */ beq lbl_8036E720 /* 8036E714 0036A374 7F A3 EB 78 */ mr r3, r29 /* 8036E718 0036A378 7F C4 F3 78 */ mr r4, r30 /* 8036E71C 0036A37C 48 00 34 99 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv lbl_8036E720: /* 8036E720 0036A380 7F E3 FB 78 */ mr r3, r31 /* 8036E724 0036A384 4B F0 13 01 */ bl OSUnlockMutex lbl_8036E728: /* 8036E728 0036A388 81 9E 00 D4 */ lwz r12, 0xd4(r30) /* 8036E72C 0036A38C 2C 0C 00 00 */ cmpwi r12, 0 /* 8036E730 0036A390 41 82 04 B0 */ beq lbl_8036EBE0 /* 8036E734 0036A394 7F C3 F3 78 */ mr r3, r30 /* 8036E738 0036A398 80 BE 00 D8 */ lwz r5, 0xd8(r30) /* 8036E73C 0036A39C 38 80 00 00 */ li r4, 0 /* 8036E740 0036A3A0 7D 89 03 A6 */ mtctr r12 /* 8036E744 0036A3A4 4E 80 04 21 */ bctrl /* 8036E748 0036A3A8 48 00 04 98 */ b lbl_8036EBE0 lbl_8036E74C: /* 8036E74C 0036A3AC EC 1E 07 72 */ fmuls f0, f30, f29 /* 8036E750 0036A3B0 C0 22 A5 C0 */ lfs f1, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E754 0036A3B4 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8036E758 0036A3B8 40 82 00 FC */ bne lbl_8036E854 /* 8036E75C 0036A3BC 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036E760 0036A3C0 2C 03 00 00 */ cmpwi r3, 0 /* 8036E764 0036A3C4 41 82 04 7C */ beq lbl_8036EBE0 /* 8036E768 0036A3C8 48 01 28 09 */ bl Stop__Q44nw4r3snd6detail5VoiceFv /* 8036E76C 0036A3CC 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036E770 0036A3D0 48 01 24 65 */ bl Free__Q44nw4r3snd6detail5VoiceFv /* 8036E774 0036A3D4 88 1E 00 33 */ lbz r0, 0x33(r30) /* 8036E778 0036A3D8 38 80 00 00 */ li r4, 0 /* 8036E77C 0036A3DC 90 9E 00 DC */ stw r4, 0xdc(r30) /* 8036E780 0036A3E0 2C 00 00 00 */ cmpwi r0, 0 /* 8036E784 0036A3E4 98 9E 00 31 */ stb r4, 0x31(r30) /* 8036E788 0036A3E8 98 9E 00 32 */ stb r4, 0x32(r30) /* 8036E78C 0036A3EC 41 82 00 A4 */ beq lbl_8036E830 /* 8036E790 0036A3F0 98 9E 00 33 */ stb r4, 0x33(r30) /* 8036E794 0036A3F4 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036E798 0036A3F8 7C 00 07 75 */ extsb. r0, r0 /* 8036E79C 0036A3FC 40 82 00 58 */ bne lbl_8036E7F4 /* 8036E7A0 0036A400 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036E7A4 0036A404 3B E3 19 88 */ addi r31, r3, lbl_80621988@l /* 8036E7A8 0036A408 90 83 19 88 */ stw r4, 0x1988(r3) /* 8036E7AC 0036A40C 38 BF 00 08 */ addi r5, r31, 8 /* 8036E7B0 0036A410 90 9F 00 08 */ stw r4, 8(r31) /* 8036E7B4 0036A414 38 7F 00 20 */ addi r3, r31, 0x20 /* 8036E7B8 0036A418 90 9F 00 0C */ stw r4, 0xc(r31) /* 8036E7BC 0036A41C 90 9F 00 04 */ stw r4, 4(r31) /* 8036E7C0 0036A420 90 BF 00 08 */ stw r5, 8(r31) /* 8036E7C4 0036A424 90 BF 00 0C */ stw r5, 0xc(r31) /* 8036E7C8 0036A428 98 9F 00 10 */ stb r4, 0x10(r31) /* 8036E7CC 0036A42C 90 9F 00 14 */ stw r4, 0x14(r31) /* 8036E7D0 0036A430 4B F0 11 41 */ bl OSInitMutex /* 8036E7D4 0036A434 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036E7D8 0036A438 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036E7DC 0036A43C 7F E3 FB 78 */ mr r3, r31 /* 8036E7E0 0036A440 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036E7E4 0036A444 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036E7E8 0036A448 4B E5 84 61 */ bl __register_global_object_tmp /* 8036E7EC 0036A44C 38 00 00 01 */ li r0, 1 /* 8036E7F0 0036A450 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13) lbl_8036E7F4: /* 8036E7F4 0036A454 3F A0 80 62 */ lis r29, lbl_80621988@ha /* 8036E7F8 0036A458 3B BD 19 88 */ addi r29, r29, lbl_80621988@l /* 8036E7FC 0036A45C 3B FD 00 20 */ addi r31, r29, 0x20 /* 8036E800 0036A460 7F E3 FB 78 */ mr r3, r31 /* 8036E804 0036A464 4B F0 11 45 */ bl OSLockMutex /* 8036E808 0036A468 38 7D 00 04 */ addi r3, r29, 4 /* 8036E80C 0036A46C 38 9E 00 E4 */ addi r4, r30, 0xe4 /* 8036E810 0036A470 4B FF 44 65 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode /* 8036E814 0036A474 2C 1E 00 00 */ cmpwi r30, 0 /* 8036E818 0036A478 41 82 00 10 */ beq lbl_8036E828 /* 8036E81C 0036A47C 7F A3 EB 78 */ mr r3, r29 /* 8036E820 0036A480 7F C4 F3 78 */ mr r4, r30 /* 8036E824 0036A484 48 00 33 91 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv lbl_8036E828: /* 8036E828 0036A488 7F E3 FB 78 */ mr r3, r31 /* 8036E82C 0036A48C 4B F0 11 F9 */ bl OSUnlockMutex lbl_8036E830: /* 8036E830 0036A490 81 9E 00 D4 */ lwz r12, 0xd4(r30) /* 8036E834 0036A494 2C 0C 00 00 */ cmpwi r12, 0 /* 8036E838 0036A498 41 82 03 A8 */ beq lbl_8036EBE0 /* 8036E83C 0036A49C 7F C3 F3 78 */ mr r3, r30 /* 8036E840 0036A4A0 80 BE 00 D8 */ lwz r5, 0xd8(r30) /* 8036E844 0036A4A4 38 80 00 00 */ li r4, 0 /* 8036E848 0036A4A8 7D 89 03 A6 */ mtctr r12 /* 8036E84C 0036A4AC 4E 80 04 21 */ bctrl /* 8036E850 0036A4B0 48 00 03 90 */ b lbl_8036EBE0 lbl_8036E854: /* 8036E854 0036A4B4 80 7E 00 C4 */ lwz r3, 0xc4(r30) /* 8036E858 0036A4B8 80 1E 00 C0 */ lwz r0, 0xc0(r30) /* 8036E85C 0036A4BC C8 62 A5 E0 */ lfd f3, lbl_80642BE0-_SDA2_BASE_(r2) /* 8036E860 0036A4C0 7C 03 00 50 */ subf r0, r3, r0 /* 8036E864 0036A4C4 C0 82 A5 C0 */ lfs f4, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E868 0036A4C8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8036E86C 0036A4CC C0 22 A5 C0 */ lfs f1, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E870 0036A4D0 90 01 00 54 */ stw r0, 0x54(r1) /* 8036E874 0036A4D4 C0 5E 00 9C */ lfs f2, 0x9c(r30) /* 8036E878 0036A4D8 C8 01 00 50 */ lfd f0, 0x50(r1) /* 8036E87C 0036A4DC FC 01 10 00 */ fcmpu cr0, f1, f2 /* 8036E880 0036A4E0 EC 00 18 28 */ fsubs f0, f0, f3 /* 8036E884 0036A4E4 EC 84 00 2A */ fadds f4, f4, f0 /* 8036E888 0036A4E8 40 82 00 08 */ bne lbl_8036E890 /* 8036E88C 0036A4EC 48 00 00 44 */ b lbl_8036E8D0 lbl_8036E890: /* 8036E890 0036A4F0 80 1E 00 A0 */ lwz r0, 0xa0(r30) /* 8036E894 0036A4F4 80 9E 00 A4 */ lwz r4, 0xa4(r30) /* 8036E898 0036A4F8 7C 00 20 00 */ cmpw r0, r4 /* 8036E89C 0036A4FC 41 80 00 08 */ blt lbl_8036E8A4 /* 8036E8A0 0036A500 48 00 00 30 */ b lbl_8036E8D0 lbl_8036E8A4: /* 8036E8A4 0036A504 7C 60 20 50 */ subf r3, r0, r4 /* 8036E8A8 0036A508 6C 80 80 00 */ xoris r0, r4, 0x8000 /* 8036E8AC 0036A50C 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 8036E8B0 0036A510 90 01 00 54 */ stw r0, 0x54(r1) /* 8036E8B4 0036A514 90 61 00 4C */ stw r3, 0x4c(r1) /* 8036E8B8 0036A518 C8 01 00 50 */ lfd f0, 0x50(r1) /* 8036E8BC 0036A51C C8 21 00 48 */ lfd f1, 0x48(r1) /* 8036E8C0 0036A520 EC 00 18 28 */ fsubs f0, f0, f3 /* 8036E8C4 0036A524 EC 21 18 28 */ fsubs f1, f1, f3 /* 8036E8C8 0036A528 EC 22 00 72 */ fmuls f1, f2, f1 /* 8036E8CC 0036A52C EC 21 00 24 */ fdivs f1, f1, f0 lbl_8036E8D0: /* 8036E8D0 0036A530 EC 84 08 2A */ fadds f4, f4, f1 /* 8036E8D4 0036A534 C0 1E 00 98 */ lfs f0, 0x98(r30) /* 8036E8D8 0036A538 88 1E 00 30 */ lbz r0, 0x30(r30) /* 8036E8DC 0036A53C 2C 00 00 00 */ cmpwi r0, 0 /* 8036E8E0 0036A540 EC 84 00 2A */ fadds f4, f4, f0 /* 8036E8E4 0036A544 40 82 00 08 */ bne lbl_8036E8EC /* 8036E8E8 0036A548 EC 84 F8 2A */ fadds f4, f4, f31 lbl_8036E8EC: /* 8036E8EC 0036A54C C0 02 A5 D0 */ lfs f0, lbl_80642BD0-_SDA2_BASE_(r2) /* 8036E8F0 0036A550 C2 82 A5 C4 */ lfs f20, lbl_80642BC4-_SDA2_BASE_(r2) /* 8036E8F4 0036A554 EC 00 01 32 */ fmuls f0, f0, f4 /* 8036E8F8 0036A558 C0 5E 00 B4 */ lfs f2, 0xb4(r30) /* 8036E8FC 0036A55C C0 3E 00 3C */ lfs f1, 0x3c(r30) /* 8036E900 0036A560 EE 94 00 B2 */ fmuls f20, f20, f2 /* 8036E904 0036A564 FC 00 00 1E */ fctiwz f0, f0 /* 8036E908 0036A568 EE 94 00 72 */ fmuls f20, f20, f1 /* 8036E90C 0036A56C D8 01 00 58 */ stfd f0, 0x58(r1) /* 8036E910 0036A570 80 61 00 5C */ lwz r3, 0x5c(r1) /* 8036E914 0036A574 48 01 46 95 */ bl CalcPitchRatio__Q44nw4r3snd6detail4UtilFi /* 8036E918 0036A578 C3 62 A5 C0 */ lfs f27, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E91C 0036A57C EF 81 05 32 */ fmuls f28, f1, f20 /* 8036E920 0036A580 C0 1E 00 AC */ lfs f0, 0xac(r30) /* 8036E924 0036A584 88 1E 00 30 */ lbz r0, 0x30(r30) /* 8036E928 0036A588 EF 7B 00 2A */ fadds f27, f27, f0 /* 8036E92C 0036A58C C0 1E 00 40 */ lfs f0, 0x40(r30) /* 8036E930 0036A590 28 00 00 02 */ cmplwi r0, 2 /* 8036E934 0036A594 EF 7B 00 2A */ fadds f27, f27, f0 /* 8036E938 0036A598 40 82 00 08 */ bne lbl_8036E940 /* 8036E93C 0036A59C EF 7B F8 2A */ fadds f27, f27, f31 lbl_8036E940: /* 8036E940 0036A5A0 C3 E2 A5 C0 */ lfs f31, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E944 0036A5A4 2C 1F 00 00 */ cmpwi r31, 0 /* 8036E948 0036A5A8 C0 1E 00 B0 */ lfs f0, 0xb0(r30) /* 8036E94C 0036A5AC FD 00 F8 90 */ fmr f8, f31 /* 8036E950 0036A5B0 C0 82 A5 C4 */ lfs f4, lbl_80642BC4-_SDA2_BASE_(r2) /* 8036E954 0036A5B4 C0 5E 00 5C */ lfs f2, 0x5c(r30) /* 8036E958 0036A5B8 EF FF 00 2A */ fadds f31, f31, f0 /* 8036E95C 0036A5BC C0 3E 00 60 */ lfs f1, 0x60(r30) /* 8036E960 0036A5C0 FF 40 20 90 */ fmr f26, f4 /* 8036E964 0036A5C4 C0 1E 00 64 */ lfs f0, 0x64(r30) /* 8036E968 0036A5C8 EC E8 10 2A */ fadds f7, f8, f2 /* 8036E96C 0036A5CC C1 5E 00 7C */ lfs f10, 0x7c(r30) /* 8036E970 0036A5D0 EC C8 08 2A */ fadds f6, f8, f1 /* 8036E974 0036A5D4 C1 3E 00 8C */ lfs f9, 0x8c(r30) /* 8036E978 0036A5D8 EC A8 00 2A */ fadds f5, f8, f0 /* 8036E97C 0036A5DC EE A8 50 2A */ fadds f21, f8, f10 /* 8036E980 0036A5E0 EE C8 48 2A */ fadds f22, f8, f9 /* 8036E984 0036A5E4 C0 7E 00 68 */ lfs f3, 0x68(r30) /* 8036E988 0036A5E8 C0 5E 00 78 */ lfs f2, 0x78(r30) /* 8036E98C 0036A5EC FF 20 20 90 */ fmr f25, f4 /* 8036E990 0036A5F0 C0 3E 00 88 */ lfs f1, 0x88(r30) /* 8036E994 0036A5F4 C0 1E 00 6C */ lfs f0, 0x6c(r30) /* 8036E998 0036A5F8 C2 FE 00 70 */ lfs f23, 0x70(r30) /* 8036E99C 0036A5FC EC 48 10 2A */ fadds f2, f8, f2 /* 8036E9A0 0036A600 C1 BE 00 80 */ lfs f13, 0x80(r30) /* 8036E9A4 0036A604 EC 28 08 2A */ fadds f1, f8, f1 /* 8036E9A8 0036A608 C1 9E 00 90 */ lfs f12, 0x90(r30) /* 8036E9AC 0036A60C EC 04 00 32 */ fmuls f0, f4, f0 /* 8036E9B0 0036A610 C1 7E 00 74 */ lfs f11, 0x74(r30) /* 8036E9B4 0036A614 C1 5E 00 84 */ lfs f10, 0x84(r30) /* 8036E9B8 0036A618 EE E4 05 F2 */ fmuls f23, f4, f23 /* 8036E9BC 0036A61C C3 1E 00 48 */ lfs f24, 0x48(r30) /* 8036E9C0 0036A620 ED A8 68 2A */ fadds f13, f8, f13 /* 8036E9C4 0036A624 C2 9E 00 44 */ lfs f20, 0x44(r30) /* 8036E9C8 0036A628 ED 88 60 2A */ fadds f12, f8, f12 /* 8036E9CC 0036A62C D1 01 00 38 */ stfs f8, 0x38(r1) /* 8036E9D0 0036A630 ED 64 02 F2 */ fmuls f11, f4, f11 /* 8036E9D4 0036A634 C1 3E 00 94 */ lfs f9, 0x94(r30) /* 8036E9D8 0036A638 D1 01 00 3C */ stfs f8, 0x3c(r1) /* 8036E9DC 0036A63C ED 48 50 2A */ fadds f10, f8, f10 /* 8036E9E0 0036A640 EF 5A C0 2A */ fadds f26, f26, f24 /* 8036E9E4 0036A644 C3 02 A5 C0 */ lfs f24, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036E9E8 0036A648 D1 01 00 40 */ stfs f8, 0x40(r1) /* 8036E9EC 0036A64C ED 08 48 2A */ fadds f8, f8, f9 /* 8036E9F0 0036A650 C1 3E 00 54 */ lfs f9, 0x54(r30) /* 8036E9F4 0036A654 EC 64 00 F2 */ fmuls f3, f4, f3 /* 8036E9F8 0036A658 D0 81 00 28 */ stfs f4, 0x28(r1) /* 8036E9FC 0036A65C EF FF A0 2A */ fadds f31, f31, f20 /* 8036EA00 0036A660 C0 9E 00 58 */ lfs f4, 0x58(r30) /* 8036EA04 0036A664 EF 39 02 72 */ fmuls f25, f25, f9 /* 8036EA08 0036A668 83 BE 00 4C */ lwz r29, 0x4c(r30) /* 8036EA0C 0036A66C EF 18 20 2A */ fadds f24, f24, f4 /* 8036EA10 0036A670 D0 E1 00 38 */ stfs f7, 0x38(r1) /* 8036EA14 0036A674 D0 C1 00 3C */ stfs f6, 0x3c(r1) /* 8036EA18 0036A678 D0 A1 00 40 */ stfs f5, 0x40(r1) /* 8036EA1C 0036A67C D0 61 00 28 */ stfs f3, 0x28(r1) /* 8036EA20 0036A680 D0 41 00 18 */ stfs f2, 0x18(r1) /* 8036EA24 0036A684 D0 21 00 08 */ stfs f1, 8(r1) /* 8036EA28 0036A688 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8036EA2C 0036A68C D2 A1 00 1C */ stfs f21, 0x1c(r1) /* 8036EA30 0036A690 D2 C1 00 0C */ stfs f22, 0xc(r1) /* 8036EA34 0036A694 D2 E1 00 30 */ stfs f23, 0x30(r1) /* 8036EA38 0036A698 D1 A1 00 20 */ stfs f13, 0x20(r1) /* 8036EA3C 0036A69C D1 81 00 10 */ stfs f12, 0x10(r1) /* 8036EA40 0036A6A0 D1 61 00 34 */ stfs f11, 0x34(r1) /* 8036EA44 0036A6A4 D1 41 00 24 */ stfs f10, 0x24(r1) /* 8036EA48 0036A6A8 D1 01 00 14 */ stfs f8, 0x14(r1) /* 8036EA4C 0036A6AC 41 82 00 44 */ beq lbl_8036EA90 /* 8036EA50 0036A6B0 88 1E 00 34 */ lbz r0, 0x34(r30) /* 8036EA54 0036A6B4 2C 00 00 00 */ cmpwi r0, 0 /* 8036EA58 0036A6B8 41 82 00 20 */ beq lbl_8036EA78 /* 8036EA5C 0036A6BC 80 7E 00 A0 */ lwz r3, 0xa0(r30) /* 8036EA60 0036A6C0 80 9E 00 A4 */ lwz r4, 0xa4(r30) /* 8036EA64 0036A6C4 38 03 00 03 */ addi r0, r3, 3 /* 8036EA68 0036A6C8 7C 00 20 00 */ cmpw r0, r4 /* 8036EA6C 0036A6CC 90 1E 00 A0 */ stw r0, 0xa0(r30) /* 8036EA70 0036A6D0 40 81 00 08 */ ble lbl_8036EA78 /* 8036EA74 0036A6D4 90 9E 00 A0 */ stw r4, 0xa0(r30) lbl_8036EA78: /* 8036EA78 0036A6D8 38 7E 00 18 */ addi r3, r30, 0x18 /* 8036EA7C 0036A6DC 38 80 00 03 */ li r4, 3 /* 8036EA80 0036A6E0 48 00 31 B5 */ bl Update__Q44nw4r3snd6detail3LfoFi /* 8036EA84 0036A6E4 7F C3 F3 78 */ mr r3, r30 /* 8036EA88 0036A6E8 38 80 00 03 */ li r4, 3 /* 8036EA8C 0036A6EC 48 00 12 6D */ bl Update__Q44nw4r3snd6detail12EnvGeneratorFi lbl_8036EA90: /* 8036EA90 0036A6F0 38 7E 00 18 */ addi r3, r30, 0x18 /* 8036EA94 0036A6F4 48 00 32 3D */ bl GetValue__Q44nw4r3snd6detail3LfoCFv /* 8036EA98 0036A6F8 FE E0 08 90 */ fmr f23, f1 /* 8036EA9C 0036A6FC C2 82 A5 C4 */ lfs f20, lbl_80642BC4-_SDA2_BASE_(r2) /* 8036EAA0 0036A700 7F C3 F3 78 */ mr r3, r30 /* 8036EAA4 0036A704 48 00 12 29 */ bl GetValue__Q44nw4r3snd6detail12EnvGeneratorCFv /* 8036EAA8 0036A708 48 01 46 91 */ bl CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf /* 8036EAAC 0036A70C 88 1E 00 30 */ lbz r0, 0x30(r30) /* 8036EAB0 0036A710 EE 94 00 72 */ fmuls f20, f20, f1 /* 8036EAB4 0036A714 28 00 00 01 */ cmplwi r0, 1 /* 8036EAB8 0036A718 40 82 00 14 */ bne lbl_8036EACC /* 8036EABC 0036A71C C0 02 A5 CC */ lfs f0, lbl_80642BCC-_SDA2_BASE_(r2) /* 8036EAC0 0036A720 EC 20 05 F2 */ fmuls f1, f0, f23 /* 8036EAC4 0036A724 48 01 46 75 */ bl CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf /* 8036EAC8 0036A728 EE 94 00 72 */ fmuls f20, f20, f1 lbl_8036EACC: /* 8036EACC 0036A72C 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EAD0 0036A730 2C 03 00 00 */ cmpwi r3, 0 /* 8036EAD4 0036A734 41 82 01 0C */ beq lbl_8036EBE0 /* 8036EAD8 0036A738 80 9E 00 CC */ lwz r4, 0xcc(r30) /* 8036EADC 0036A73C 48 01 26 A9 */ bl SetPanMode__Q44nw4r3snd6detail5VoiceFQ44nw4r3snd6detail7PanMode /* 8036EAE0 0036A740 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EAE4 0036A744 80 9E 00 D0 */ lwz r4, 0xd0(r30) /* 8036EAE8 0036A748 48 01 26 BD */ bl SetPanCurve__Q44nw4r3snd6detail5VoiceFQ44nw4r3snd6detail8PanCurve /* 8036EAEC 0036A74C FC 20 F0 90 */ fmr f1, f30 /* 8036EAF0 0036A750 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EAF4 0036A754 48 01 25 89 */ bl SetVolume__Q44nw4r3snd6detail5VoiceFf /* 8036EAF8 0036A758 FC 20 A0 90 */ fmr f1, f20 /* 8036EAFC 0036A75C 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB00 0036A760 FC 40 E8 90 */ fmr f2, f29 /* 8036EB04 0036A764 48 01 25 BD */ bl SetVeVolume__Q44nw4r3snd6detail5VoiceFff /* 8036EB08 0036A768 FC 20 E0 90 */ fmr f1, f28 /* 8036EB0C 0036A76C 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB10 0036A770 48 01 26 55 */ bl SetPitch__Q44nw4r3snd6detail5VoiceFf /* 8036EB14 0036A774 FC 20 D8 90 */ fmr f1, f27 /* 8036EB18 0036A778 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB1C 0036A77C 48 01 26 A9 */ bl SetPan__Q44nw4r3snd6detail5VoiceFf /* 8036EB20 0036A780 FC 20 F8 90 */ fmr f1, f31 /* 8036EB24 0036A784 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB28 0036A788 48 01 26 BD */ bl SetSurroundPan__Q44nw4r3snd6detail5VoiceFf /* 8036EB2C 0036A78C FC 20 D0 90 */ fmr f1, f26 /* 8036EB30 0036A790 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB34 0036A794 48 01 26 D1 */ bl SetLpfFreq__Q44nw4r3snd6detail5VoiceFf /* 8036EB38 0036A798 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB3C 0036A79C 7F A4 EB 78 */ mr r4, r29 /* 8036EB40 0036A7A0 48 01 27 09 */ bl SetRemoteFilter__Q44nw4r3snd6detail5VoiceFi /* 8036EB44 0036A7A4 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB48 0036A7A8 80 9E 00 50 */ lwz r4, 0x50(r30) /* 8036EB4C 0036A7AC 48 01 27 35 */ bl SetOutputLine__Q44nw4r3snd6detail5VoiceFi /* 8036EB50 0036A7B0 FC 20 C8 90 */ fmr f1, f25 /* 8036EB54 0036A7B4 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB58 0036A7B8 48 01 27 49 */ bl SetMainOutVolume__Q44nw4r3snd6detail5VoiceFf /* 8036EB5C 0036A7BC FC 20 C0 90 */ fmr f1, f24 /* 8036EB60 0036A7C0 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB64 0036A7C4 48 01 27 81 */ bl SetMainSend__Q44nw4r3snd6detail5VoiceFf /* 8036EB68 0036A7C8 3B A1 00 38 */ addi r29, r1, 0x38 /* 8036EB6C 0036A7CC 3B E0 00 00 */ li r31, 0 lbl_8036EB70: /* 8036EB70 0036A7D0 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EB74 0036A7D4 7F E4 FB 78 */ mr r4, r31 /* 8036EB78 0036A7D8 C0 3D 00 00 */ lfs f1, 0(r29) /* 8036EB7C 0036A7DC 48 01 27 B1 */ bl SetFxSend__Q44nw4r3snd6detail5VoiceFQ34nw4r3snd6AuxBusf /* 8036EB80 0036A7E0 3B FF 00 01 */ addi r31, r31, 1 /* 8036EB84 0036A7E4 3B BD 00 04 */ addi r29, r29, 4 /* 8036EB88 0036A7E8 2C 1F 00 03 */ cmpwi r31, 3 /* 8036EB8C 0036A7EC 41 80 FF E4 */ blt lbl_8036EB70 /* 8036EB90 0036A7F0 3B A1 00 28 */ addi r29, r1, 0x28 /* 8036EB94 0036A7F4 3B E1 00 18 */ addi r31, r1, 0x18 /* 8036EB98 0036A7F8 3B 80 00 00 */ li r28, 0 lbl_8036EB9C: /* 8036EB9C 0036A7FC 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EBA0 0036A800 7F 84 E3 78 */ mr r4, r28 /* 8036EBA4 0036A804 C0 3D 00 00 */ lfs f1, 0(r29) /* 8036EBA8 0036A808 48 01 27 D1 */ bl SetRemoteOutVolume__Q44nw4r3snd6detail5VoiceFif /* 8036EBAC 0036A80C 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EBB0 0036A810 7F 84 E3 78 */ mr r4, r28 /* 8036EBB4 0036A814 C0 3F 00 00 */ lfs f1, 0(r31) /* 8036EBB8 0036A818 48 01 28 0D */ bl SetRemoteSend__Q44nw4r3snd6detail5VoiceFif /* 8036EBBC 0036A81C 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 8036EBC0 0036A820 7F 84 E3 78 */ mr r4, r28 /* 8036EBC4 0036A824 C0 3F 00 00 */ lfs f1, 0(r31) /* 8036EBC8 0036A828 48 01 28 4D */ bl SetRemoteFxSend__Q44nw4r3snd6detail5VoiceFif /* 8036EBCC 0036A82C 3B 9C 00 01 */ addi r28, r28, 1 /* 8036EBD0 0036A830 3B FF 00 04 */ addi r31, r31, 4 /* 8036EBD4 0036A834 2C 1C 00 04 */ cmpwi r28, 4 /* 8036EBD8 0036A838 3B BD 00 04 */ addi r29, r29, 4 /* 8036EBDC 0036A83C 41 80 FF C0 */ blt lbl_8036EB9C lbl_8036EBE0: /* 8036EBE0 0036A840 E3 E1 01 28 */ psq_l f31, 296(r1), 0, qr0 /* 8036EBE4 0036A844 CB E1 01 20 */ lfd f31, 0x120(r1) /* 8036EBE8 0036A848 E3 C1 01 18 */ psq_l f30, 280(r1), 0, qr0 /* 8036EBEC 0036A84C CB C1 01 10 */ lfd f30, 0x110(r1) /* 8036EBF0 0036A850 E3 A1 01 08 */ psq_l f29, 264(r1), 0, qr0 /* 8036EBF4 0036A854 CB A1 01 00 */ lfd f29, 0x100(r1) /* 8036EBF8 0036A858 E3 81 00 F8 */ psq_l f28, 248(r1), 0, qr0 /* 8036EBFC 0036A85C CB 81 00 F0 */ lfd f28, 0xf0(r1) /* 8036EC00 0036A860 E3 61 00 E8 */ psq_l f27, 232(r1), 0, qr0 /* 8036EC04 0036A864 CB 61 00 E0 */ lfd f27, 0xe0(r1) /* 8036EC08 0036A868 E3 41 00 D8 */ psq_l f26, 216(r1), 0, qr0 /* 8036EC0C 0036A86C CB 41 00 D0 */ lfd f26, 0xd0(r1) /* 8036EC10 0036A870 E3 21 00 C8 */ psq_l f25, 200(r1), 0, qr0 /* 8036EC14 0036A874 CB 21 00 C0 */ lfd f25, 0xc0(r1) /* 8036EC18 0036A878 E3 01 00 B8 */ psq_l f24, 184(r1), 0, qr0 /* 8036EC1C 0036A87C CB 01 00 B0 */ lfd f24, 0xb0(r1) /* 8036EC20 0036A880 E2 E1 00 A8 */ psq_l f23, 168(r1), 0, qr0 /* 8036EC24 0036A884 CA E1 00 A0 */ lfd f23, 0xa0(r1) /* 8036EC28 0036A888 E2 C1 00 98 */ psq_l f22, 152(r1), 0, qr0 /* 8036EC2C 0036A88C CA C1 00 90 */ lfd f22, 0x90(r1) /* 8036EC30 0036A890 E2 A1 00 88 */ psq_l f21, 136(r1), 0, qr0 /* 8036EC34 0036A894 CA A1 00 80 */ lfd f21, 0x80(r1) /* 8036EC38 0036A898 E2 81 00 78 */ psq_l f20, 120(r1), 0, qr0 /* 8036EC3C 0036A89C CA 81 00 70 */ lfd f20, 0x70(r1) /* 8036EC40 0036A8A0 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8036EC44 0036A8A4 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8036EC48 0036A8A8 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8036EC4C 0036A8AC 80 01 01 34 */ lwz r0, 0x134(r1) /* 8036EC50 0036A8B0 83 81 00 60 */ lwz r28, 0x60(r1) /* 8036EC54 0036A8B4 7C 08 03 A6 */ mtlr r0 /* 8036EC58 0036A8B8 38 21 01 30 */ addi r1, r1, 0x130 /* 8036EC5C 0036A8BC 4E 80 00 20 */ blr .global Start__Q44nw4r3snd6detail7ChannelFRCQ44nw4r3snd6detail8WaveDataiUl Start__Q44nw4r3snd6detail7ChannelFRCQ44nw4r3snd6detail8WaveDataiUl: /* 8036EC60 0036A8C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036EC64 0036A8C4 7C 08 02 A6 */ mflr r0 /* 8036EC68 0036A8C8 90 01 00 24 */ stw r0, 0x24(r1) /* 8036EC6C 0036A8CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8036EC70 0036A8D0 7C DF 33 78 */ mr r31, r6 /* 8036EC74 0036A8D4 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036EC78 0036A8D8 7C 9E 23 78 */ mr r30, r4 /* 8036EC7C 0036A8DC 93 A1 00 14 */ stw r29, 0x14(r1) /* 8036EC80 0036A8E0 7C 7D 1B 78 */ mr r29, r3 /* 8036EC84 0036A8E4 90 A3 00 C8 */ stw r5, 0xc8(r3) /* 8036EC88 0036A8E8 38 63 00 18 */ addi r3, r3, 0x18 /* 8036EC8C 0036A8EC 48 00 2F 95 */ bl Reset__Q44nw4r3snd6detail3LfoFv /* 8036EC90 0036A8F0 C0 22 A5 E8 */ lfs f1, lbl_80642BE8-_SDA2_BASE_(r2) /* 8036EC94 0036A8F4 7F A3 EB 78 */ mr r3, r29 /* 8036EC98 0036A8F8 48 00 10 1D */ bl Reset__Q44nw4r3snd6detail12EnvGeneratorFf /* 8036EC9C 0036A8FC 38 00 00 00 */ li r0, 0 /* 8036ECA0 0036A900 80 7D 00 DC */ lwz r3, 0xdc(r29) /* 8036ECA4 0036A904 90 1D 00 A0 */ stw r0, 0xa0(r29) /* 8036ECA8 0036A908 7F C4 F3 78 */ mr r4, r30 /* 8036ECAC 0036A90C 7F E5 FB 78 */ mr r5, r31 /* 8036ECB0 0036A910 48 01 1F F1 */ bl Setup__Q44nw4r3snd6detail5VoiceFRCQ44nw4r3snd6detail8WaveDataUl /* 8036ECB4 0036A914 80 7D 00 DC */ lwz r3, 0xdc(r29) /* 8036ECB8 0036A918 48 01 22 99 */ bl Start__Q44nw4r3snd6detail5VoiceFv /* 8036ECBC 0036A91C 38 00 00 01 */ li r0, 1 /* 8036ECC0 0036A920 98 1D 00 32 */ stb r0, 0x32(r29) /* 8036ECC4 0036A924 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8036ECC8 0036A928 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8036ECCC 0036A92C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8036ECD0 0036A930 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036ECD4 0036A934 7C 08 03 A6 */ mtlr r0 /* 8036ECD8 0036A938 38 21 00 20 */ addi r1, r1, 0x20 /* 8036ECDC 0036A93C 4E 80 00 20 */ blr .global Release__Q44nw4r3snd6detail7ChannelFv Release__Q44nw4r3snd6detail7ChannelFv: /* 8036ECE0 0036A940 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036ECE4 0036A944 7C 08 02 A6 */ mflr r0 /* 8036ECE8 0036A948 90 01 00 14 */ stw r0, 0x14(r1) /* 8036ECEC 0036A94C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036ECF0 0036A950 7C 7F 1B 78 */ mr r31, r3 /* 8036ECF4 0036A954 80 03 00 00 */ lwz r0, 0(r3) /* 8036ECF8 0036A958 2C 00 00 03 */ cmpwi r0, 3 /* 8036ECFC 0036A95C 41 82 00 30 */ beq lbl_8036ED2C /* 8036ED00 0036A960 80 83 00 DC */ lwz r4, 0xdc(r3) /* 8036ED04 0036A964 2C 04 00 00 */ cmpwi r4, 0 /* 8036ED08 0036A968 41 82 00 1C */ beq lbl_8036ED24 /* 8036ED0C 0036A96C 88 03 00 35 */ lbz r0, 0x35(r3) /* 8036ED10 0036A970 2C 00 00 00 */ cmpwi r0, 0 /* 8036ED14 0036A974 40 82 00 10 */ bne lbl_8036ED24 /* 8036ED18 0036A978 7C 83 23 78 */ mr r3, r4 /* 8036ED1C 0036A97C 38 80 00 01 */ li r4, 1 /* 8036ED20 0036A980 48 01 27 41 */ bl SetPriority__Q44nw4r3snd6detail5VoiceFi lbl_8036ED24: /* 8036ED24 0036A984 38 00 00 03 */ li r0, 3 /* 8036ED28 0036A988 90 1F 00 00 */ stw r0, 0(r31) lbl_8036ED2C: /* 8036ED2C 0036A98C 38 00 00 00 */ li r0, 0 /* 8036ED30 0036A990 98 1F 00 31 */ stb r0, 0x31(r31) /* 8036ED34 0036A994 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8036ED38 0036A998 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036ED3C 0036A99C 7C 08 03 A6 */ mtlr r0 /* 8036ED40 0036A9A0 38 21 00 10 */ addi r1, r1, 0x10 /* 8036ED44 0036A9A4 4E 80 00 20 */ blr .global Stop__Q44nw4r3snd6detail7ChannelFv Stop__Q44nw4r3snd6detail7ChannelFv: /* 8036ED48 0036A9A8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036ED4C 0036A9AC 7C 08 02 A6 */ mflr r0 /* 8036ED50 0036A9B0 90 01 00 24 */ stw r0, 0x24(r1) /* 8036ED54 0036A9B4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8036ED58 0036A9B8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036ED5C 0036A9BC 93 A1 00 14 */ stw r29, 0x14(r1) /* 8036ED60 0036A9C0 7C 7D 1B 78 */ mr r29, r3 /* 8036ED64 0036A9C4 80 03 00 DC */ lwz r0, 0xdc(r3) /* 8036ED68 0036A9C8 2C 00 00 00 */ cmpwi r0, 0 /* 8036ED6C 0036A9CC 41 82 00 F0 */ beq lbl_8036EE5C /* 8036ED70 0036A9D0 7C 03 03 78 */ mr r3, r0 /* 8036ED74 0036A9D4 48 01 21 FD */ bl Stop__Q44nw4r3snd6detail5VoiceFv /* 8036ED78 0036A9D8 80 7D 00 DC */ lwz r3, 0xdc(r29) /* 8036ED7C 0036A9DC 48 01 1E 59 */ bl Free__Q44nw4r3snd6detail5VoiceFv /* 8036ED80 0036A9E0 88 1D 00 33 */ lbz r0, 0x33(r29) /* 8036ED84 0036A9E4 38 80 00 00 */ li r4, 0 /* 8036ED88 0036A9E8 90 9D 00 DC */ stw r4, 0xdc(r29) /* 8036ED8C 0036A9EC 2C 00 00 00 */ cmpwi r0, 0 /* 8036ED90 0036A9F0 98 9D 00 31 */ stb r4, 0x31(r29) /* 8036ED94 0036A9F4 98 9D 00 32 */ stb r4, 0x32(r29) /* 8036ED98 0036A9F8 41 82 00 A4 */ beq lbl_8036EE3C /* 8036ED9C 0036A9FC 98 9D 00 33 */ stb r4, 0x33(r29) /* 8036EDA0 0036AA00 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036EDA4 0036AA04 7C 00 07 75 */ extsb. r0, r0 /* 8036EDA8 0036AA08 40 82 00 58 */ bne lbl_8036EE00 /* 8036EDAC 0036AA0C 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036EDB0 0036AA10 3B E3 19 88 */ addi r31, r3, lbl_80621988@l /* 8036EDB4 0036AA14 90 83 19 88 */ stw r4, 0x1988(r3) /* 8036EDB8 0036AA18 38 BF 00 08 */ addi r5, r31, 8 /* 8036EDBC 0036AA1C 90 9F 00 08 */ stw r4, 8(r31) /* 8036EDC0 0036AA20 38 7F 00 20 */ addi r3, r31, 0x20 /* 8036EDC4 0036AA24 90 9F 00 0C */ stw r4, 0xc(r31) /* 8036EDC8 0036AA28 90 9F 00 04 */ stw r4, 4(r31) /* 8036EDCC 0036AA2C 90 BF 00 08 */ stw r5, 8(r31) /* 8036EDD0 0036AA30 90 BF 00 0C */ stw r5, 0xc(r31) /* 8036EDD4 0036AA34 98 9F 00 10 */ stb r4, 0x10(r31) /* 8036EDD8 0036AA38 90 9F 00 14 */ stw r4, 0x14(r31) /* 8036EDDC 0036AA3C 4B F0 0B 35 */ bl OSInitMutex /* 8036EDE0 0036AA40 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036EDE4 0036AA44 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036EDE8 0036AA48 7F E3 FB 78 */ mr r3, r31 /* 8036EDEC 0036AA4C 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036EDF0 0036AA50 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036EDF4 0036AA54 4B E5 7E 55 */ bl __register_global_object_tmp /* 8036EDF8 0036AA58 38 00 00 01 */ li r0, 1 /* 8036EDFC 0036AA5C 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13) lbl_8036EE00: /* 8036EE00 0036AA60 3F C0 80 62 */ lis r30, lbl_80621988@ha /* 8036EE04 0036AA64 3B DE 19 88 */ addi r30, r30, lbl_80621988@l /* 8036EE08 0036AA68 3B FE 00 20 */ addi r31, r30, 0x20 /* 8036EE0C 0036AA6C 7F E3 FB 78 */ mr r3, r31 /* 8036EE10 0036AA70 4B F0 0B 39 */ bl OSLockMutex /* 8036EE14 0036AA74 38 7E 00 04 */ addi r3, r30, 4 /* 8036EE18 0036AA78 38 9D 00 E4 */ addi r4, r29, 0xe4 /* 8036EE1C 0036AA7C 4B FF 3E 59 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode /* 8036EE20 0036AA80 2C 1D 00 00 */ cmpwi r29, 0 /* 8036EE24 0036AA84 41 82 00 10 */ beq lbl_8036EE34 /* 8036EE28 0036AA88 7F C3 F3 78 */ mr r3, r30 /* 8036EE2C 0036AA8C 7F A4 EB 78 */ mr r4, r29 /* 8036EE30 0036AA90 48 00 2D 85 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv lbl_8036EE34: /* 8036EE34 0036AA94 7F E3 FB 78 */ mr r3, r31 /* 8036EE38 0036AA98 4B F0 0B ED */ bl OSUnlockMutex lbl_8036EE3C: /* 8036EE3C 0036AA9C 81 9D 00 D4 */ lwz r12, 0xd4(r29) /* 8036EE40 0036AAA0 2C 0C 00 00 */ cmpwi r12, 0 /* 8036EE44 0036AAA4 41 82 00 18 */ beq lbl_8036EE5C /* 8036EE48 0036AAA8 7F A3 EB 78 */ mr r3, r29 /* 8036EE4C 0036AAAC 80 BD 00 D8 */ lwz r5, 0xd8(r29) /* 8036EE50 0036AAB0 38 80 00 00 */ li r4, 0 /* 8036EE54 0036AAB4 7D 89 03 A6 */ mtctr r12 /* 8036EE58 0036AAB8 4E 80 04 21 */ bctrl lbl_8036EE5C: /* 8036EE5C 0036AABC 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036EE60 0036AAC0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8036EE64 0036AAC4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8036EE68 0036AAC8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8036EE6C 0036AACC 7C 08 03 A6 */ mtlr r0 /* 8036EE70 0036AAD0 38 21 00 20 */ addi r1, r1, 0x20 /* 8036EE74 0036AAD4 4E 80 00 20 */ blr .global UpdateSweep__Q44nw4r3snd6detail7ChannelFi UpdateSweep__Q44nw4r3snd6detail7ChannelFi: /* 8036EE78 0036AAD8 80 03 00 A0 */ lwz r0, 0xa0(r3) /* 8036EE7C 0036AADC 80 A3 00 A4 */ lwz r5, 0xa4(r3) /* 8036EE80 0036AAE0 7C 00 22 14 */ add r0, r0, r4 /* 8036EE84 0036AAE4 7C 00 28 00 */ cmpw r0, r5 /* 8036EE88 0036AAE8 90 03 00 A0 */ stw r0, 0xa0(r3) /* 8036EE8C 0036AAEC 4C 81 00 20 */ blelr /* 8036EE90 0036AAF0 90 A3 00 A0 */ stw r5, 0xa0(r3) /* 8036EE94 0036AAF4 4E 80 00 20 */ blr .global SetSweepParam__Q44nw4r3snd6detail7ChannelFfib SetSweepParam__Q44nw4r3snd6detail7ChannelFfib: /* 8036EE98 0036AAF8 38 00 00 00 */ li r0, 0 /* 8036EE9C 0036AAFC D0 23 00 9C */ stfs f1, 0x9c(r3) /* 8036EEA0 0036AB00 90 83 00 A4 */ stw r4, 0xa4(r3) /* 8036EEA4 0036AB04 98 A3 00 34 */ stb r5, 0x34(r3) /* 8036EEA8 0036AB08 90 03 00 A0 */ stw r0, 0xa0(r3) /* 8036EEAC 0036AB0C 4E 80 00 20 */ blr .global VoiceCallbackFunc__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv VoiceCallbackFunc__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv: /* 8036EEB0 0036AB10 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036EEB4 0036AB14 7C 08 02 A6 */ mflr r0 /* 8036EEB8 0036AB18 2C 04 00 02 */ cmpwi r4, 2 /* 8036EEBC 0036AB1C 90 01 00 24 */ stw r0, 0x24(r1) /* 8036EEC0 0036AB20 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8036EEC4 0036AB24 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036EEC8 0036AB28 93 A1 00 14 */ stw r29, 0x14(r1) /* 8036EECC 0036AB2C 7C BD 2B 78 */ mr r29, r5 /* 8036EED0 0036AB30 41 82 00 3C */ beq lbl_8036EF0C /* 8036EED4 0036AB34 40 80 00 14 */ bge lbl_8036EEE8 /* 8036EED8 0036AB38 2C 04 00 00 */ cmpwi r4, 0 /* 8036EEDC 0036AB3C 41 82 00 18 */ beq lbl_8036EEF4 /* 8036EEE0 0036AB40 40 80 00 20 */ bge lbl_8036EF00 /* 8036EEE4 0036AB44 48 00 00 34 */ b lbl_8036EF18 lbl_8036EEE8: /* 8036EEE8 0036AB48 2C 04 00 04 */ cmpwi r4, 4 /* 8036EEEC 0036AB4C 40 80 00 2C */ bge lbl_8036EF18 /* 8036EEF0 0036AB50 48 00 00 24 */ b lbl_8036EF14 lbl_8036EEF4: /* 8036EEF4 0036AB54 3B C0 00 02 */ li r30, 2 /* 8036EEF8 0036AB58 48 01 1C DD */ bl Free__Q44nw4r3snd6detail5VoiceFv /* 8036EEFC 0036AB5C 48 00 00 1C */ b lbl_8036EF18 lbl_8036EF00: /* 8036EF00 0036AB60 3B C0 00 03 */ li r30, 3 /* 8036EF04 0036AB64 48 01 1C D1 */ bl Free__Q44nw4r3snd6detail5VoiceFv /* 8036EF08 0036AB68 48 00 00 10 */ b lbl_8036EF18 lbl_8036EF0C: /* 8036EF0C 0036AB6C 3B C0 00 01 */ li r30, 1 /* 8036EF10 0036AB70 48 00 00 08 */ b lbl_8036EF18 lbl_8036EF14: /* 8036EF14 0036AB74 3B C0 00 01 */ li r30, 1 lbl_8036EF18: /* 8036EF18 0036AB78 81 9D 00 D4 */ lwz r12, 0xd4(r29) /* 8036EF1C 0036AB7C 2C 0C 00 00 */ cmpwi r12, 0 /* 8036EF20 0036AB80 41 82 00 18 */ beq lbl_8036EF38 /* 8036EF24 0036AB84 7F A3 EB 78 */ mr r3, r29 /* 8036EF28 0036AB88 7F C4 F3 78 */ mr r4, r30 /* 8036EF2C 0036AB8C 80 BD 00 D8 */ lwz r5, 0xd8(r29) /* 8036EF30 0036AB90 7D 89 03 A6 */ mtctr r12 /* 8036EF34 0036AB94 4E 80 04 21 */ bctrl lbl_8036EF38: /* 8036EF38 0036AB98 38 80 00 00 */ li r4, 0 /* 8036EF3C 0036AB9C 90 9D 00 DC */ stw r4, 0xdc(r29) /* 8036EF40 0036ABA0 98 9D 00 31 */ stb r4, 0x31(r29) /* 8036EF44 0036ABA4 98 9D 00 32 */ stb r4, 0x32(r29) /* 8036EF48 0036ABA8 98 9D 00 33 */ stb r4, 0x33(r29) /* 8036EF4C 0036ABAC 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036EF50 0036ABB0 7C 00 07 75 */ extsb. r0, r0 /* 8036EF54 0036ABB4 40 82 00 58 */ bne lbl_8036EFAC /* 8036EF58 0036ABB8 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036EF5C 0036ABBC 3B E3 19 88 */ addi r31, r3, lbl_80621988@l /* 8036EF60 0036ABC0 90 83 19 88 */ stw r4, 0x1988(r3) /* 8036EF64 0036ABC4 38 BF 00 08 */ addi r5, r31, 8 /* 8036EF68 0036ABC8 90 9F 00 08 */ stw r4, 8(r31) /* 8036EF6C 0036ABCC 38 7F 00 20 */ addi r3, r31, 0x20 /* 8036EF70 0036ABD0 90 9F 00 0C */ stw r4, 0xc(r31) /* 8036EF74 0036ABD4 90 9F 00 04 */ stw r4, 4(r31) /* 8036EF78 0036ABD8 90 BF 00 08 */ stw r5, 8(r31) /* 8036EF7C 0036ABDC 90 BF 00 0C */ stw r5, 0xc(r31) /* 8036EF80 0036ABE0 98 9F 00 10 */ stb r4, 0x10(r31) /* 8036EF84 0036ABE4 90 9F 00 14 */ stw r4, 0x14(r31) /* 8036EF88 0036ABE8 4B F0 09 89 */ bl OSInitMutex /* 8036EF8C 0036ABEC 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036EF90 0036ABF0 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036EF94 0036ABF4 7F E3 FB 78 */ mr r3, r31 /* 8036EF98 0036ABF8 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036EF9C 0036ABFC 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036EFA0 0036AC00 4B E5 7C A9 */ bl __register_global_object_tmp /* 8036EFA4 0036AC04 38 00 00 01 */ li r0, 1 /* 8036EFA8 0036AC08 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13) lbl_8036EFAC: /* 8036EFAC 0036AC0C 3F C0 80 62 */ lis r30, lbl_80621988@ha /* 8036EFB0 0036AC10 3B DE 19 88 */ addi r30, r30, lbl_80621988@l /* 8036EFB4 0036AC14 3B FE 00 20 */ addi r31, r30, 0x20 /* 8036EFB8 0036AC18 7F E3 FB 78 */ mr r3, r31 /* 8036EFBC 0036AC1C 4B F0 09 8D */ bl OSLockMutex /* 8036EFC0 0036AC20 38 7E 00 04 */ addi r3, r30, 4 /* 8036EFC4 0036AC24 38 9D 00 E4 */ addi r4, r29, 0xe4 /* 8036EFC8 0036AC28 4B FF 3C AD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode /* 8036EFCC 0036AC2C 2C 1D 00 00 */ cmpwi r29, 0 /* 8036EFD0 0036AC30 41 82 00 10 */ beq lbl_8036EFE0 /* 8036EFD4 0036AC34 7F C3 F3 78 */ mr r3, r30 /* 8036EFD8 0036AC38 7F A4 EB 78 */ mr r4, r29 /* 8036EFDC 0036AC3C 48 00 2B D9 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv lbl_8036EFE0: /* 8036EFE0 0036AC40 7F E3 FB 78 */ mr r3, r31 /* 8036EFE4 0036AC44 4B F0 0A 41 */ bl OSUnlockMutex /* 8036EFE8 0036AC48 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036EFEC 0036AC4C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8036EFF0 0036AC50 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8036EFF4 0036AC54 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8036EFF8 0036AC58 7C 08 03 A6 */ mtlr r0 /* 8036EFFC 0036AC5C 38 21 00 20 */ addi r1, r1, 0x20 /* 8036F000 0036AC60 4E 80 00 20 */ blr .global AllocChannel__Q44nw4r3snd6detail7ChannelFiiiPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl AllocChannel__Q44nw4r3snd6detail7ChannelFiiiPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl: /* 8036F004 0036AC64 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8036F008 0036AC68 7C 08 02 A6 */ mflr r0 /* 8036F00C 0036AC6C 90 01 00 44 */ stw r0, 0x44(r1) /* 8036F010 0036AC70 39 61 00 40 */ addi r11, r1, 0x40 /* 8036F014 0036AC74 4B E5 81 05 */ bl _savegpr_23 /* 8036F018 0036AC78 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036F01C 0036AC7C 7C 7D 1B 78 */ mr r29, r3 /* 8036F020 0036AC80 7C 9E 23 78 */ mr r30, r4 /* 8036F024 0036AC84 7C BF 2B 78 */ mr r31, r5 /* 8036F028 0036AC88 7C 00 07 75 */ extsb. r0, r0 /* 8036F02C 0036AC8C 7C D7 33 78 */ mr r23, r6 /* 8036F030 0036AC90 7C F8 3B 78 */ mr r24, r7 /* 8036F034 0036AC94 40 82 00 5C */ bne lbl_8036F090 /* 8036F038 0036AC98 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036F03C 0036AC9C 38 00 00 00 */ li r0, 0 /* 8036F040 0036ACA0 3B 83 19 88 */ addi r28, r3, lbl_80621988@l /* 8036F044 0036ACA4 90 03 19 88 */ stw r0, 0x1988(r3) /* 8036F048 0036ACA8 38 9C 00 08 */ addi r4, r28, 8 /* 8036F04C 0036ACAC 90 1C 00 08 */ stw r0, 8(r28) /* 8036F050 0036ACB0 38 7C 00 20 */ addi r3, r28, 0x20 /* 8036F054 0036ACB4 90 1C 00 0C */ stw r0, 0xc(r28) /* 8036F058 0036ACB8 90 1C 00 04 */ stw r0, 4(r28) /* 8036F05C 0036ACBC 90 9C 00 08 */ stw r4, 8(r28) /* 8036F060 0036ACC0 90 9C 00 0C */ stw r4, 0xc(r28) /* 8036F064 0036ACC4 98 1C 00 10 */ stb r0, 0x10(r28) /* 8036F068 0036ACC8 90 1C 00 14 */ stw r0, 0x14(r28) /* 8036F06C 0036ACCC 4B F0 08 A5 */ bl OSInitMutex /* 8036F070 0036ACD0 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036F074 0036ACD4 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036F078 0036ACD8 7F 83 E3 78 */ mr r3, r28 /* 8036F07C 0036ACDC 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036F080 0036ACE0 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036F084 0036ACE4 4B E5 7B C5 */ bl __register_global_object_tmp /* 8036F088 0036ACE8 38 00 00 01 */ li r0, 1 /* 8036F08C 0036ACEC 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13) lbl_8036F090: /* 8036F090 0036ACF0 3F 60 80 62 */ lis r27, lbl_80621988@ha /* 8036F094 0036ACF4 3B 7B 19 88 */ addi r27, r27, lbl_80621988@l /* 8036F098 0036ACF8 3B 9B 00 20 */ addi r28, r27, 0x20 /* 8036F09C 0036ACFC 7F 83 E3 78 */ mr r3, r28 /* 8036F0A0 0036AD00 4B F0 08 A9 */ bl OSLockMutex /* 8036F0A4 0036AD04 7F 63 DB 78 */ mr r3, r27 /* 8036F0A8 0036AD08 48 00 2A B1 */ bl AllocImpl__Q44nw4r3snd6detail8PoolImplFv /* 8036F0AC 0036AD0C 2C 03 00 00 */ cmpwi r3, 0 /* 8036F0B0 0036AD10 7C 7A 1B 78 */ mr r26, r3 /* 8036F0B4 0036AD14 40 82 00 0C */ bne lbl_8036F0C0 /* 8036F0B8 0036AD18 3B 40 00 00 */ li r26, 0 /* 8036F0BC 0036AD1C 48 00 00 4C */ b lbl_8036F108 lbl_8036F0C0: /* 8036F0C0 0036AD20 41 82 00 48 */ beq lbl_8036F108 /* 8036F0C4 0036AD24 48 00 0B 75 */ bl __ct__Q44nw4r3snd6detail12EnvGeneratorFv /* 8036F0C8 0036AD28 38 7A 00 18 */ addi r3, r26, 0x18 /* 8036F0CC 0036AD2C 48 00 2B 31 */ bl Init__Q44nw4r3snd6detail8LfoParamFv /* 8036F0D0 0036AD30 38 00 00 00 */ li r0, 0 /* 8036F0D4 0036AD34 C0 02 A5 C0 */ lfs f0, lbl_80642BC0-_SDA2_BASE_(r2) /* 8036F0D8 0036AD38 90 1A 00 28 */ stw r0, 0x28(r26) /* 8036F0DC 0036AD3C D0 1A 00 2C */ stfs f0, 0x2c(r26) /* 8036F0E0 0036AD40 98 1A 00 31 */ stb r0, 0x31(r26) /* 8036F0E4 0036AD44 98 1A 00 32 */ stb r0, 0x32(r26) /* 8036F0E8 0036AD48 98 1A 00 33 */ stb r0, 0x33(r26) /* 8036F0EC 0036AD4C 98 1A 00 B8 */ stb r0, 0xb8(r26) /* 8036F0F0 0036AD50 98 1A 00 B9 */ stb r0, 0xb9(r26) /* 8036F0F4 0036AD54 B0 1A 00 BA */ sth r0, 0xba(r26) /* 8036F0F8 0036AD58 B0 1A 00 BC */ sth r0, 0xbc(r26) /* 8036F0FC 0036AD5C 90 1A 00 DC */ stw r0, 0xdc(r26) /* 8036F100 0036AD60 90 1A 00 E4 */ stw r0, 0xe4(r26) /* 8036F104 0036AD64 90 1A 00 E8 */ stw r0, 0xe8(r26) lbl_8036F108: /* 8036F108 0036AD68 38 1B 00 08 */ addi r0, r27, 8 /* 8036F10C 0036AD6C 3B 3A 00 E4 */ addi r25, r26, 0xe4 /* 8036F110 0036AD70 90 01 00 08 */ stw r0, 8(r1) /* 8036F114 0036AD74 7F 25 CB 78 */ mr r5, r25 /* 8036F118 0036AD78 38 7B 00 04 */ addi r3, r27, 4 /* 8036F11C 0036AD7C 38 81 00 08 */ addi r4, r1, 8 /* 8036F120 0036AD80 4B FF 3B 29 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode /* 8036F124 0036AD84 7F 83 E3 78 */ mr r3, r28 /* 8036F128 0036AD88 4B F0 08 FD */ bl OSUnlockMutex /* 8036F12C 0036AD8C 2C 1A 00 00 */ cmpwi r26, 0 /* 8036F130 0036AD90 40 82 00 0C */ bne lbl_8036F13C /* 8036F134 0036AD94 38 60 00 00 */ li r3, 0 /* 8036F138 0036AD98 48 00 00 F0 */ b lbl_8036F228 lbl_8036F13C: /* 8036F13C 0036AD9C 3B 80 00 01 */ li r28, 1 /* 8036F140 0036ADA0 9B 9A 00 33 */ stb r28, 0x33(r26) /* 8036F144 0036ADA4 48 01 37 BD */ bl GetInstance__Q44nw4r3snd6detail12VoiceManagerFv /* 8036F148 0036ADA8 3C E0 80 37 */ lis r7, VoiceCallbackFunc__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv@ha /* 8036F14C 0036ADAC 7F A4 EB 78 */ mr r4, r29 /* 8036F150 0036ADB0 7F C5 F3 78 */ mr r5, r30 /* 8036F154 0036ADB4 7F E6 FB 78 */ mr r6, r31 /* 8036F158 0036ADB8 7F 48 D3 78 */ mr r8, r26 /* 8036F15C 0036ADBC 38 E7 EE B0 */ addi r7, r7, VoiceCallbackFunc__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv@l /* 8036F160 0036ADC0 48 01 39 65 */ bl AllocVoice__Q44nw4r3snd6detail12VoiceManagerFiiiPFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv_vPv /* 8036F164 0036ADC4 2C 03 00 00 */ cmpwi r3, 0 /* 8036F168 0036ADC8 40 82 00 A8 */ bne lbl_8036F210 /* 8036F16C 0036ADCC 88 0D B1 F8 */ lbz r0, lbl_806404B8-_SDA_BASE_(r13) /* 8036F170 0036ADD0 7C 00 07 75 */ extsb. r0, r0 /* 8036F174 0036ADD4 40 82 00 58 */ bne lbl_8036F1CC /* 8036F178 0036ADD8 3C 60 80 62 */ lis r3, lbl_80621988@ha /* 8036F17C 0036ADDC 38 00 00 00 */ li r0, 0 /* 8036F180 0036ADE0 3B A3 19 88 */ addi r29, r3, lbl_80621988@l /* 8036F184 0036ADE4 90 03 19 88 */ stw r0, 0x1988(r3) /* 8036F188 0036ADE8 38 9D 00 08 */ addi r4, r29, 8 /* 8036F18C 0036ADEC 90 1D 00 08 */ stw r0, 8(r29) /* 8036F190 0036ADF0 38 7D 00 20 */ addi r3, r29, 0x20 /* 8036F194 0036ADF4 90 1D 00 0C */ stw r0, 0xc(r29) /* 8036F198 0036ADF8 90 1D 00 04 */ stw r0, 4(r29) /* 8036F19C 0036ADFC 90 9D 00 08 */ stw r4, 8(r29) /* 8036F1A0 0036AE00 90 9D 00 0C */ stw r4, 0xc(r29) /* 8036F1A4 0036AE04 98 1D 00 10 */ stb r0, 0x10(r29) /* 8036F1A8 0036AE08 90 1D 00 14 */ stw r0, 0x14(r29) /* 8036F1AC 0036AE0C 4B F0 07 65 */ bl OSInitMutex /* 8036F1B0 0036AE10 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@ha /* 8036F1B4 0036AE14 3C A0 80 62 */ lis r5, lbl_80621978@ha /* 8036F1B8 0036AE18 7F A3 EB 78 */ mr r3, r29 /* 8036F1BC 0036AE1C 38 84 E2 28 */ addi r4, r4, __dt__Q44nw4r3snd6detail14ChannelManagerFv@l /* 8036F1C0 0036AE20 38 A5 19 78 */ addi r5, r5, lbl_80621978@l /* 8036F1C4 0036AE24 4B E5 7A 85 */ bl __register_global_object_tmp /* 8036F1C8 0036AE28 9B 8D B1 F8 */ stb r28, lbl_806404B8-_SDA_BASE_(r13) lbl_8036F1CC: /* 8036F1CC 0036AE2C 3F 60 80 62 */ lis r27, lbl_80621988@ha /* 8036F1D0 0036AE30 3B 7B 19 88 */ addi r27, r27, lbl_80621988@l /* 8036F1D4 0036AE34 3B BB 00 20 */ addi r29, r27, 0x20 /* 8036F1D8 0036AE38 7F A3 EB 78 */ mr r3, r29 /* 8036F1DC 0036AE3C 4B F0 07 6D */ bl OSLockMutex /* 8036F1E0 0036AE40 7F 24 CB 78 */ mr r4, r25 /* 8036F1E4 0036AE44 38 7B 00 04 */ addi r3, r27, 4 /* 8036F1E8 0036AE48 4B FF 3A 8D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode /* 8036F1EC 0036AE4C 2C 1A 00 00 */ cmpwi r26, 0 /* 8036F1F0 0036AE50 41 82 00 10 */ beq lbl_8036F200 /* 8036F1F4 0036AE54 7F 63 DB 78 */ mr r3, r27 /* 8036F1F8 0036AE58 7F 44 D3 78 */ mr r4, r26 /* 8036F1FC 0036AE5C 48 00 29 B9 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv lbl_8036F200: /* 8036F200 0036AE60 7F A3 EB 78 */ mr r3, r29 /* 8036F204 0036AE64 4B F0 08 21 */ bl OSUnlockMutex /* 8036F208 0036AE68 38 60 00 00 */ li r3, 0 /* 8036F20C 0036AE6C 48 00 00 1C */ b lbl_8036F228 lbl_8036F210: /* 8036F210 0036AE70 90 7A 00 DC */ stw r3, 0xdc(r26) /* 8036F214 0036AE74 7F 43 D3 78 */ mr r3, r26 /* 8036F218 0036AE78 7E E4 BB 78 */ mr r4, r23 /* 8036F21C 0036AE7C 7F 05 C3 78 */ mr r5, r24 /* 8036F220 0036AE80 4B FF F1 95 */ bl InitParam__Q44nw4r3snd6detail7ChannelFPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl /* 8036F224 0036AE84 7F 43 D3 78 */ mr r3, r26 lbl_8036F228: /* 8036F228 0036AE88 39 61 00 40 */ addi r11, r1, 0x40 /* 8036F22C 0036AE8C 4B E5 7F 39 */ bl _restgpr_23 /* 8036F230 0036AE90 80 01 00 44 */ lwz r0, 0x44(r1) /* 8036F234 0036AE94 7C 08 03 A6 */ mtlr r0 /* 8036F238 0036AE98 38 21 00 40 */ addi r1, r1, 0x40 /* 8036F23C 0036AE9C 4E 80 00 20 */ blr .global FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel: /* 8036F240 0036AEA0 2C 03 00 00 */ cmpwi r3, 0 /* 8036F244 0036AEA4 4D 82 00 20 */ beqlr /* 8036F248 0036AEA8 38 00 00 00 */ li r0, 0 /* 8036F24C 0036AEAC 90 03 00 D4 */ stw r0, 0xd4(r3) /* 8036F250 0036AEB0 90 03 00 D8 */ stw r0, 0xd8(r3) /* 8036F254 0036AEB4 4E 80 00 20 */ blr