.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __ct__Q44nw4r3snd6detail9SeqPlayerFv __ct__Q44nw4r3snd6detail9SeqPlayerFv: /* 80373A60 0036F6C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80373A64 0036F6C4 7C 08 02 A6 */ mflr r0 /* 80373A68 0036F6C8 90 01 00 14 */ stw r0, 0x14(r1) /* 80373A6C 0036F6CC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80373A70 0036F6D0 93 C1 00 08 */ stw r30, 8(r1) /* 80373A74 0036F6D4 7C 7E 1B 78 */ mr r30, r3 /* 80373A78 0036F6D8 4B FF 94 0D */ bl __ct__Q44nw4r3snd6detail11BasicPlayerFv /* 80373A7C 0036F6DC 3C A0 80 45 */ lis r5, lbl_8044CD20@ha /* 80373A80 0036F6E0 3B E0 00 00 */ li r31, 0 /* 80373A84 0036F6E4 38 A5 CD 20 */ addi r5, r5, lbl_8044CD20@l /* 80373A88 0036F6E8 93 FE 00 74 */ stw r31, 0x74(r30) /* 80373A8C 0036F6EC 38 85 00 24 */ addi r4, r5, 0x24 /* 80373A90 0036F6F0 38 7E 01 1C */ addi r3, r30, 0x11c /* 80373A94 0036F6F4 38 05 00 38 */ addi r0, r5, 0x38 /* 80373A98 0036F6F8 93 FE 00 78 */ stw r31, 0x78(r30) /* 80373A9C 0036F6FC 93 FE 00 80 */ stw r31, 0x80(r30) /* 80373AA0 0036F700 93 FE 00 84 */ stw r31, 0x84(r30) /* 80373AA4 0036F704 90 BE 00 00 */ stw r5, 0(r30) /* 80373AA8 0036F708 90 9E 00 7C */ stw r4, 0x7c(r30) /* 80373AAC 0036F70C 90 1E 00 88 */ stw r0, 0x88(r30) /* 80373AB0 0036F710 9B FE 00 8C */ stb r31, 0x8c(r30) /* 80373AB4 0036F714 4B EF BE 5D */ bl OSInitMutex /* 80373AB8 0036F718 C0 22 A6 A8 */ lfs f1, lbl_80642CA8-_SDA2_BASE_(r2) /* 80373ABC 0036F71C 38 C0 00 78 */ li r6, 0x78 /* 80373AC0 0036F720 C0 02 A6 AC */ lfs f0, lbl_80642CAC-_SDA2_BASE_(r2) /* 80373AC4 0036F724 38 A0 00 30 */ li r5, 0x30 /* 80373AC8 0036F728 38 80 00 7F */ li r4, 0x7f /* 80373ACC 0036F72C 38 60 00 40 */ li r3, 0x40 /* 80373AD0 0036F730 9B FE 00 8D */ stb r31, 0x8d(r30) /* 80373AD4 0036F734 38 00 FF FF */ li r0, -1 /* 80373AD8 0036F738 9B FE 00 8E */ stb r31, 0x8e(r30) /* 80373ADC 0036F73C 9B FE 00 8F */ stb r31, 0x8f(r30) /* 80373AE0 0036F740 D0 3E 00 94 */ stfs f1, 0x94(r30) /* 80373AE4 0036F744 B3 FE 00 98 */ sth r31, 0x98(r30) /* 80373AE8 0036F748 93 FE 00 9C */ stw r31, 0x9c(r30) /* 80373AEC 0036F74C D0 1E 00 A0 */ stfs f0, 0xa0(r30) /* 80373AF0 0036F750 D0 3E 00 90 */ stfs f1, 0x90(r30) /* 80373AF4 0036F754 93 FE 01 18 */ stw r31, 0x118(r30) /* 80373AF8 0036F758 93 FE 00 A4 */ stw r31, 0xa4(r30) /* 80373AFC 0036F75C B0 DE 00 AC */ sth r6, 0xac(r30) /* 80373B00 0036F760 98 BE 00 AA */ stb r5, 0xaa(r30) /* 80373B04 0036F764 98 9E 00 A8 */ stb r4, 0xa8(r30) /* 80373B08 0036F768 98 7E 00 A9 */ stb r3, 0xa9(r30) /* 80373B0C 0036F76C 93 FE 00 B0 */ stw r31, 0xb0(r30) /* 80373B10 0036F770 B0 1E 00 F8 */ sth r0, 0xf8(r30) /* 80373B14 0036F774 B0 1E 00 FA */ sth r0, 0xfa(r30) /* 80373B18 0036F778 B0 1E 00 FC */ sth r0, 0xfc(r30) /* 80373B1C 0036F77C B0 1E 00 FE */ sth r0, 0xfe(r30) /* 80373B20 0036F780 B0 1E 01 00 */ sth r0, 0x100(r30) /* 80373B24 0036F784 B0 1E 01 02 */ sth r0, 0x102(r30) /* 80373B28 0036F788 B0 1E 01 04 */ sth r0, 0x104(r30) /* 80373B2C 0036F78C B0 1E 01 06 */ sth r0, 0x106(r30) /* 80373B30 0036F790 B0 1E 01 08 */ sth r0, 0x108(r30) /* 80373B34 0036F794 B0 1E 01 0A */ sth r0, 0x10a(r30) /* 80373B38 0036F798 B0 1E 01 0C */ sth r0, 0x10c(r30) /* 80373B3C 0036F79C B0 1E 01 0E */ sth r0, 0x10e(r30) /* 80373B40 0036F7A0 B0 1E 01 10 */ sth r0, 0x110(r30) /* 80373B44 0036F7A4 B0 1E 01 12 */ sth r0, 0x112(r30) /* 80373B48 0036F7A8 B0 1E 01 14 */ sth r0, 0x114(r30) /* 80373B4C 0036F7AC B0 1E 01 16 */ sth r0, 0x116(r30) /* 80373B50 0036F7B0 38 00 00 00 */ li r0, 0 /* 80373B54 0036F7B4 7F C3 F3 78 */ mr r3, r30 /* 80373B58 0036F7B8 90 1E 00 B8 */ stw r0, 0xb8(r30) /* 80373B5C 0036F7BC 90 1E 00 BC */ stw r0, 0xbc(r30) /* 80373B60 0036F7C0 90 1E 00 C0 */ stw r0, 0xc0(r30) /* 80373B64 0036F7C4 90 1E 00 C4 */ stw r0, 0xc4(r30) /* 80373B68 0036F7C8 90 1E 00 C8 */ stw r0, 0xc8(r30) /* 80373B6C 0036F7CC 90 1E 00 CC */ stw r0, 0xcc(r30) /* 80373B70 0036F7D0 90 1E 00 D0 */ stw r0, 0xd0(r30) /* 80373B74 0036F7D4 90 1E 00 D4 */ stw r0, 0xd4(r30) /* 80373B78 0036F7D8 90 1E 00 D8 */ stw r0, 0xd8(r30) /* 80373B7C 0036F7DC 90 1E 00 DC */ stw r0, 0xdc(r30) /* 80373B80 0036F7E0 90 1E 00 E0 */ stw r0, 0xe0(r30) /* 80373B84 0036F7E4 90 1E 00 E4 */ stw r0, 0xe4(r30) /* 80373B88 0036F7E8 90 1E 00 E8 */ stw r0, 0xe8(r30) /* 80373B8C 0036F7EC 90 1E 00 EC */ stw r0, 0xec(r30) /* 80373B90 0036F7F0 90 1E 00 F0 */ stw r0, 0xf0(r30) /* 80373B94 0036F7F4 90 1E 00 F4 */ stw r0, 0xf4(r30) /* 80373B98 0036F7F8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80373B9C 0036F7FC 83 C1 00 08 */ lwz r30, 8(r1) /* 80373BA0 0036F800 80 01 00 14 */ lwz r0, 0x14(r1) /* 80373BA4 0036F804 7C 08 03 A6 */ mtlr r0 /* 80373BA8 0036F808 38 21 00 10 */ addi r1, r1, 0x10 /* 80373BAC 0036F80C 4E 80 00 20 */ blr .global __dt__Q44nw4r3snd6detail9SeqPlayerFv __dt__Q44nw4r3snd6detail9SeqPlayerFv: /* 80373BB0 0036F810 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373BB4 0036F814 7C 08 02 A6 */ mflr r0 /* 80373BB8 0036F818 90 01 00 24 */ stw r0, 0x24(r1) /* 80373BBC 0036F81C 39 61 00 20 */ addi r11, r1, 0x20 /* 80373BC0 0036F820 4B E5 35 69 */ bl _savegpr_27 /* 80373BC4 0036F824 2C 83 00 00 */ cmpwi cr1, r3, 0 /* 80373BC8 0036F828 7C 7B 1B 78 */ mr r27, r3 /* 80373BCC 0036F82C 7C 9C 23 78 */ mr r28, r4 /* 80373BD0 0036F830 41 86 00 E4 */ beq cr1, lbl_80373CB4 /* 80373BD4 0036F834 88 03 00 8D */ lbz r0, 0x8d(r3) /* 80373BD8 0036F838 3C A0 80 45 */ lis r5, lbl_8044CD20@ha /* 80373BDC 0036F83C 38 A5 CD 20 */ addi r5, r5, lbl_8044CD20@l /* 80373BE0 0036F840 38 85 00 24 */ addi r4, r5, 0x24 /* 80373BE4 0036F844 2C 00 00 00 */ cmpwi r0, 0 /* 80373BE8 0036F848 38 05 00 38 */ addi r0, r5, 0x38 /* 80373BEC 0036F84C 90 A3 00 00 */ stw r5, 0(r3) /* 80373BF0 0036F850 90 83 00 7C */ stw r4, 0x7c(r3) /* 80373BF4 0036F854 90 03 00 88 */ stw r0, 0x88(r3) /* 80373BF8 0036F858 41 82 00 24 */ beq lbl_80373C1C /* 80373BFC 0036F85C 7F 7E DB 78 */ mr r30, r27 /* 80373C00 0036F860 41 86 00 08 */ beq cr1, lbl_80373C08 /* 80373C04 0036F864 3B C3 00 80 */ addi r30, r3, 0x80 lbl_80373C08: /* 80373C08 0036F868 48 00 88 49 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 80373C0C 0036F86C 7F C4 F3 78 */ mr r4, r30 /* 80373C10 0036F870 48 00 8C 71 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 80373C14 0036F874 38 00 00 00 */ li r0, 0 /* 80373C18 0036F878 98 1B 00 8D */ stb r0, 0x8d(r27) lbl_80373C1C: /* 80373C1C 0036F87C 88 1B 00 8C */ lbz r0, 0x8c(r27) /* 80373C20 0036F880 2C 00 00 00 */ cmpwi r0, 0 /* 80373C24 0036F884 41 82 00 28 */ beq lbl_80373C4C /* 80373C28 0036F888 2C 1B 00 00 */ cmpwi r27, 0 /* 80373C2C 0036F88C 7F 7E DB 78 */ mr r30, r27 /* 80373C30 0036F890 41 82 00 08 */ beq lbl_80373C38 /* 80373C34 0036F894 3B DB 00 74 */ addi r30, r27, 0x74 lbl_80373C38: /* 80373C38 0036F898 4B FF B6 21 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80373C3C 0036F89C 7F C4 F3 78 */ mr r4, r30 /* 80373C40 0036F8A0 4B FF B7 6D */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80373C44 0036F8A4 38 00 00 00 */ li r0, 0 /* 80373C48 0036F8A8 98 1B 00 8C */ stb r0, 0x8c(r27) lbl_80373C4C: /* 80373C4C 0036F8AC 7F 7D DB 78 */ mr r29, r27 /* 80373C50 0036F8B0 3B C0 00 00 */ li r30, 0 /* 80373C54 0036F8B4 3B E0 00 00 */ li r31, 0 lbl_80373C58: /* 80373C58 0036F8B8 2C 1E 00 0F */ cmpwi r30, 0xf /* 80373C5C 0036F8BC 40 81 00 0C */ ble lbl_80373C68 /* 80373C60 0036F8C0 38 60 00 00 */ li r3, 0 /* 80373C64 0036F8C4 48 00 00 08 */ b lbl_80373C6C lbl_80373C68: /* 80373C68 0036F8C8 80 7D 00 B8 */ lwz r3, 0xb8(r29) lbl_80373C6C: /* 80373C6C 0036F8CC 2C 03 00 00 */ cmpwi r3, 0 /* 80373C70 0036F8D0 41 82 00 24 */ beq lbl_80373C94 /* 80373C74 0036F8D4 48 00 1A 09 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 80373C78 0036F8D8 80 7B 00 B4 */ lwz r3, 0xb4(r27) /* 80373C7C 0036F8DC 80 9D 00 B8 */ lwz r4, 0xb8(r29) /* 80373C80 0036F8E0 81 83 00 00 */ lwz r12, 0(r3) /* 80373C84 0036F8E4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80373C88 0036F8E8 7D 89 03 A6 */ mtctr r12 /* 80373C8C 0036F8EC 4E 80 04 21 */ bctrl /* 80373C90 0036F8F0 93 FD 00 B8 */ stw r31, 0xb8(r29) lbl_80373C94: /* 80373C94 0036F8F4 3B DE 00 01 */ addi r30, r30, 1 /* 80373C98 0036F8F8 3B BD 00 04 */ addi r29, r29, 4 /* 80373C9C 0036F8FC 2C 1E 00 10 */ cmpwi r30, 0x10 /* 80373CA0 0036F900 41 80 FF B8 */ blt lbl_80373C58 /* 80373CA4 0036F904 2C 1C 00 00 */ cmpwi r28, 0 /* 80373CA8 0036F908 40 81 00 0C */ ble lbl_80373CB4 /* 80373CAC 0036F90C 7F 63 DB 78 */ mr r3, r27 /* 80373CB0 0036F910 4B E6 6E 09 */ bl __dl__FPv lbl_80373CB4: /* 80373CB4 0036F914 39 61 00 20 */ addi r11, r1, 0x20 /* 80373CB8 0036F918 7F 63 DB 78 */ mr r3, r27 /* 80373CBC 0036F91C 4B E5 34 B9 */ bl _restgpr_27 /* 80373CC0 0036F920 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373CC4 0036F924 7C 08 03 A6 */ mtlr r0 /* 80373CC8 0036F928 38 21 00 20 */ addi r1, r1, 0x20 /* 80373CCC 0036F92C 4E 80 00 20 */ blr .global InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback: /* 80373CD0 0036F930 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373CD4 0036F934 7C 08 02 A6 */ mflr r0 /* 80373CD8 0036F938 90 01 00 24 */ stw r0, 0x24(r1) /* 80373CDC 0036F93C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373CE0 0036F940 7C 7F 1B 78 */ mr r31, r3 /* 80373CE4 0036F944 93 C1 00 18 */ stw r30, 0x18(r1) /* 80373CE8 0036F948 7C BE 2B 78 */ mr r30, r5 /* 80373CEC 0036F94C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80373CF0 0036F950 7C 9D 23 78 */ mr r29, r4 /* 80373CF4 0036F954 4B FF 91 D5 */ bl InitParam__Q44nw4r3snd6detail11BasicPlayerFv /* 80373CF8 0036F958 3C 60 00 01 */ lis r3, 0x0000EA60@ha /* 80373CFC 0036F95C 39 20 00 00 */ li r9, 0 /* 80373D00 0036F960 38 E0 00 30 */ li r7, 0x30 /* 80373D04 0036F964 C0 22 A6 A8 */ lfs f1, lbl_80642CA8-_SDA2_BASE_(r2) /* 80373D08 0036F968 38 63 EA 60 */ addi r3, r3, 0x0000EA60@l /* 80373D0C 0036F96C C0 02 A6 AC */ lfs f0, lbl_80642CAC-_SDA2_BASE_(r2) /* 80373D10 0036F970 7C 83 3B D6 */ divw r4, r3, r7 /* 80373D14 0036F974 39 00 00 78 */ li r8, 0x78 /* 80373D18 0036F978 3C 60 55 55 */ lis r3, 0x55555556@ha /* 80373D1C 0036F97C 99 3F 00 8D */ stb r9, 0x8d(r31) /* 80373D20 0036F980 38 C0 00 7F */ li r6, 0x7f /* 80373D24 0036F984 38 63 55 56 */ addi r3, r3, 0x55555556@l /* 80373D28 0036F988 7C 83 20 96 */ mulhw r4, r3, r4 /* 80373D2C 0036F98C 38 A0 00 40 */ li r5, 0x40 /* 80373D30 0036F990 99 3F 00 8E */ stb r9, 0x8e(r31) /* 80373D34 0036F994 38 00 FF FF */ li r0, -1 /* 80373D38 0036F998 D0 3F 00 94 */ stfs f1, 0x94(r31) /* 80373D3C 0036F99C 54 83 0F FE */ srwi r3, r4, 0x1f /* 80373D40 0036F9A0 7C 64 1A 14 */ add r3, r4, r3 /* 80373D44 0036F9A4 91 3F 00 9C */ stw r9, 0x9c(r31) /* 80373D48 0036F9A8 D0 1F 00 A0 */ stfs f0, 0xa0(r31) /* 80373D4C 0036F9AC D0 3F 00 90 */ stfs f1, 0x90(r31) /* 80373D50 0036F9B0 91 3F 01 18 */ stw r9, 0x118(r31) /* 80373D54 0036F9B4 93 BF 00 A4 */ stw r29, 0xa4(r31) /* 80373D58 0036F9B8 B1 1F 00 AC */ sth r8, 0xac(r31) /* 80373D5C 0036F9BC 98 FF 00 AA */ stb r7, 0xaa(r31) /* 80373D60 0036F9C0 98 DF 00 A8 */ stb r6, 0xa8(r31) /* 80373D64 0036F9C4 98 BF 00 A9 */ stb r5, 0xa9(r31) /* 80373D68 0036F9C8 93 DF 00 B0 */ stw r30, 0xb0(r31) /* 80373D6C 0036F9CC B0 7F 00 98 */ sth r3, 0x98(r31) /* 80373D70 0036F9D0 B0 1F 00 F8 */ sth r0, 0xf8(r31) /* 80373D74 0036F9D4 B0 1F 00 FA */ sth r0, 0xfa(r31) /* 80373D78 0036F9D8 B0 1F 00 FC */ sth r0, 0xfc(r31) /* 80373D7C 0036F9DC B0 1F 00 FE */ sth r0, 0xfe(r31) /* 80373D80 0036F9E0 B0 1F 01 00 */ sth r0, 0x100(r31) /* 80373D84 0036F9E4 B0 1F 01 02 */ sth r0, 0x102(r31) /* 80373D88 0036F9E8 B0 1F 01 04 */ sth r0, 0x104(r31) /* 80373D8C 0036F9EC B0 1F 01 06 */ sth r0, 0x106(r31) /* 80373D90 0036F9F0 B0 1F 01 08 */ sth r0, 0x108(r31) /* 80373D94 0036F9F4 B0 1F 01 0A */ sth r0, 0x10a(r31) /* 80373D98 0036F9F8 B0 1F 01 0C */ sth r0, 0x10c(r31) /* 80373D9C 0036F9FC B0 1F 01 0E */ sth r0, 0x10e(r31) /* 80373DA0 0036FA00 B0 1F 01 10 */ sth r0, 0x110(r31) /* 80373DA4 0036FA04 B0 1F 01 12 */ sth r0, 0x112(r31) /* 80373DA8 0036FA08 B0 1F 01 14 */ sth r0, 0x114(r31) /* 80373DAC 0036FA0C B0 1F 01 16 */ sth r0, 0x116(r31) /* 80373DB0 0036FA10 38 00 00 00 */ li r0, 0 /* 80373DB4 0036FA14 90 1F 00 B8 */ stw r0, 0xb8(r31) /* 80373DB8 0036FA18 90 1F 00 BC */ stw r0, 0xbc(r31) /* 80373DBC 0036FA1C 90 1F 00 C0 */ stw r0, 0xc0(r31) /* 80373DC0 0036FA20 90 1F 00 C4 */ stw r0, 0xc4(r31) /* 80373DC4 0036FA24 90 1F 00 C8 */ stw r0, 0xc8(r31) /* 80373DC8 0036FA28 90 1F 00 CC */ stw r0, 0xcc(r31) /* 80373DCC 0036FA2C 90 1F 00 D0 */ stw r0, 0xd0(r31) /* 80373DD0 0036FA30 90 1F 00 D4 */ stw r0, 0xd4(r31) /* 80373DD4 0036FA34 90 1F 00 D8 */ stw r0, 0xd8(r31) /* 80373DD8 0036FA38 90 1F 00 DC */ stw r0, 0xdc(r31) /* 80373DDC 0036FA3C 90 1F 00 E0 */ stw r0, 0xe0(r31) /* 80373DE0 0036FA40 90 1F 00 E4 */ stw r0, 0xe4(r31) /* 80373DE4 0036FA44 90 1F 00 E8 */ stw r0, 0xe8(r31) /* 80373DE8 0036FA48 90 1F 00 EC */ stw r0, 0xec(r31) /* 80373DEC 0036FA4C 90 1F 00 F0 */ stw r0, 0xf0(r31) /* 80373DF0 0036FA50 90 1F 00 F4 */ stw r0, 0xf4(r31) /* 80373DF4 0036FA54 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373DF8 0036FA58 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373DFC 0036FA5C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80373E00 0036FA60 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373E04 0036FA64 7C 08 03 A6 */ mtlr r0 /* 80373E08 0036FA68 38 21 00 20 */ addi r1, r1, 0x20 /* 80373E0C 0036FA6C 4E 80 00 20 */ blr .global Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback: /* 80373E10 0036FA70 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80373E14 0036FA74 7C 08 02 A6 */ mflr r0 /* 80373E18 0036FA78 90 01 00 34 */ stw r0, 0x34(r1) /* 80373E1C 0036FA7C 39 61 00 30 */ addi r11, r1, 0x30 /* 80373E20 0036FA80 4B E5 32 F9 */ bl _savegpr_23 /* 80373E24 0036FA84 3B 63 01 1C */ addi r27, r3, 0x11c /* 80373E28 0036FA88 7C 7D 1B 78 */ mr r29, r3 /* 80373E2C 0036FA8C 7C 9E 23 78 */ mr r30, r4 /* 80373E30 0036FA90 7C BF 2B 78 */ mr r31, r5 /* 80373E34 0036FA94 7C D7 33 78 */ mr r23, r6 /* 80373E38 0036FA98 7C F8 3B 78 */ mr r24, r7 /* 80373E3C 0036FA9C 7F 63 DB 78 */ mr r3, r27 /* 80373E40 0036FAA0 4B EF BB 09 */ bl OSLockMutex /* 80373E44 0036FAA4 88 1D 00 8D */ lbz r0, 0x8d(r29) /* 80373E48 0036FAA8 2C 00 00 00 */ cmpwi r0, 0 /* 80373E4C 0036FAAC 41 82 00 28 */ beq lbl_80373E74 /* 80373E50 0036FAB0 2C 1D 00 00 */ cmpwi r29, 0 /* 80373E54 0036FAB4 7F BA EB 78 */ mr r26, r29 /* 80373E58 0036FAB8 41 82 00 08 */ beq lbl_80373E60 /* 80373E5C 0036FABC 3B 5D 00 80 */ addi r26, r29, 0x80 lbl_80373E60: /* 80373E60 0036FAC0 48 00 85 F1 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 80373E64 0036FAC4 7F 44 D3 78 */ mr r4, r26 /* 80373E68 0036FAC8 48 00 8A 19 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 80373E6C 0036FACC 38 00 00 00 */ li r0, 0 /* 80373E70 0036FAD0 98 1D 00 8D */ stb r0, 0x8d(r29) lbl_80373E74: /* 80373E74 0036FAD4 88 1D 00 8C */ lbz r0, 0x8c(r29) /* 80373E78 0036FAD8 2C 00 00 00 */ cmpwi r0, 0 /* 80373E7C 0036FADC 41 82 00 28 */ beq lbl_80373EA4 /* 80373E80 0036FAE0 2C 1D 00 00 */ cmpwi r29, 0 /* 80373E84 0036FAE4 7F BA EB 78 */ mr r26, r29 /* 80373E88 0036FAE8 41 82 00 08 */ beq lbl_80373E90 /* 80373E8C 0036FAEC 3B 5D 00 74 */ addi r26, r29, 0x74 lbl_80373E90: /* 80373E90 0036FAF0 4B FF B3 C9 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80373E94 0036FAF4 7F 44 D3 78 */ mr r4, r26 /* 80373E98 0036FAF8 4B FF B5 15 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80373E9C 0036FAFC 38 00 00 00 */ li r0, 0 /* 80373EA0 0036FB00 98 1D 00 8C */ stb r0, 0x8c(r29) lbl_80373EA4: /* 80373EA4 0036FB04 7F B9 EB 78 */ mr r25, r29 /* 80373EA8 0036FB08 3B 40 00 00 */ li r26, 0 /* 80373EAC 0036FB0C 3B 80 00 00 */ li r28, 0 lbl_80373EB0: /* 80373EB0 0036FB10 2C 1A 00 0F */ cmpwi r26, 0xf /* 80373EB4 0036FB14 40 81 00 0C */ ble lbl_80373EC0 /* 80373EB8 0036FB18 38 60 00 00 */ li r3, 0 /* 80373EBC 0036FB1C 48 00 00 08 */ b lbl_80373EC4 lbl_80373EC0: /* 80373EC0 0036FB20 80 79 00 B8 */ lwz r3, 0xb8(r25) lbl_80373EC4: /* 80373EC4 0036FB24 2C 03 00 00 */ cmpwi r3, 0 /* 80373EC8 0036FB28 41 82 00 24 */ beq lbl_80373EEC /* 80373ECC 0036FB2C 48 00 17 B1 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 80373ED0 0036FB30 80 7D 00 B4 */ lwz r3, 0xb4(r29) /* 80373ED4 0036FB34 80 99 00 B8 */ lwz r4, 0xb8(r25) /* 80373ED8 0036FB38 81 83 00 00 */ lwz r12, 0(r3) /* 80373EDC 0036FB3C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80373EE0 0036FB40 7D 89 03 A6 */ mtctr r12 /* 80373EE4 0036FB44 4E 80 04 21 */ bctrl /* 80373EE8 0036FB48 93 99 00 B8 */ stw r28, 0xb8(r25) lbl_80373EEC: /* 80373EEC 0036FB4C 3B 5A 00 01 */ addi r26, r26, 1 /* 80373EF0 0036FB50 3B 39 00 04 */ addi r25, r25, 4 /* 80373EF4 0036FB54 2C 1A 00 10 */ cmpwi r26, 0x10 /* 80373EF8 0036FB58 41 80 FF B8 */ blt lbl_80373EB0 /* 80373EFC 0036FB5C 7F A3 EB 78 */ mr r3, r29 /* 80373F00 0036FB60 7E E4 BB 78 */ mr r4, r23 /* 80373F04 0036FB64 7F 05 C3 78 */ mr r5, r24 /* 80373F08 0036FB68 4B FF FD C9 */ bl InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback /* 80373F0C 0036FB6C 4B EF A8 51 */ bl OSDisableInterrupts /* 80373F10 0036FB70 7C 7C 1B 78 */ mr r28, r3 /* 80373F14 0036FB74 7F E3 FB 78 */ mr r3, r31 /* 80373F18 0036FB78 3B 20 00 00 */ li r25, 0 /* 80373F1C 0036FB7C 48 00 00 14 */ b lbl_80373F30 lbl_80373F20: /* 80373F20 0036FB80 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80373F24 0036FB84 41 82 00 08 */ beq lbl_80373F2C /* 80373F28 0036FB88 3B 39 00 01 */ addi r25, r25, 1 lbl_80373F2C: /* 80373F2C 0036FB8C 54 63 F8 7E */ srwi r3, r3, 1 lbl_80373F30: /* 80373F30 0036FB90 2C 03 00 00 */ cmpwi r3, 0 /* 80373F34 0036FB94 40 82 FF EC */ bne lbl_80373F20 /* 80373F38 0036FB98 81 9E 00 00 */ lwz r12, 0(r30) /* 80373F3C 0036FB9C 7F C3 F3 78 */ mr r3, r30 /* 80373F40 0036FBA0 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80373F44 0036FBA4 7D 89 03 A6 */ mtctr r12 /* 80373F48 0036FBA8 4E 80 04 21 */ bctrl /* 80373F4C 0036FBAC 7C 19 18 00 */ cmpw r25, r3 /* 80373F50 0036FBB0 40 81 00 1C */ ble lbl_80373F6C /* 80373F54 0036FBB4 7F 83 E3 78 */ mr r3, r28 /* 80373F58 0036FBB8 4B EF A8 2D */ bl OSRestoreInterrupts /* 80373F5C 0036FBBC 7F 63 DB 78 */ mr r3, r27 /* 80373F60 0036FBC0 4B EF BA C5 */ bl OSUnlockMutex /* 80373F64 0036FBC4 38 60 00 01 */ li r3, 1 /* 80373F68 0036FBC8 48 00 00 94 */ b lbl_80373FFC lbl_80373F6C: /* 80373F6C 0036FBCC 7F BA EB 78 */ mr r26, r29 /* 80373F70 0036FBD0 3B 20 00 00 */ li r25, 0 /* 80373F74 0036FBD4 48 00 00 44 */ b lbl_80373FB8 lbl_80373F78: /* 80373F78 0036FBD8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 80373F7C 0036FBDC 41 82 00 30 */ beq lbl_80373FAC /* 80373F80 0036FBE0 81 9E 00 00 */ lwz r12, 0(r30) /* 80373F84 0036FBE4 7F C3 F3 78 */ mr r3, r30 /* 80373F88 0036FBE8 7F A4 EB 78 */ mr r4, r29 /* 80373F8C 0036FBEC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80373F90 0036FBF0 7D 89 03 A6 */ mtctr r12 /* 80373F94 0036FBF4 4E 80 04 21 */ bctrl /* 80373F98 0036FBF8 2C 19 00 0F */ cmpwi r25, 0xf /* 80373F9C 0036FBFC 41 81 00 10 */ bgt lbl_80373FAC /* 80373FA0 0036FC00 90 7A 00 B8 */ stw r3, 0xb8(r26) /* 80373FA4 0036FC04 7F 24 CB 78 */ mr r4, r25 /* 80373FA8 0036FC08 48 00 13 FD */ bl SetPlayerTrackNo__Q44nw4r3snd6detail8SeqTrackFi lbl_80373FAC: /* 80373FAC 0036FC0C 57 FF F8 7E */ srwi r31, r31, 1 /* 80373FB0 0036FC10 3B 5A 00 04 */ addi r26, r26, 4 /* 80373FB4 0036FC14 3B 39 00 01 */ addi r25, r25, 1 lbl_80373FB8: /* 80373FB8 0036FC18 2C 1F 00 00 */ cmpwi r31, 0 /* 80373FBC 0036FC1C 40 82 FF BC */ bne lbl_80373F78 /* 80373FC0 0036FC20 7F 83 E3 78 */ mr r3, r28 /* 80373FC4 0036FC24 4B EF A7 C1 */ bl OSRestoreInterrupts /* 80373FC8 0036FC28 2C 1D 00 00 */ cmpwi r29, 0 /* 80373FCC 0036FC2C 7F BA EB 78 */ mr r26, r29 /* 80373FD0 0036FC30 41 82 00 08 */ beq lbl_80373FD8 /* 80373FD4 0036FC34 3B 5D 00 74 */ addi r26, r29, 0x74 lbl_80373FD8: /* 80373FD8 0036FC38 4B FF B2 81 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80373FDC 0036FC3C 7F 44 D3 78 */ mr r4, r26 /* 80373FE0 0036FC40 4B FF B3 75 */ bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv /* 80373FE4 0036FC44 38 00 00 01 */ li r0, 1 /* 80373FE8 0036FC48 93 DD 00 B4 */ stw r30, 0xb4(r29) /* 80373FEC 0036FC4C 7F 63 DB 78 */ mr r3, r27 /* 80373FF0 0036FC50 98 1D 00 8C */ stb r0, 0x8c(r29) /* 80373FF4 0036FC54 4B EF BA 31 */ bl OSUnlockMutex /* 80373FF8 0036FC58 38 60 00 00 */ li r3, 0 lbl_80373FFC: /* 80373FFC 0036FC5C 39 61 00 30 */ addi r11, r1, 0x30 /* 80374000 0036FC60 4B E5 31 65 */ bl _restgpr_23 /* 80374004 0036FC64 80 01 00 34 */ lwz r0, 0x34(r1) /* 80374008 0036FC68 7C 08 03 A6 */ mtlr r0 /* 8037400C 0036FC6C 38 21 00 30 */ addi r1, r1, 0x30 /* 80374010 0036FC70 4E 80 00 20 */ blr .global SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl: /* 80374014 0036FC74 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80374018 0036FC78 7C 08 02 A6 */ mflr r0 /* 8037401C 0036FC7C 90 01 00 24 */ stw r0, 0x24(r1) /* 80374020 0036FC80 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80374024 0036FC84 3B E3 01 1C */ addi r31, r3, 0x11c /* 80374028 0036FC88 93 C1 00 18 */ stw r30, 0x18(r1) /* 8037402C 0036FC8C 7C 7E 1B 78 */ mr r30, r3 /* 80374030 0036FC90 7F E3 FB 78 */ mr r3, r31 /* 80374034 0036FC94 93 A1 00 14 */ stw r29, 0x14(r1) /* 80374038 0036FC98 7C BD 2B 78 */ mr r29, r5 /* 8037403C 0036FC9C 93 81 00 10 */ stw r28, 0x10(r1) /* 80374040 0036FCA0 7C 9C 23 78 */ mr r28, r4 /* 80374044 0036FCA4 4B EF B9 05 */ bl OSLockMutex /* 80374048 0036FCA8 2C 1C 00 00 */ cmpwi r28, 0 /* 8037404C 0036FCAC 83 DE 00 B8 */ lwz r30, 0xb8(r30) /* 80374050 0036FCB0 41 82 00 1C */ beq lbl_8037406C /* 80374054 0036FCB4 7F C3 F3 78 */ mr r3, r30 /* 80374058 0036FCB8 7F 84 E3 78 */ mr r4, r28 /* 8037405C 0036FCBC 7F A5 EB 78 */ mr r5, r29 /* 80374060 0036FCC0 48 00 16 01 */ bl SetSeqData__Q44nw4r3snd6detail8SeqTrackFPCvl /* 80374064 0036FCC4 7F C3 F3 78 */ mr r3, r30 /* 80374068 0036FCC8 48 00 16 09 */ bl Open__Q44nw4r3snd6detail8SeqTrackFv lbl_8037406C: /* 8037406C 0036FCCC 7F E3 FB 78 */ mr r3, r31 /* 80374070 0036FCD0 4B EF B9 B5 */ bl OSUnlockMutex /* 80374074 0036FCD4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80374078 0036FCD8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8037407C 0036FCDC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80374080 0036FCE0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80374084 0036FCE4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80374088 0036FCE8 7C 08 03 A6 */ mtlr r0 /* 8037408C 0036FCEC 38 21 00 20 */ addi r1, r1, 0x20 /* 80374090 0036FCF0 4E 80 00 20 */ blr .global Start__Q44nw4r3snd6detail9SeqPlayerFv Start__Q44nw4r3snd6detail9SeqPlayerFv: /* 80374094 0036FCF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80374098 0036FCF8 7C 08 02 A6 */ mflr r0 /* 8037409C 0036FCFC 90 01 00 24 */ stw r0, 0x24(r1) /* 803740A0 0036FD00 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803740A4 0036FD04 3B E3 01 1C */ addi r31, r3, 0x11c /* 803740A8 0036FD08 93 C1 00 18 */ stw r30, 0x18(r1) /* 803740AC 0036FD0C 93 A1 00 14 */ stw r29, 0x14(r1) /* 803740B0 0036FD10 7C 7D 1B 78 */ mr r29, r3 /* 803740B4 0036FD14 7F E3 FB 78 */ mr r3, r31 /* 803740B8 0036FD18 4B EF B8 91 */ bl OSLockMutex /* 803740BC 0036FD1C 2C 1D 00 00 */ cmpwi r29, 0 /* 803740C0 0036FD20 7F BE EB 78 */ mr r30, r29 /* 803740C4 0036FD24 41 82 00 08 */ beq lbl_803740CC /* 803740C8 0036FD28 3B DD 00 80 */ addi r30, r29, 0x80 lbl_803740CC: /* 803740CC 0036FD2C 48 00 83 85 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 803740D0 0036FD30 7F C4 F3 78 */ mr r4, r30 /* 803740D4 0036FD34 48 00 87 49 */ bl RegisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 803740D8 0036FD38 38 00 00 01 */ li r0, 1 /* 803740DC 0036FD3C 7F E3 FB 78 */ mr r3, r31 /* 803740E0 0036FD40 98 1D 00 8D */ stb r0, 0x8d(r29) /* 803740E4 0036FD44 4B EF B9 41 */ bl OSUnlockMutex /* 803740E8 0036FD48 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803740EC 0036FD4C 38 60 00 01 */ li r3, 1 /* 803740F0 0036FD50 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803740F4 0036FD54 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803740F8 0036FD58 80 01 00 24 */ lwz r0, 0x24(r1) /* 803740FC 0036FD5C 7C 08 03 A6 */ mtlr r0 /* 80374100 0036FD60 38 21 00 20 */ addi r1, r1, 0x20 /* 80374104 0036FD64 4E 80 00 20 */ blr .global Stop__Q44nw4r3snd6detail9SeqPlayerFv Stop__Q44nw4r3snd6detail9SeqPlayerFv: /* 80374108 0036FD68 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8037410C 0036FD6C 7C 08 02 A6 */ mflr r0 /* 80374110 0036FD70 90 01 00 24 */ stw r0, 0x24(r1) /* 80374114 0036FD74 39 61 00 20 */ addi r11, r1, 0x20 /* 80374118 0036FD78 4B E5 30 11 */ bl _savegpr_27 /* 8037411C 0036FD7C 3B C3 01 1C */ addi r30, r3, 0x11c /* 80374120 0036FD80 7C 7B 1B 78 */ mr r27, r3 /* 80374124 0036FD84 7F C3 F3 78 */ mr r3, r30 /* 80374128 0036FD88 4B EF B8 21 */ bl OSLockMutex /* 8037412C 0036FD8C 88 1B 00 8D */ lbz r0, 0x8d(r27) /* 80374130 0036FD90 2C 00 00 00 */ cmpwi r0, 0 /* 80374134 0036FD94 41 82 00 28 */ beq lbl_8037415C /* 80374138 0036FD98 2C 1B 00 00 */ cmpwi r27, 0 /* 8037413C 0036FD9C 7F 7D DB 78 */ mr r29, r27 /* 80374140 0036FDA0 41 82 00 08 */ beq lbl_80374148 /* 80374144 0036FDA4 3B BB 00 80 */ addi r29, r27, 0x80 lbl_80374148: /* 80374148 0036FDA8 48 00 83 09 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 8037414C 0036FDAC 7F A4 EB 78 */ mr r4, r29 /* 80374150 0036FDB0 48 00 87 31 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 80374154 0036FDB4 38 00 00 00 */ li r0, 0 /* 80374158 0036FDB8 98 1B 00 8D */ stb r0, 0x8d(r27) lbl_8037415C: /* 8037415C 0036FDBC 88 1B 00 8C */ lbz r0, 0x8c(r27) /* 80374160 0036FDC0 2C 00 00 00 */ cmpwi r0, 0 /* 80374164 0036FDC4 41 82 00 28 */ beq lbl_8037418C /* 80374168 0036FDC8 2C 1B 00 00 */ cmpwi r27, 0 /* 8037416C 0036FDCC 7F 7D DB 78 */ mr r29, r27 /* 80374170 0036FDD0 41 82 00 08 */ beq lbl_80374178 /* 80374174 0036FDD4 3B BB 00 74 */ addi r29, r27, 0x74 lbl_80374178: /* 80374178 0036FDD8 4B FF B0 E1 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 8037417C 0036FDDC 7F A4 EB 78 */ mr r4, r29 /* 80374180 0036FDE0 4B FF B2 2D */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80374184 0036FDE4 38 00 00 00 */ li r0, 0 /* 80374188 0036FDE8 98 1B 00 8C */ stb r0, 0x8c(r27) lbl_8037418C: /* 8037418C 0036FDEC 7F 7C DB 78 */ mr r28, r27 /* 80374190 0036FDF0 3B A0 00 00 */ li r29, 0 /* 80374194 0036FDF4 3B E0 00 00 */ li r31, 0 lbl_80374198: /* 80374198 0036FDF8 2C 1D 00 0F */ cmpwi r29, 0xf /* 8037419C 0036FDFC 40 81 00 0C */ ble lbl_803741A8 /* 803741A0 0036FE00 38 60 00 00 */ li r3, 0 /* 803741A4 0036FE04 48 00 00 08 */ b lbl_803741AC lbl_803741A8: /* 803741A8 0036FE08 80 7C 00 B8 */ lwz r3, 0xb8(r28) lbl_803741AC: /* 803741AC 0036FE0C 2C 03 00 00 */ cmpwi r3, 0 /* 803741B0 0036FE10 41 82 00 24 */ beq lbl_803741D4 /* 803741B4 0036FE14 48 00 14 C9 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 803741B8 0036FE18 80 7B 00 B4 */ lwz r3, 0xb4(r27) /* 803741BC 0036FE1C 80 9C 00 B8 */ lwz r4, 0xb8(r28) /* 803741C0 0036FE20 81 83 00 00 */ lwz r12, 0(r3) /* 803741C4 0036FE24 81 8C 00 10 */ lwz r12, 0x10(r12) /* 803741C8 0036FE28 7D 89 03 A6 */ mtctr r12 /* 803741CC 0036FE2C 4E 80 04 21 */ bctrl /* 803741D0 0036FE30 93 FC 00 B8 */ stw r31, 0xb8(r28) lbl_803741D4: /* 803741D4 0036FE34 3B BD 00 01 */ addi r29, r29, 1 /* 803741D8 0036FE38 3B 9C 00 04 */ addi r28, r28, 4 /* 803741DC 0036FE3C 2C 1D 00 10 */ cmpwi r29, 0x10 /* 803741E0 0036FE40 41 80 FF B8 */ blt lbl_80374198 /* 803741E4 0036FE44 7F C3 F3 78 */ mr r3, r30 /* 803741E8 0036FE48 4B EF B8 3D */ bl OSUnlockMutex /* 803741EC 0036FE4C 39 61 00 20 */ addi r11, r1, 0x20 /* 803741F0 0036FE50 4B E5 2F 85 */ bl _restgpr_27 /* 803741F4 0036FE54 80 01 00 24 */ lwz r0, 0x24(r1) /* 803741F8 0036FE58 7C 08 03 A6 */ mtlr r0 /* 803741FC 0036FE5C 38 21 00 20 */ addi r1, r1, 0x20 /* 80374200 0036FE60 4E 80 00 20 */ blr .global Pause__Q44nw4r3snd6detail9SeqPlayerFb Pause__Q44nw4r3snd6detail9SeqPlayerFb: /* 80374204 0036FE64 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80374208 0036FE68 7C 08 02 A6 */ mflr r0 /* 8037420C 0036FE6C 90 01 00 24 */ stw r0, 0x24(r1) /* 80374210 0036FE70 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80374214 0036FE74 3B E3 01 1C */ addi r31, r3, 0x11c /* 80374218 0036FE78 93 C1 00 18 */ stw r30, 0x18(r1) /* 8037421C 0036FE7C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80374220 0036FE80 7C 9D 23 78 */ mr r29, r4 /* 80374224 0036FE84 93 81 00 10 */ stw r28, 0x10(r1) /* 80374228 0036FE88 7C 7C 1B 78 */ mr r28, r3 /* 8037422C 0036FE8C 7F E3 FB 78 */ mr r3, r31 /* 80374230 0036FE90 4B EF B7 19 */ bl OSLockMutex /* 80374234 0036FE94 57 A3 06 3E */ clrlwi r3, r29, 0x18 /* 80374238 0036FE98 3B C0 00 00 */ li r30, 0 /* 8037423C 0036FE9C 7C 03 00 D0 */ neg r0, r3 /* 80374240 0036FEA0 7C 00 1B 78 */ or r0, r0, r3 /* 80374244 0036FEA4 54 00 0F FE */ srwi r0, r0, 0x1f /* 80374248 0036FEA8 98 1C 00 8E */ stb r0, 0x8e(r28) lbl_8037424C: /* 8037424C 0036FEAC 2C 1E 00 0F */ cmpwi r30, 0xf /* 80374250 0036FEB0 40 81 00 0C */ ble lbl_8037425C /* 80374254 0036FEB4 38 60 00 00 */ li r3, 0 /* 80374258 0036FEB8 48 00 00 08 */ b lbl_80374260 lbl_8037425C: /* 8037425C 0036FEBC 80 7C 00 B8 */ lwz r3, 0xb8(r28) lbl_80374260: /* 80374260 0036FEC0 2C 03 00 00 */ cmpwi r3, 0 /* 80374264 0036FEC4 41 82 00 0C */ beq lbl_80374270 /* 80374268 0036FEC8 7F A4 EB 78 */ mr r4, r29 /* 8037426C 0036FECC 48 00 17 45 */ bl PauseAllChannel__Q44nw4r3snd6detail8SeqTrackFb lbl_80374270: /* 80374270 0036FED0 3B DE 00 01 */ addi r30, r30, 1 /* 80374274 0036FED4 3B 9C 00 04 */ addi r28, r28, 4 /* 80374278 0036FED8 2C 1E 00 10 */ cmpwi r30, 0x10 /* 8037427C 0036FEDC 41 80 FF D0 */ blt lbl_8037424C /* 80374280 0036FEE0 7F E3 FB 78 */ mr r3, r31 /* 80374284 0036FEE4 4B EF B7 A1 */ bl OSUnlockMutex /* 80374288 0036FEE8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8037428C 0036FEEC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80374290 0036FEF0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80374294 0036FEF4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80374298 0036FEF8 83 81 00 10 */ lwz r28, 0x10(r1) /* 8037429C 0036FEFC 7C 08 03 A6 */ mtlr r0 /* 803742A0 0036FF00 38 21 00 20 */ addi r1, r1, 0x20 /* 803742A4 0036FF04 4E 80 00 20 */ blr .global Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei: /* 803742A8 0036FF08 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803742AC 0036FF0C 7C 08 02 A6 */ mflr r0 /* 803742B0 0036FF10 90 01 00 24 */ stw r0, 0x24(r1) /* 803742B4 0036FF14 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803742B8 0036FF18 93 C1 00 18 */ stw r30, 0x18(r1) /* 803742BC 0036FF1C 7C BE 2B 78 */ mr r30, r5 /* 803742C0 0036FF20 93 A1 00 14 */ stw r29, 0x14(r1) /* 803742C4 0036FF24 7C 9D 23 78 */ mr r29, r4 /* 803742C8 0036FF28 93 81 00 10 */ stw r28, 0x10(r1) /* 803742CC 0036FF2C 7C 7C 1B 78 */ mr r28, r3 /* 803742D0 0036FF30 88 03 00 8C */ lbz r0, 0x8c(r3) /* 803742D4 0036FF34 2C 00 00 00 */ cmpwi r0, 0 /* 803742D8 0036FF38 41 82 00 68 */ beq lbl_80374340 /* 803742DC 0036FF3C 3B E3 01 1C */ addi r31, r3, 0x11c /* 803742E0 0036FF40 7F E3 FB 78 */ mr r3, r31 /* 803742E4 0036FF44 4B EF B6 65 */ bl OSLockMutex /* 803742E8 0036FF48 2C 1D 00 01 */ cmpwi r29, 1 /* 803742EC 0036FF4C 41 82 00 24 */ beq lbl_80374310 /* 803742F0 0036FF50 40 80 00 48 */ bge lbl_80374338 /* 803742F4 0036FF54 2C 1D 00 00 */ cmpwi r29, 0 /* 803742F8 0036FF58 40 80 00 08 */ bge lbl_80374300 /* 803742FC 0036FF5C 48 00 00 3C */ b lbl_80374338 lbl_80374300: /* 80374300 0036FF60 80 1C 00 9C */ lwz r0, 0x9c(r28) /* 80374304 0036FF64 7C 00 F2 14 */ add r0, r0, r30 /* 80374308 0036FF68 90 1C 00 9C */ stw r0, 0x9c(r28) /* 8037430C 0036FF6C 48 00 00 2C */ b lbl_80374338 lbl_80374310: /* 80374310 0036FF70 6F C3 80 00 */ xoris r3, r30, 0x8000 /* 80374314 0036FF74 3C 00 43 30 */ lis r0, 0x4330 /* 80374318 0036FF78 90 61 00 0C */ stw r3, 0xc(r1) /* 8037431C 0036FF7C C8 42 A6 B0 */ lfd f2, lbl_80642CB0-_SDA2_BASE_(r2) /* 80374320 0036FF80 90 01 00 08 */ stw r0, 8(r1) /* 80374324 0036FF84 C0 1C 00 A0 */ lfs f0, 0xa0(r28) /* 80374328 0036FF88 C8 21 00 08 */ lfd f1, 8(r1) /* 8037432C 0036FF8C EC 21 10 28 */ fsubs f1, f1, f2 /* 80374330 0036FF90 EC 00 08 2A */ fadds f0, f0, f1 /* 80374334 0036FF94 D0 1C 00 A0 */ stfs f0, 0xa0(r28) lbl_80374338: /* 80374338 0036FF98 7F E3 FB 78 */ mr r3, r31 /* 8037433C 0036FF9C 4B EF B6 E9 */ bl OSUnlockMutex lbl_80374340: /* 80374340 0036FFA0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80374344 0036FFA4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80374348 0036FFA8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8037434C 0036FFAC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80374350 0036FFB0 83 81 00 10 */ lwz r28, 0x10(r1) /* 80374354 0036FFB4 7C 08 03 A6 */ mtlr r0 /* 80374358 0036FFB8 38 21 00 20 */ addi r1, r1, 0x20 /* 8037435C 0036FFBC 4E 80 00 20 */ blr .global SetPanRange__Q44nw4r3snd6detail9SeqPlayerFf SetPanRange__Q44nw4r3snd6detail9SeqPlayerFf: /* 80374360 0036FFC0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80374364 0036FFC4 7C 08 02 A6 */ mflr r0 /* 80374368 0036FFC8 90 01 00 24 */ stw r0, 0x24(r1) /* 8037436C 0036FFCC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80374370 0036FFD0 3B E3 01 1C */ addi r31, r3, 0x11c /* 80374374 0036FFD4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80374378 0036FFD8 7C 9E 23 78 */ mr r30, r4 /* 8037437C 0036FFDC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80374380 0036FFE0 7C 7D 1B 78 */ mr r29, r3 /* 80374384 0036FFE4 7F E3 FB 78 */ mr r3, r31 /* 80374388 0036FFE8 4B EF B5 C1 */ bl OSLockMutex /* 8037438C 0036FFEC 9B DD 00 A9 */ stb r30, 0xa9(r29) /* 80374390 0036FFF0 7F E3 FB 78 */ mr r3, r31 /* 80374394 0036FFF4 4B EF B6 91 */ bl OSUnlockMutex /* 80374398 0036FFF8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8037439C 0036FFFC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803743A0 00370000 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803743A4 00370004 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803743A8 00370008 7C 08 03 A6 */ mtlr r0 /* 803743AC 0037000C 38 21 00 20 */ addi r1, r1, 0x20 /* 803743B0 00370010 4E 80 00 20 */ blr .global SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb: /* 803743B4 00370014 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803743B8 00370018 7C 08 02 A6 */ mflr r0 /* 803743BC 0037001C 90 01 00 24 */ stw r0, 0x24(r1) /* 803743C0 00370020 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803743C4 00370024 3B E3 01 1C */ addi r31, r3, 0x11c /* 803743C8 00370028 93 C1 00 18 */ stw r30, 0x18(r1) /* 803743CC 0037002C 7C 9E 23 78 */ mr r30, r4 /* 803743D0 00370030 93 A1 00 14 */ stw r29, 0x14(r1) /* 803743D4 00370034 7C 7D 1B 78 */ mr r29, r3 /* 803743D8 00370038 7F E3 FB 78 */ mr r3, r31 /* 803743DC 0037003C 4B EF B5 6D */ bl OSLockMutex /* 803743E0 00370040 9B DD 00 8F */ stb r30, 0x8f(r29) /* 803743E4 00370044 7F E3 FB 78 */ mr r3, r31 /* 803743E8 00370048 4B EF B6 3D */ bl OSUnlockMutex /* 803743EC 0037004C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803743F0 00370050 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803743F4 00370054 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803743F8 00370058 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803743FC 0037005C 7C 08 03 A6 */ mtlr r0 /* 80374400 00370060 38 21 00 20 */ addi r1, r1, 0x20 /* 80374404 00370064 4E 80 00 20 */ blr .global InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv: /* 80374408 00370068 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8037440C 0037006C 7C 08 02 A6 */ mflr r0 /* 80374410 00370070 90 01 00 24 */ stw r0, 0x24(r1) /* 80374414 00370074 39 61 00 20 */ addi r11, r1, 0x20 /* 80374418 00370078 4B E5 2D 11 */ bl _savegpr_27 /* 8037441C 0037007C 3B A3 01 1C */ addi r29, r3, 0x11c /* 80374420 00370080 7C 7F 1B 78 */ mr r31, r3 /* 80374424 00370084 7C 9C 23 78 */ mr r28, r4 /* 80374428 00370088 7C BB 2B 78 */ mr r27, r5 /* 8037442C 0037008C 7F A3 EB 78 */ mr r3, r29 /* 80374430 00370090 4B EF B5 19 */ bl OSLockMutex /* 80374434 00370094 88 1F 00 8C */ lbz r0, 0x8c(r31) /* 80374438 00370098 2C 00 00 00 */ cmpwi r0, 0 /* 8037443C 0037009C 41 82 01 0C */ beq lbl_80374548 /* 80374440 003700A0 38 00 00 10 */ li r0, 0x10 /* 80374444 003700A4 7F E4 FB 78 */ mr r4, r31 /* 80374448 003700A8 38 A0 00 00 */ li r5, 0 /* 8037444C 003700AC 7C 09 03 A6 */ mtctr r0 lbl_80374450: /* 80374450 003700B0 2C 05 00 0F */ cmpwi r5, 0xf /* 80374454 003700B4 40 81 00 0C */ ble lbl_80374460 /* 80374458 003700B8 38 60 00 00 */ li r3, 0 /* 8037445C 003700BC 48 00 00 08 */ b lbl_80374464 lbl_80374460: /* 80374460 003700C0 80 64 00 B8 */ lwz r3, 0xb8(r4) lbl_80374464: /* 80374464 003700C4 2C 03 00 00 */ cmpwi r3, 0 /* 80374468 003700C8 41 82 00 D4 */ beq lbl_8037453C /* 8037446C 003700CC 80 03 00 50 */ lwz r0, 0x50(r3) /* 80374470 003700D0 7C 1C 00 40 */ cmplw r28, r0 /* 80374474 003700D4 41 81 00 C8 */ bgt lbl_8037453C /* 80374478 003700D8 7C 00 D8 40 */ cmplw r0, r27 /* 8037447C 003700DC 41 81 00 C0 */ bgt lbl_8037453C /* 80374480 003700E0 88 1F 00 8D */ lbz r0, 0x8d(r31) /* 80374484 003700E4 2C 00 00 00 */ cmpwi r0, 0 /* 80374488 003700E8 41 82 00 28 */ beq lbl_803744B0 /* 8037448C 003700EC 2C 1F 00 00 */ cmpwi r31, 0 /* 80374490 003700F0 7F FC FB 78 */ mr r28, r31 /* 80374494 003700F4 41 82 00 08 */ beq lbl_8037449C /* 80374498 003700F8 3B 9F 00 80 */ addi r28, r31, 0x80 lbl_8037449C: /* 8037449C 003700FC 48 00 7F B5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 803744A0 00370100 7F 84 E3 78 */ mr r4, r28 /* 803744A4 00370104 48 00 83 DD */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 803744A8 00370108 38 00 00 00 */ li r0, 0 /* 803744AC 0037010C 98 1F 00 8D */ stb r0, 0x8d(r31) lbl_803744B0: /* 803744B0 00370110 88 1F 00 8C */ lbz r0, 0x8c(r31) /* 803744B4 00370114 2C 00 00 00 */ cmpwi r0, 0 /* 803744B8 00370118 41 82 00 28 */ beq lbl_803744E0 /* 803744BC 0037011C 2C 1F 00 00 */ cmpwi r31, 0 /* 803744C0 00370120 7F FC FB 78 */ mr r28, r31 /* 803744C4 00370124 41 82 00 08 */ beq lbl_803744CC /* 803744C8 00370128 3B 9F 00 74 */ addi r28, r31, 0x74 lbl_803744CC: /* 803744CC 0037012C 4B FF AD 8D */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 803744D0 00370130 7F 84 E3 78 */ mr r4, r28 /* 803744D4 00370134 4B FF AE D9 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 803744D8 00370138 38 00 00 00 */ li r0, 0 /* 803744DC 0037013C 98 1F 00 8C */ stb r0, 0x8c(r31) lbl_803744E0: /* 803744E0 00370140 7F FB FB 78 */ mr r27, r31 /* 803744E4 00370144 3B 80 00 00 */ li r28, 0 /* 803744E8 00370148 3B C0 00 00 */ li r30, 0 lbl_803744EC: /* 803744EC 0037014C 2C 1C 00 0F */ cmpwi r28, 0xf /* 803744F0 00370150 40 81 00 0C */ ble lbl_803744FC /* 803744F4 00370154 38 60 00 00 */ li r3, 0 /* 803744F8 00370158 48 00 00 08 */ b lbl_80374500 lbl_803744FC: /* 803744FC 0037015C 80 7B 00 B8 */ lwz r3, 0xb8(r27) lbl_80374500: /* 80374500 00370160 2C 03 00 00 */ cmpwi r3, 0 /* 80374504 00370164 41 82 00 24 */ beq lbl_80374528 /* 80374508 00370168 48 00 11 75 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 8037450C 0037016C 80 7F 00 B4 */ lwz r3, 0xb4(r31) /* 80374510 00370170 80 9B 00 B8 */ lwz r4, 0xb8(r27) /* 80374514 00370174 81 83 00 00 */ lwz r12, 0(r3) /* 80374518 00370178 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8037451C 0037017C 7D 89 03 A6 */ mtctr r12 /* 80374520 00370180 4E 80 04 21 */ bctrl /* 80374524 00370184 93 DB 00 B8 */ stw r30, 0xb8(r27) lbl_80374528: /* 80374528 00370188 3B 9C 00 01 */ addi r28, r28, 1 /* 8037452C 0037018C 3B 7B 00 04 */ addi r27, r27, 4 /* 80374530 00370190 2C 1C 00 10 */ cmpwi r28, 0x10 /* 80374534 00370194 41 80 FF B8 */ blt lbl_803744EC /* 80374538 00370198 48 00 00 10 */ b lbl_80374548 lbl_8037453C: /* 8037453C 0037019C 38 84 00 04 */ addi r4, r4, 4 /* 80374540 003701A0 38 A5 00 01 */ addi r5, r5, 1 /* 80374544 003701A4 42 00 FF 0C */ bdnz lbl_80374450 lbl_80374548: /* 80374548 003701A8 7F A3 EB 78 */ mr r3, r29 /* 8037454C 003701AC 4B EF B4 D9 */ bl OSUnlockMutex /* 80374550 003701B0 39 61 00 20 */ addi r11, r1, 0x20 /* 80374554 003701B4 4B E5 2C 21 */ bl _restgpr_27 /* 80374558 003701B8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8037455C 003701BC 7C 08 03 A6 */ mtlr r0 /* 80374560 003701C0 38 21 00 20 */ addi r1, r1, 0x20 /* 80374564 003701C4 4E 80 00 20 */ blr .global GetPlayerTrack__Q44nw4r3snd6detail9SeqPlayerFi GetPlayerTrack__Q44nw4r3snd6detail9SeqPlayerFi: /* 80374568 003701C8 2C 04 00 0F */ cmpwi r4, 0xf /* 8037456C 003701CC 40 81 00 0C */ ble lbl_80374578 /* 80374570 003701D0 38 60 00 00 */ li r3, 0 /* 80374574 003701D4 4E 80 00 20 */ blr lbl_80374578: /* 80374578 003701D8 54 80 10 3A */ slwi r0, r4, 2 /* 8037457C 003701DC 7C 63 02 14 */ add r3, r3, r0 /* 80374580 003701E0 80 63 00 B8 */ lwz r3, 0xb8(r3) /* 80374584 003701E4 4E 80 00 20 */ blr .global ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb: /* 80374588 003701E8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8037458C 003701EC 7C 08 02 A6 */ mflr r0 /* 80374590 003701F0 90 01 00 34 */ stw r0, 0x34(r1) /* 80374594 003701F4 39 61 00 30 */ addi r11, r1, 0x30 /* 80374598 003701F8 4B E5 2B 89 */ bl _savegpr_25 /* 8037459C 003701FC 7C 79 1B 78 */ mr r25, r3 /* 803745A0 00370200 7C 9A 23 78 */ mr r26, r4 /* 803745A4 00370204 7F 3D CB 78 */ mr r29, r25 /* 803745A8 00370208 3B 80 00 00 */ li r28, 0 /* 803745AC 0037020C 3B 60 00 00 */ li r27, 0 /* 803745B0 00370210 3B E0 00 00 */ li r31, 0 lbl_803745B4: /* 803745B4 00370214 2C 1B 00 0F */ cmpwi r27, 0xf /* 803745B8 00370218 40 81 00 0C */ ble lbl_803745C4 /* 803745BC 0037021C 3B C0 00 00 */ li r30, 0 /* 803745C0 00370220 48 00 00 08 */ b lbl_803745C8 lbl_803745C4: /* 803745C4 00370224 83 DD 00 B8 */ lwz r30, 0xb8(r29) lbl_803745C8: /* 803745C8 00370228 2C 1E 00 00 */ cmpwi r30, 0 /* 803745CC 0037022C 41 82 00 6C */ beq lbl_80374638 /* 803745D0 00370230 7F C3 F3 78 */ mr r3, r30 /* 803745D4 00370234 48 00 11 5D */ bl UpdateChannelLength__Q44nw4r3snd6detail8SeqTrackFv /* 803745D8 00370238 7F C3 F3 78 */ mr r3, r30 /* 803745DC 0037023C 7F 44 D3 78 */ mr r4, r26 /* 803745E0 00370240 48 00 12 21 */ bl ParseNextTick__Q44nw4r3snd6detail8SeqTrackFb /* 803745E4 00370244 2C 03 00 00 */ cmpwi r3, 0 /* 803745E8 00370248 40 80 00 40 */ bge lbl_80374628 /* 803745EC 0037024C 2C 1B 00 0F */ cmpwi r27, 0xf /* 803745F0 00370250 40 81 00 0C */ ble lbl_803745FC /* 803745F4 00370254 38 60 00 00 */ li r3, 0 /* 803745F8 00370258 48 00 00 08 */ b lbl_80374600 lbl_803745FC: /* 803745FC 0037025C 80 7D 00 B8 */ lwz r3, 0xb8(r29) lbl_80374600: /* 80374600 00370260 2C 03 00 00 */ cmpwi r3, 0 /* 80374604 00370264 41 82 00 24 */ beq lbl_80374628 /* 80374608 00370268 48 00 10 75 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 8037460C 0037026C 80 79 00 B4 */ lwz r3, 0xb4(r25) /* 80374610 00370270 80 9D 00 B8 */ lwz r4, 0xb8(r29) /* 80374614 00370274 81 83 00 00 */ lwz r12, 0(r3) /* 80374618 00370278 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8037461C 0037027C 7D 89 03 A6 */ mtctr r12 /* 80374620 00370280 4E 80 04 21 */ bctrl /* 80374624 00370284 93 FD 00 B8 */ stw r31, 0xb8(r29) lbl_80374628: /* 80374628 00370288 88 1E 00 05 */ lbz r0, 5(r30) /* 8037462C 0037028C 2C 00 00 00 */ cmpwi r0, 0 /* 80374630 00370290 41 82 00 08 */ beq lbl_80374638 /* 80374634 00370294 3B 80 00 01 */ li r28, 1 lbl_80374638: /* 80374638 00370298 3B 7B 00 01 */ addi r27, r27, 1 /* 8037463C 0037029C 3B BD 00 04 */ addi r29, r29, 4 /* 80374640 003702A0 2C 1B 00 10 */ cmpwi r27, 0x10 /* 80374644 003702A4 41 80 FF 70 */ blt lbl_803745B4 /* 80374648 003702A8 7F 80 00 34 */ cntlzw r0, r28 /* 8037464C 003702AC 39 61 00 30 */ addi r11, r1, 0x30 /* 80374650 003702B0 54 03 D9 7E */ srwi r3, r0, 5 /* 80374654 003702B4 4B E5 2B 19 */ bl _restgpr_25 /* 80374658 003702B8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8037465C 003702BC 7C 08 03 A6 */ mtlr r0 /* 80374660 003702C0 38 21 00 30 */ addi r1, r1, 0x30 /* 80374664 003702C4 4E 80 00 20 */ blr .global GetVariablePtr__Q44nw4r3snd6detail9SeqPlayerFi GetVariablePtr__Q44nw4r3snd6detail9SeqPlayerFi: /* 80374668 003702C8 2C 04 00 10 */ cmpwi r4, 0x10 /* 8037466C 003702CC 40 80 00 14 */ bge lbl_80374680 /* 80374670 003702D0 54 80 08 3C */ slwi r0, r4, 1 /* 80374674 003702D4 7C 63 02 14 */ add r3, r3, r0 /* 80374678 003702D8 38 63 00 F8 */ addi r3, r3, 0xf8 /* 8037467C 003702DC 4E 80 00 20 */ blr lbl_80374680: /* 80374680 003702E0 2C 04 00 20 */ cmpwi r4, 0x20 /* 80374684 003702E4 38 60 00 00 */ li r3, 0 /* 80374688 003702E8 4C 80 00 20 */ bgelr /* 8037468C 003702EC 38 04 FF F0 */ addi r0, r4, -16 /* 80374690 003702F0 3C 60 80 62 */ lis r3, lbl_80621CC8@ha /* 80374694 003702F4 54 00 08 3C */ slwi r0, r0, 1 /* 80374698 003702F8 38 63 1C C8 */ addi r3, r3, lbl_80621CC8@l /* 8037469C 003702FC 7C 63 02 14 */ add r3, r3, r0 /* 803746A0 00370300 4E 80 00 20 */ blr .global Update__Q44nw4r3snd6detail9SeqPlayerFv Update__Q44nw4r3snd6detail9SeqPlayerFv: /* 803746A4 00370304 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803746A8 00370308 7C 08 02 A6 */ mflr r0 /* 803746AC 0037030C 90 01 00 14 */ stw r0, 0x14(r1) /* 803746B0 00370310 93 E1 00 0C */ stw r31, 0xc(r1) /* 803746B4 00370314 93 C1 00 08 */ stw r30, 8(r1) /* 803746B8 00370318 7C 7E 1B 78 */ mr r30, r3 /* 803746BC 0037031C 88 03 00 8C */ lbz r0, 0x8c(r3) /* 803746C0 00370320 2C 00 00 00 */ cmpwi r0, 0 /* 803746C4 00370324 41 82 00 48 */ beq lbl_8037470C /* 803746C8 00370328 88 03 00 8D */ lbz r0, 0x8d(r3) /* 803746CC 0037032C 2C 00 00 00 */ cmpwi r0, 0 /* 803746D0 00370330 41 82 00 3C */ beq lbl_8037470C /* 803746D4 00370334 48 00 00 51 */ bl UpdateTick__Q44nw4r3snd6detail9SeqPlayerFv /* 803746D8 00370338 3B E0 00 00 */ li r31, 0 lbl_803746DC: /* 803746DC 0037033C 2C 1F 00 0F */ cmpwi r31, 0xf /* 803746E0 00370340 40 81 00 0C */ ble lbl_803746EC /* 803746E4 00370344 38 60 00 00 */ li r3, 0 /* 803746E8 00370348 48 00 00 08 */ b lbl_803746F0 lbl_803746EC: /* 803746EC 0037034C 80 7E 00 B8 */ lwz r3, 0xb8(r30) lbl_803746F0: /* 803746F0 00370350 2C 03 00 00 */ cmpwi r3, 0 /* 803746F4 00370354 41 82 00 08 */ beq lbl_803746FC /* 803746F8 00370358 48 00 13 51 */ bl UpdateChannelParam__Q44nw4r3snd6detail8SeqTrackFv lbl_803746FC: /* 803746FC 0037035C 3B FF 00 01 */ addi r31, r31, 1 /* 80374700 00370360 3B DE 00 04 */ addi r30, r30, 4 /* 80374704 00370364 2C 1F 00 10 */ cmpwi r31, 0x10 /* 80374708 00370368 41 80 FF D4 */ blt lbl_803746DC lbl_8037470C: /* 8037470C 0037036C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80374710 00370370 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80374714 00370374 83 C1 00 08 */ lwz r30, 8(r1) /* 80374718 00370378 7C 08 03 A6 */ mtlr r0 /* 8037471C 0037037C 38 21 00 10 */ addi r1, r1, 0x10 /* 80374720 00370380 4E 80 00 20 */ blr .global UpdateTick__Q44nw4r3snd6detail9SeqPlayerFv UpdateTick__Q44nw4r3snd6detail9SeqPlayerFv: /* 80374724 00370384 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80374728 00370388 7C 08 02 A6 */ mflr r0 /* 8037472C 0037038C 90 01 00 64 */ stw r0, 0x64(r1) /* 80374730 00370390 DB E1 00 50 */ stfd f31, 0x50(r1) /* 80374734 00370394 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 80374738 00370398 DB C1 00 40 */ stfd f30, 0x40(r1) /* 8037473C 0037039C F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 80374740 003703A0 DB A1 00 30 */ stfd f29, 0x30(r1) /* 80374744 003703A4 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0 /* 80374748 003703A8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8037474C 003703AC 7C 7F 1B 78 */ mr r31, r3 /* 80374750 003703B0 93 C1 00 28 */ stw r30, 0x28(r1) /* 80374754 003703B4 93 A1 00 24 */ stw r29, 0x24(r1) /* 80374758 003703B8 93 81 00 20 */ stw r28, 0x20(r1) /* 8037475C 003703BC 88 03 00 8C */ lbz r0, 0x8c(r3) /* 80374760 003703C0 2C 00 00 00 */ cmpwi r0, 0 /* 80374764 003703C4 41 82 04 58 */ beq lbl_80374BBC /* 80374768 003703C8 88 03 00 8D */ lbz r0, 0x8d(r3) /* 8037476C 003703CC 2C 00 00 00 */ cmpwi r0, 0 /* 80374770 003703D0 41 82 04 4C */ beq lbl_80374BBC /* 80374774 003703D4 80 03 00 9C */ lwz r0, 0x9c(r3) /* 80374778 003703D8 2C 00 00 00 */ cmpwi r0, 0 /* 8037477C 003703DC 40 82 00 14 */ bne lbl_80374790 /* 80374780 003703E0 C0 23 00 A0 */ lfs f1, 0xa0(r3) /* 80374784 003703E4 C0 02 A6 AC */ lfs f0, lbl_80642CAC-_SDA2_BASE_(r2) /* 80374788 003703E8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8037478C 003703EC 40 81 00 4C */ ble lbl_803747D8 lbl_80374790: /* 80374790 003703F0 7F FC FB 78 */ mr r28, r31 /* 80374794 003703F4 3B C0 00 00 */ li r30, 0 lbl_80374798: /* 80374798 003703F8 2C 1E 00 0F */ cmpwi r30, 0xf /* 8037479C 003703FC 40 81 00 0C */ ble lbl_803747A8 /* 803747A0 00370400 3B A0 00 00 */ li r29, 0 /* 803747A4 00370404 48 00 00 08 */ b lbl_803747AC lbl_803747A8: /* 803747A8 00370408 83 BC 00 B8 */ lwz r29, 0xb8(r28) lbl_803747AC: /* 803747AC 0037040C 2C 1D 00 00 */ cmpwi r29, 0 /* 803747B0 00370410 41 82 00 18 */ beq lbl_803747C8 /* 803747B4 00370414 7F A3 EB 78 */ mr r3, r29 /* 803747B8 00370418 38 80 00 7F */ li r4, 0x7f /* 803747BC 0037041C 48 00 11 65 */ bl ReleaseAllChannel__Q44nw4r3snd6detail8SeqTrackFi /* 803747C0 00370420 7F A3 EB 78 */ mr r3, r29 /* 803747C4 00370424 48 00 17 5D */ bl FreeAllChannel__Q44nw4r3snd6detail8SeqTrackFv lbl_803747C8: /* 803747C8 00370428 3B DE 00 01 */ addi r30, r30, 1 /* 803747CC 0037042C 3B 9C 00 04 */ addi r28, r28, 4 /* 803747D0 00370430 2C 1E 00 10 */ cmpwi r30, 0x10 /* 803747D4 00370434 41 80 FF C4 */ blt lbl_80374798 lbl_803747D8: /* 803747D8 00370438 3B 80 00 00 */ li r28, 0 /* 803747DC 0037043C 48 00 00 F0 */ b lbl_803748CC lbl_803747E0: /* 803747E0 00370440 80 BF 00 9C */ lwz r5, 0x9c(r31) /* 803747E4 00370444 7F E3 FB 78 */ mr r3, r31 /* 803747E8 00370448 38 80 00 00 */ li r4, 0 /* 803747EC 0037044C 38 05 FF FF */ addi r0, r5, -1 /* 803747F0 00370450 90 1F 00 9C */ stw r0, 0x9c(r31) /* 803747F4 00370454 4B FF FD 95 */ bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb /* 803747F8 00370458 2C 03 00 00 */ cmpwi r3, 0 /* 803747FC 0037045C 41 82 00 C0 */ beq lbl_803748BC /* 80374800 00370460 88 1F 00 8D */ lbz r0, 0x8d(r31) /* 80374804 00370464 2C 00 00 00 */ cmpwi r0, 0 /* 80374808 00370468 41 82 00 28 */ beq lbl_80374830 /* 8037480C 0037046C 2C 1F 00 00 */ cmpwi r31, 0 /* 80374810 00370470 7F FD FB 78 */ mr r29, r31 /* 80374814 00370474 41 82 00 08 */ beq lbl_8037481C /* 80374818 00370478 3B BF 00 80 */ addi r29, r31, 0x80 lbl_8037481C: /* 8037481C 0037047C 48 00 7C 35 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 80374820 00370480 7F A4 EB 78 */ mr r4, r29 /* 80374824 00370484 48 00 80 5D */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 80374828 00370488 38 00 00 00 */ li r0, 0 /* 8037482C 0037048C 98 1F 00 8D */ stb r0, 0x8d(r31) lbl_80374830: /* 80374830 00370490 88 1F 00 8C */ lbz r0, 0x8c(r31) /* 80374834 00370494 2C 00 00 00 */ cmpwi r0, 0 /* 80374838 00370498 41 82 00 28 */ beq lbl_80374860 /* 8037483C 0037049C 2C 1F 00 00 */ cmpwi r31, 0 /* 80374840 003704A0 7F FD FB 78 */ mr r29, r31 /* 80374844 003704A4 41 82 00 08 */ beq lbl_8037484C /* 80374848 003704A8 3B BF 00 74 */ addi r29, r31, 0x74 lbl_8037484C: /* 8037484C 003704AC 4B FF AA 0D */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80374850 003704B0 7F A4 EB 78 */ mr r4, r29 /* 80374854 003704B4 4B FF AB 59 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80374858 003704B8 38 00 00 00 */ li r0, 0 /* 8037485C 003704BC 98 1F 00 8C */ stb r0, 0x8c(r31) lbl_80374860: /* 80374860 003704C0 7F FC FB 78 */ mr r28, r31 /* 80374864 003704C4 3B C0 00 00 */ li r30, 0 /* 80374868 003704C8 3B A0 00 00 */ li r29, 0 lbl_8037486C: /* 8037486C 003704CC 2C 1E 00 0F */ cmpwi r30, 0xf /* 80374870 003704D0 40 81 00 0C */ ble lbl_8037487C /* 80374874 003704D4 38 60 00 00 */ li r3, 0 /* 80374878 003704D8 48 00 00 08 */ b lbl_80374880 lbl_8037487C: /* 8037487C 003704DC 80 7C 00 B8 */ lwz r3, 0xb8(r28) lbl_80374880: /* 80374880 003704E0 2C 03 00 00 */ cmpwi r3, 0 /* 80374884 003704E4 41 82 00 24 */ beq lbl_803748A8 /* 80374888 003704E8 48 00 0D F5 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 8037488C 003704EC 80 7F 00 B4 */ lwz r3, 0xb4(r31) /* 80374890 003704F0 80 9C 00 B8 */ lwz r4, 0xb8(r28) /* 80374894 003704F4 81 83 00 00 */ lwz r12, 0(r3) /* 80374898 003704F8 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8037489C 003704FC 7D 89 03 A6 */ mtctr r12 /* 803748A0 00370500 4E 80 04 21 */ bctrl /* 803748A4 00370504 93 BC 00 B8 */ stw r29, 0xb8(r28) lbl_803748A8: /* 803748A8 00370508 3B DE 00 01 */ addi r30, r30, 1 /* 803748AC 0037050C 3B 9C 00 04 */ addi r28, r28, 4 /* 803748B0 00370510 2C 1E 00 10 */ cmpwi r30, 0x10 /* 803748B4 00370514 41 80 FF B8 */ blt lbl_8037486C /* 803748B8 00370518 48 00 03 04 */ b lbl_80374BBC lbl_803748BC: /* 803748BC 0037051C 80 7F 01 18 */ lwz r3, 0x118(r31) /* 803748C0 00370520 3B 9C 00 01 */ addi r28, r28, 1 /* 803748C4 00370524 38 03 00 01 */ addi r0, r3, 1 /* 803748C8 00370528 90 1F 01 18 */ stw r0, 0x118(r31) lbl_803748CC: /* 803748CC 0037052C 80 1F 00 9C */ lwz r0, 0x9c(r31) /* 803748D0 00370530 2C 00 00 00 */ cmpwi r0, 0 /* 803748D4 00370534 41 82 00 0C */ beq lbl_803748E0 /* 803748D8 00370538 2C 1C 03 00 */ cmpwi r28, 0x300 /* 803748DC 0037053C 41 80 FF 04 */ blt lbl_803747E0 lbl_803748E0: /* 803748E0 00370540 CB A2 A6 B0 */ lfd f29, lbl_80642CB0-_SDA2_BASE_(r2) /* 803748E4 00370544 3F A0 43 30 */ lis r29, 0x4330 /* 803748E8 00370548 C3 C2 A6 B8 */ lfs f30, lbl_80642CB8-_SDA2_BASE_(r2) /* 803748EC 0037054C C3 E2 A6 AC */ lfs f31, lbl_80642CAC-_SDA2_BASE_(r2) /* 803748F0 00370550 48 00 01 20 */ b lbl_80374A10 lbl_803748F4: /* 803748F4 00370554 88 7F 00 AA */ lbz r3, 0xaa(r31) /* 803748F8 00370558 A0 1F 00 AC */ lhz r0, 0xac(r31) /* 803748FC 0037055C 93 A1 00 08 */ stw r29, 8(r1) /* 80374900 00370560 7C 03 01 D6 */ mullw r0, r3, r0 /* 80374904 00370564 C0 1F 00 A0 */ lfs f0, 0xa0(r31) /* 80374908 00370568 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8037490C 0037056C 90 01 00 0C */ stw r0, 0xc(r1) /* 80374910 00370570 C8 21 00 08 */ lfd f1, 8(r1) /* 80374914 00370574 EC 21 E8 28 */ fsubs f1, f1, f29 /* 80374918 00370578 EC 3E 08 24 */ fdivs f1, f30, f1 /* 8037491C 0037057C EC 00 08 28 */ fsubs f0, f0, f1 /* 80374920 00370580 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80374924 00370584 D0 1F 00 A0 */ stfs f0, 0xa0(r31) /* 80374928 00370588 40 80 00 08 */ bge lbl_80374930 /* 8037492C 0037058C D3 FF 00 A0 */ stfs f31, 0xa0(r31) lbl_80374930: /* 80374930 00370590 7F E3 FB 78 */ mr r3, r31 /* 80374934 00370594 38 80 00 00 */ li r4, 0 /* 80374938 00370598 4B FF FC 51 */ bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb /* 8037493C 0037059C 2C 03 00 00 */ cmpwi r3, 0 /* 80374940 003705A0 41 82 00 C0 */ beq lbl_80374A00 /* 80374944 003705A4 88 1F 00 8D */ lbz r0, 0x8d(r31) /* 80374948 003705A8 2C 00 00 00 */ cmpwi r0, 0 /* 8037494C 003705AC 41 82 00 28 */ beq lbl_80374974 /* 80374950 003705B0 2C 1F 00 00 */ cmpwi r31, 0 /* 80374954 003705B4 7F FD FB 78 */ mr r29, r31 /* 80374958 003705B8 41 82 00 08 */ beq lbl_80374960 /* 8037495C 003705BC 3B BF 00 80 */ addi r29, r31, 0x80 lbl_80374960: /* 80374960 003705C0 48 00 7A F1 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 80374964 003705C4 7F A4 EB 78 */ mr r4, r29 /* 80374968 003705C8 48 00 7F 19 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 8037496C 003705CC 38 00 00 00 */ li r0, 0 /* 80374970 003705D0 98 1F 00 8D */ stb r0, 0x8d(r31) lbl_80374974: /* 80374974 003705D4 88 1F 00 8C */ lbz r0, 0x8c(r31) /* 80374978 003705D8 2C 00 00 00 */ cmpwi r0, 0 /* 8037497C 003705DC 41 82 00 28 */ beq lbl_803749A4 /* 80374980 003705E0 2C 1F 00 00 */ cmpwi r31, 0 /* 80374984 003705E4 7F FD FB 78 */ mr r29, r31 /* 80374988 003705E8 41 82 00 08 */ beq lbl_80374990 /* 8037498C 003705EC 3B BF 00 74 */ addi r29, r31, 0x74 lbl_80374990: /* 80374990 003705F0 4B FF A8 C9 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80374994 003705F4 7F A4 EB 78 */ mr r4, r29 /* 80374998 003705F8 4B FF AA 15 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 8037499C 003705FC 38 00 00 00 */ li r0, 0 /* 803749A0 00370600 98 1F 00 8C */ stb r0, 0x8c(r31) lbl_803749A4: /* 803749A4 00370604 7F FC FB 78 */ mr r28, r31 /* 803749A8 00370608 3B C0 00 00 */ li r30, 0 /* 803749AC 0037060C 3B A0 00 00 */ li r29, 0 lbl_803749B0: /* 803749B0 00370610 2C 1E 00 0F */ cmpwi r30, 0xf /* 803749B4 00370614 40 81 00 0C */ ble lbl_803749C0 /* 803749B8 00370618 38 60 00 00 */ li r3, 0 /* 803749BC 0037061C 48 00 00 08 */ b lbl_803749C4 lbl_803749C0: /* 803749C0 00370620 80 7C 00 B8 */ lwz r3, 0xb8(r28) lbl_803749C4: /* 803749C4 00370624 2C 03 00 00 */ cmpwi r3, 0 /* 803749C8 00370628 41 82 00 24 */ beq lbl_803749EC /* 803749CC 0037062C 48 00 0C B1 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 803749D0 00370630 80 7F 00 B4 */ lwz r3, 0xb4(r31) /* 803749D4 00370634 80 9C 00 B8 */ lwz r4, 0xb8(r28) /* 803749D8 00370638 81 83 00 00 */ lwz r12, 0(r3) /* 803749DC 0037063C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 803749E0 00370640 7D 89 03 A6 */ mtctr r12 /* 803749E4 00370644 4E 80 04 21 */ bctrl /* 803749E8 00370648 93 BC 00 B8 */ stw r29, 0xb8(r28) lbl_803749EC: /* 803749EC 0037064C 3B DE 00 01 */ addi r30, r30, 1 /* 803749F0 00370650 3B 9C 00 04 */ addi r28, r28, 4 /* 803749F4 00370654 2C 1E 00 10 */ cmpwi r30, 0x10 /* 803749F8 00370658 41 80 FF B8 */ blt lbl_803749B0 /* 803749FC 0037065C 48 00 01 C0 */ b lbl_80374BBC lbl_80374A00: /* 80374A00 00370660 80 7F 01 18 */ lwz r3, 0x118(r31) /* 80374A04 00370664 3B 9C 00 01 */ addi r28, r28, 1 /* 80374A08 00370668 38 03 00 01 */ addi r0, r3, 1 /* 80374A0C 0037066C 90 1F 01 18 */ stw r0, 0x118(r31) lbl_80374A10: /* 80374A10 00370670 C0 1F 00 A0 */ lfs f0, 0xa0(r31) /* 80374A14 00370674 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80374A18 00370678 7C 00 00 26 */ mfcr r0 /* 80374A1C 0037067C 54 00 17 FF */ rlwinm. r0, r0, 2, 0x1f, 0x1f /* 80374A20 00370680 41 82 00 0C */ beq lbl_80374A2C /* 80374A24 00370684 2C 1C 03 00 */ cmpwi r28, 0x300 /* 80374A28 00370688 41 80 FE CC */ blt lbl_803748F4 lbl_80374A2C: /* 80374A2C 0037068C 88 1F 00 8E */ lbz r0, 0x8e(r31) /* 80374A30 00370690 2C 00 00 00 */ cmpwi r0, 0 /* 80374A34 00370694 40 82 01 88 */ bne lbl_80374BBC /* 80374A38 00370698 80 1F 00 9C */ lwz r0, 0x9c(r31) /* 80374A3C 0037069C 2C 00 00 00 */ cmpwi r0, 0 /* 80374A40 003706A0 40 82 01 7C */ bne lbl_80374BBC /* 80374A44 003706A4 C0 22 A6 AC */ lfs f1, lbl_80642CAC-_SDA2_BASE_(r2) /* 80374A48 003706A8 C0 1F 00 A0 */ lfs f0, 0xa0(r31) /* 80374A4C 003706AC FC 01 00 00 */ fcmpu cr0, f1, f0 /* 80374A50 003706B0 40 82 01 6C */ bne lbl_80374BBC /* 80374A54 003706B4 3C 60 00 01 */ lis r3, 0x0000EA60@ha /* 80374A58 003706B8 88 1F 00 AA */ lbz r0, 0xaa(r31) /* 80374A5C 003706BC 3B C3 EA 60 */ addi r30, r3, 0x0000EA60@l /* 80374A60 003706C0 7C 1E 03 D6 */ divw r0, r30, r0 /* 80374A64 003706C4 3C 60 55 55 */ lis r3, 0x55555556@ha /* 80374A68 003706C8 3B A3 55 56 */ addi r29, r3, 0x55555556@l /* 80374A6C 003706CC 7C 7D 00 96 */ mulhw r3, r29, r0 /* 80374A70 003706D0 54 60 0F FE */ srwi r0, r3, 0x1f /* 80374A74 003706D4 7F 83 02 14 */ add r28, r3, r0 /* 80374A78 003706D8 48 00 01 00 */ b lbl_80374B78 lbl_80374A7C: /* 80374A7C 003706DC 7F E3 FB 78 */ mr r3, r31 /* 80374A80 003706E0 38 80 00 01 */ li r4, 1 /* 80374A84 003706E4 4B FF FB 05 */ bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb /* 80374A88 003706E8 2C 03 00 00 */ cmpwi r3, 0 /* 80374A8C 003706EC 41 82 00 C0 */ beq lbl_80374B4C /* 80374A90 003706F0 88 1F 00 8D */ lbz r0, 0x8d(r31) /* 80374A94 003706F4 2C 00 00 00 */ cmpwi r0, 0 /* 80374A98 003706F8 41 82 00 28 */ beq lbl_80374AC0 /* 80374A9C 003706FC 2C 1F 00 00 */ cmpwi r31, 0 /* 80374AA0 00370700 7F FD FB 78 */ mr r29, r31 /* 80374AA4 00370704 41 82 00 08 */ beq lbl_80374AAC /* 80374AA8 00370708 3B BF 00 80 */ addi r29, r31, 0x80 lbl_80374AAC: /* 80374AAC 0037070C 48 00 79 A5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv /* 80374AB0 00370710 7F A4 EB 78 */ mr r4, r29 /* 80374AB4 00370714 48 00 7D CD */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback /* 80374AB8 00370718 38 00 00 00 */ li r0, 0 /* 80374ABC 0037071C 98 1F 00 8D */ stb r0, 0x8d(r31) lbl_80374AC0: /* 80374AC0 00370720 88 1F 00 8C */ lbz r0, 0x8c(r31) /* 80374AC4 00370724 2C 00 00 00 */ cmpwi r0, 0 /* 80374AC8 00370728 41 82 00 28 */ beq lbl_80374AF0 /* 80374ACC 0037072C 2C 1F 00 00 */ cmpwi r31, 0 /* 80374AD0 00370730 7F FD FB 78 */ mr r29, r31 /* 80374AD4 00370734 41 82 00 08 */ beq lbl_80374ADC /* 80374AD8 00370738 3B BF 00 74 */ addi r29, r31, 0x74 lbl_80374ADC: /* 80374ADC 0037073C 4B FF A7 7D */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80374AE0 00370740 7F A4 EB 78 */ mr r4, r29 /* 80374AE4 00370744 4B FF A8 C9 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80374AE8 00370748 38 00 00 00 */ li r0, 0 /* 80374AEC 0037074C 98 1F 00 8C */ stb r0, 0x8c(r31) lbl_80374AF0: /* 80374AF0 00370750 7F FC FB 78 */ mr r28, r31 /* 80374AF4 00370754 3B A0 00 00 */ li r29, 0 /* 80374AF8 00370758 3B C0 00 00 */ li r30, 0 lbl_80374AFC: /* 80374AFC 0037075C 2C 1D 00 0F */ cmpwi r29, 0xf /* 80374B00 00370760 40 81 00 0C */ ble lbl_80374B0C /* 80374B04 00370764 38 60 00 00 */ li r3, 0 /* 80374B08 00370768 48 00 00 08 */ b lbl_80374B10 lbl_80374B0C: /* 80374B0C 0037076C 80 7C 00 B8 */ lwz r3, 0xb8(r28) lbl_80374B10: /* 80374B10 00370770 2C 03 00 00 */ cmpwi r3, 0 /* 80374B14 00370774 41 82 00 24 */ beq lbl_80374B38 /* 80374B18 00370778 48 00 0B 65 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv /* 80374B1C 0037077C 80 7F 00 B4 */ lwz r3, 0xb4(r31) /* 80374B20 00370780 80 9C 00 B8 */ lwz r4, 0xb8(r28) /* 80374B24 00370784 81 83 00 00 */ lwz r12, 0(r3) /* 80374B28 00370788 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80374B2C 0037078C 7D 89 03 A6 */ mtctr r12 /* 80374B30 00370790 4E 80 04 21 */ bctrl /* 80374B34 00370794 93 DC 00 B8 */ stw r30, 0xb8(r28) lbl_80374B38: /* 80374B38 00370798 3B BD 00 01 */ addi r29, r29, 1 /* 80374B3C 0037079C 3B 9C 00 04 */ addi r28, r28, 4 /* 80374B40 003707A0 2C 1D 00 10 */ cmpwi r29, 0x10 /* 80374B44 003707A4 41 80 FF B8 */ blt lbl_80374AFC /* 80374B48 003707A8 48 00 00 74 */ b lbl_80374BBC lbl_80374B4C: /* 80374B4C 003707AC 88 1F 00 AA */ lbz r0, 0xaa(r31) /* 80374B50 003707B0 A0 7F 00 98 */ lhz r3, 0x98(r31) /* 80374B54 003707B4 7C 1E 03 D6 */ divw r0, r30, r0 /* 80374B58 003707B8 80 9F 01 18 */ lwz r4, 0x118(r31) /* 80374B5C 003707BC 7C 7C 18 50 */ subf r3, r28, r3 /* 80374B60 003707C0 B0 7F 00 98 */ sth r3, 0x98(r31) /* 80374B64 003707C4 38 84 00 01 */ addi r4, r4, 1 /* 80374B68 003707C8 90 9F 01 18 */ stw r4, 0x118(r31) /* 80374B6C 003707CC 7C 7D 00 96 */ mulhw r3, r29, r0 /* 80374B70 003707D0 54 60 0F FE */ srwi r0, r3, 0x1f /* 80374B74 003707D4 7F 83 02 14 */ add r28, r3, r0 lbl_80374B78: /* 80374B78 003707D8 A0 9F 00 98 */ lhz r4, 0x98(r31) /* 80374B7C 003707DC 7C 04 E0 00 */ cmpw r4, r28 /* 80374B80 003707E0 40 80 FE FC */ bge lbl_80374A7C /* 80374B84 003707E4 A0 7F 00 AC */ lhz r3, 0xac(r31) /* 80374B88 003707E8 3C 00 43 30 */ lis r0, 0x4330 /* 80374B8C 003707EC 90 01 00 08 */ stw r0, 8(r1) /* 80374B90 003707F0 C8 42 A6 C0 */ lfd f2, lbl_80642CC0-_SDA2_BASE_(r2) /* 80374B94 003707F4 90 61 00 0C */ stw r3, 0xc(r1) /* 80374B98 003707F8 C0 1F 00 94 */ lfs f0, 0x94(r31) /* 80374B9C 003707FC C8 21 00 08 */ lfd f1, 8(r1) /* 80374BA0 00370800 EC 21 10 28 */ fsubs f1, f1, f2 /* 80374BA4 00370804 EC 01 00 32 */ fmuls f0, f1, f0 /* 80374BA8 00370808 FC 00 00 1E */ fctiwz f0, f0 /* 80374BAC 0037080C D8 01 00 10 */ stfd f0, 0x10(r1) /* 80374BB0 00370810 80 01 00 14 */ lwz r0, 0x14(r1) /* 80374BB4 00370814 7C 04 02 14 */ add r0, r4, r0 /* 80374BB8 00370818 B0 1F 00 98 */ sth r0, 0x98(r31) lbl_80374BBC: /* 80374BBC 0037081C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 80374BC0 00370820 CB E1 00 50 */ lfd f31, 0x50(r1) /* 80374BC4 00370824 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 80374BC8 00370828 CB C1 00 40 */ lfd f30, 0x40(r1) /* 80374BCC 0037082C E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0 /* 80374BD0 00370830 CB A1 00 30 */ lfd f29, 0x30(r1) /* 80374BD4 00370834 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80374BD8 00370838 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80374BDC 0037083C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80374BE0 00370840 80 01 00 64 */ lwz r0, 0x64(r1) /* 80374BE4 00370844 83 81 00 20 */ lwz r28, 0x20(r1) /* 80374BE8 00370848 7C 08 03 A6 */ mtlr r0 /* 80374BEC 0037084C 38 21 00 60 */ addi r1, r1, 0x60 /* 80374BF0 00370850 4E 80 00 20 */ blr .global NoteOn__Q44nw4r3snd6detail9SeqPlayerFiRCQ44nw4r3snd6detail10NoteOnInfo NoteOn__Q44nw4r3snd6detail9SeqPlayerFiRCQ44nw4r3snd6detail10NoteOnInfo: /* 80374BF4 00370854 7C 67 1B 78 */ mr r7, r3 /* 80374BF8 00370858 80 63 00 B0 */ lwz r3, 0xb0(r3) /* 80374BFC 0037085C 7C 80 23 78 */ mr r0, r4 /* 80374C00 00370860 7C A6 2B 78 */ mr r6, r5 /* 80374C04 00370864 81 83 00 00 */ lwz r12, 0(r3) /* 80374C08 00370868 7C E4 3B 78 */ mr r4, r7 /* 80374C0C 0037086C 7C 05 03 78 */ mr r5, r0 /* 80374C10 00370870 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80374C14 00370874 7D 89 03 A6 */ mtctr r12 /* 80374C18 00370878 4E 80 04 20 */ bctr .global ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel: /* 80374C1C 0037087C 4E 80 00 20 */ blr /* @116@__dt__Q44nw4r3snd6detail9SeqPlayerFv */ .global func_80374C20 func_80374C20: /* 80374C20 00370880 38 63 FF 8C */ addi r3, r3, -116 /* 80374C24 00370884 4B FF EF 8C */ b __dt__Q44nw4r3snd6detail9SeqPlayerFv /* @128@__dt__Q44nw4r3snd6detail9SeqPlayerFv */ .global func_80374C28 func_80374C28: /* 80374C28 00370888 38 63 FF 80 */ addi r3, r3, -128 /* 80374C2C 0037088C 4B FF EF 84 */ b __dt__Q44nw4r3snd6detail9SeqPlayerFv