.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __ct__Q34nw4r3snd18SoundArchivePlayerFv __ct__Q34nw4r3snd18SoundArchivePlayerFv: /* 803789A0 00374600 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803789A4 00374604 7C 08 02 A6 */ mflr r0 /* 803789A8 00374608 3C E0 80 45 */ lis r7, lbl_8044CE68@ha /* 803789AC 0037460C 3C A0 80 45 */ lis r5, lbl_8044CEA8@ha /* 803789B0 00374610 90 01 00 14 */ stw r0, 0x14(r1) /* 803789B4 00374614 38 E7 CE 68 */ addi r7, r7, lbl_8044CE68@l /* 803789B8 00374618 3C 80 80 45 */ lis r4, lbl_8044CE98@ha /* 803789BC 0037461C 39 03 00 40 */ addi r8, r3, 0x40 /* 803789C0 00374620 93 E1 00 0C */ stw r31, 0xc(r1) /* 803789C4 00374624 3B E0 00 00 */ li r31, 0 /* 803789C8 00374628 38 C7 00 14 */ addi r6, r7, 0x14 /* 803789CC 0037462C 38 03 00 B0 */ addi r0, r3, 0xb0 /* 803789D0 00374630 93 C1 00 08 */ stw r30, 8(r1) /* 803789D4 00374634 38 A5 CE A8 */ addi r5, r5, lbl_8044CEA8@l /* 803789D8 00374638 38 84 CE 98 */ addi r4, r4, lbl_8044CE98@l /* 803789DC 0037463C 7C 7E 1B 78 */ mr r30, r3 /* 803789E0 00374640 93 E3 00 40 */ stw r31, 0x40(r3) /* 803789E4 00374644 93 E3 00 44 */ stw r31, 0x44(r3) /* 803789E8 00374648 93 E3 00 00 */ stw r31, 0(r3) /* 803789EC 0037464C 93 E3 00 04 */ stw r31, 4(r3) /* 803789F0 00374650 90 E3 00 08 */ stw r7, 8(r3) /* 803789F4 00374654 90 C3 00 0C */ stw r6, 0xc(r3) /* 803789F8 00374658 93 E3 00 10 */ stw r31, 0x10(r3) /* 803789FC 0037465C 93 E3 00 14 */ stw r31, 0x14(r3) /* 80378A00 00374660 93 E3 00 18 */ stw r31, 0x18(r3) /* 80378A04 00374664 90 03 00 1C */ stw r0, 0x1c(r3) /* 80378A08 00374668 90 A3 00 20 */ stw r5, 0x20(r3) /* 80378A0C 0037466C 90 63 00 24 */ stw r3, 0x24(r3) /* 80378A10 00374670 90 83 00 28 */ stw r4, 0x28(r3) /* 80378A14 00374674 90 63 00 2C */ stw r3, 0x2c(r3) /* 80378A18 00374678 93 E3 00 30 */ stw r31, 0x30(r3) /* 80378A1C 0037467C 93 E3 00 34 */ stw r31, 0x34(r3) /* 80378A20 00374680 93 E3 00 38 */ stw r31, 0x38(r3) /* 80378A24 00374684 93 E3 00 3C */ stw r31, 0x3c(r3) /* 80378A28 00374688 91 03 00 40 */ stw r8, 0x40(r3) /* 80378A2C 0037468C 91 03 00 44 */ stw r8, 0x44(r3) /* 80378A30 00374690 38 63 00 48 */ addi r3, r3, 0x48 /* 80378A34 00374694 4B EF 6E DD */ bl OSInitMutex /* 80378A38 00374698 93 FE 00 68 */ stw r31, 0x68(r30) /* 80378A3C 0037469C 38 9E 00 68 */ addi r4, r30, 0x68 /* 80378A40 003746A0 38 7E 00 70 */ addi r3, r30, 0x70 /* 80378A44 003746A4 93 FE 00 6C */ stw r31, 0x6c(r30) /* 80378A48 003746A8 93 FE 00 60 */ stw r31, 0x60(r30) /* 80378A4C 003746AC 93 FE 00 64 */ stw r31, 0x64(r30) /* 80378A50 003746B0 90 9E 00 68 */ stw r4, 0x68(r30) /* 80378A54 003746B4 90 9E 00 6C */ stw r4, 0x6c(r30) /* 80378A58 003746B8 4B EF 6E B9 */ bl OSInitMutex /* 80378A5C 003746BC 93 FE 00 90 */ stw r31, 0x90(r30) /* 80378A60 003746C0 38 9E 00 90 */ addi r4, r30, 0x90 /* 80378A64 003746C4 38 7E 00 98 */ addi r3, r30, 0x98 /* 80378A68 003746C8 93 FE 00 94 */ stw r31, 0x94(r30) /* 80378A6C 003746CC 93 FE 00 88 */ stw r31, 0x88(r30) /* 80378A70 003746D0 93 FE 00 8C */ stw r31, 0x8c(r30) /* 80378A74 003746D4 90 9E 00 90 */ stw r4, 0x90(r30) /* 80378A78 003746D8 90 9E 00 94 */ stw r4, 0x94(r30) /* 80378A7C 003746DC 4B EF 6E 95 */ bl OSInitMutex /* 80378A80 003746E0 3C 80 80 45 */ lis r4, lbl_8044CD08@ha /* 80378A84 003746E4 3C 60 80 45 */ lis r3, lbl_8044CCE8@ha /* 80378A88 003746E8 38 84 CD 08 */ addi r4, r4, lbl_8044CD08@l /* 80378A8C 003746EC 38 1E 00 D4 */ addi r0, r30, 0xd4 /* 80378A90 003746F0 38 63 CC E8 */ addi r3, r3, lbl_8044CCE8@l /* 80378A94 003746F4 90 9E 00 B0 */ stw r4, 0xb0(r30) /* 80378A98 003746F8 90 1E 00 B4 */ stw r0, 0xb4(r30) /* 80378A9C 003746FC 93 FE 00 B8 */ stw r31, 0xb8(r30) /* 80378AA0 00374700 90 7E 00 D4 */ stw r3, 0xd4(r30) /* 80378AA4 00374704 93 FE 00 D8 */ stw r31, 0xd8(r30) /* 80378AA8 00374708 93 FE 00 DC */ stw r31, 0xdc(r30) /* 80378AAC 0037470C 4B FF 67 AD */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80378AB0 00374710 7F C4 F3 78 */ mr r4, r30 /* 80378AB4 00374714 4B FF 68 A1 */ bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv /* 80378AB8 00374718 7F C3 F3 78 */ mr r3, r30 /* 80378ABC 0037471C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378AC0 00374720 83 C1 00 08 */ lwz r30, 8(r1) /* 80378AC4 00374724 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378AC8 00374728 7C 08 03 A6 */ mtlr r0 /* 80378ACC 0037472C 38 21 00 10 */ addi r1, r1, 0x10 /* 80378AD0 00374730 4E 80 00 20 */ blr .global __dt__Q44nw4r3snd6detail14NoteOnCallbackFv __dt__Q44nw4r3snd6detail14NoteOnCallbackFv: /* 80378AD4 00374734 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80378AD8 00374738 7C 08 02 A6 */ mflr r0 /* 80378ADC 0037473C 2C 03 00 00 */ cmpwi r3, 0 /* 80378AE0 00374740 90 01 00 14 */ stw r0, 0x14(r1) /* 80378AE4 00374744 93 E1 00 0C */ stw r31, 0xc(r1) /* 80378AE8 00374748 7C 7F 1B 78 */ mr r31, r3 /* 80378AEC 0037474C 41 82 00 10 */ beq lbl_80378AFC /* 80378AF0 00374750 2C 04 00 00 */ cmpwi r4, 0 /* 80378AF4 00374754 40 81 00 08 */ ble lbl_80378AFC /* 80378AF8 00374758 4B E6 1F C1 */ bl __dl__FPv lbl_80378AFC: /* 80378AFC 0037475C 7F E3 FB 78 */ mr r3, r31 /* 80378B00 00374760 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378B04 00374764 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378B08 00374768 7C 08 03 A6 */ mtlr r0 /* 80378B0C 0037476C 38 21 00 10 */ addi r1, r1, 0x10 /* 80378B10 00374770 4E 80 00 20 */ blr .global __dt__Q54nw4r3snd6detail9WsdPlayer11WsdCallbackFv __dt__Q54nw4r3snd6detail9WsdPlayer11WsdCallbackFv: /* 80378B14 00374774 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80378B18 00374778 7C 08 02 A6 */ mflr r0 /* 80378B1C 0037477C 2C 03 00 00 */ cmpwi r3, 0 /* 80378B20 00374780 90 01 00 14 */ stw r0, 0x14(r1) /* 80378B24 00374784 93 E1 00 0C */ stw r31, 0xc(r1) /* 80378B28 00374788 7C 7F 1B 78 */ mr r31, r3 /* 80378B2C 0037478C 41 82 00 10 */ beq lbl_80378B3C /* 80378B30 00374790 2C 04 00 00 */ cmpwi r4, 0 /* 80378B34 00374794 40 81 00 08 */ ble lbl_80378B3C /* 80378B38 00374798 4B E6 1F 81 */ bl __dl__FPv lbl_80378B3C: /* 80378B3C 0037479C 7F E3 FB 78 */ mr r3, r31 /* 80378B40 003747A0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378B44 003747A4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378B48 003747A8 7C 08 03 A6 */ mtlr r0 /* 80378B4C 003747AC 38 21 00 10 */ addi r1, r1, 0x10 /* 80378B50 003747B0 4E 80 00 20 */ blr .global __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv: /* 80378B54 003747B4 38 00 00 00 */ li r0, 0 /* 80378B58 003747B8 38 83 00 04 */ addi r4, r3, 4 /* 80378B5C 003747BC 90 03 00 04 */ stw r0, 4(r3) /* 80378B60 003747C0 90 03 00 08 */ stw r0, 8(r3) /* 80378B64 003747C4 90 03 00 00 */ stw r0, 0(r3) /* 80378B68 003747C8 90 83 00 04 */ stw r4, 4(r3) /* 80378B6C 003747CC 90 83 00 08 */ stw r4, 8(r3) /* 80378B70 003747D0 4E 80 00 20 */ blr .global __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv: /* 80378B74 003747D4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80378B78 003747D8 7C 08 02 A6 */ mflr r0 /* 80378B7C 003747DC 2C 03 00 00 */ cmpwi r3, 0 /* 80378B80 003747E0 90 01 00 14 */ stw r0, 0x14(r1) /* 80378B84 003747E4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80378B88 003747E8 7C 9F 23 78 */ mr r31, r4 /* 80378B8C 003747EC 93 C1 00 08 */ stw r30, 8(r1) /* 80378B90 003747F0 7C 7E 1B 78 */ mr r30, r3 /* 80378B94 003747F4 41 82 00 1C */ beq lbl_80378BB0 /* 80378B98 003747F8 38 80 00 00 */ li r4, 0 /* 80378B9C 003747FC 4B FE 9F 9D */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv /* 80378BA0 00374800 2C 1F 00 00 */ cmpwi r31, 0 /* 80378BA4 00374804 40 81 00 0C */ ble lbl_80378BB0 /* 80378BA8 00374808 7F C3 F3 78 */ mr r3, r30 /* 80378BAC 0037480C 4B E6 1F 0D */ bl __dl__FPv lbl_80378BB0: /* 80378BB0 00374810 7F C3 F3 78 */ mr r3, r30 /* 80378BB4 00374814 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378BB8 00374818 83 C1 00 08 */ lwz r30, 8(r1) /* 80378BBC 0037481C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378BC0 00374820 7C 08 03 A6 */ mtlr r0 /* 80378BC4 00374824 38 21 00 10 */ addi r1, r1, 0x10 /* 80378BC8 00374828 4E 80 00 20 */ blr .global __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv: /* 80378BCC 0037482C 38 00 00 00 */ li r0, 0 /* 80378BD0 00374830 38 83 00 04 */ addi r4, r3, 4 /* 80378BD4 00374834 90 03 00 04 */ stw r0, 4(r3) /* 80378BD8 00374838 90 03 00 08 */ stw r0, 8(r3) /* 80378BDC 0037483C 90 03 00 00 */ stw r0, 0(r3) /* 80378BE0 00374840 90 83 00 04 */ stw r4, 4(r3) /* 80378BE4 00374844 90 83 00 08 */ stw r4, 8(r3) /* 80378BE8 00374848 4E 80 00 20 */ blr .global __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv: /* 80378BEC 0037484C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80378BF0 00374850 7C 08 02 A6 */ mflr r0 /* 80378BF4 00374854 2C 03 00 00 */ cmpwi r3, 0 /* 80378BF8 00374858 90 01 00 14 */ stw r0, 0x14(r1) /* 80378BFC 0037485C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80378C00 00374860 7C 9F 23 78 */ mr r31, r4 /* 80378C04 00374864 93 C1 00 08 */ stw r30, 8(r1) /* 80378C08 00374868 7C 7E 1B 78 */ mr r30, r3 /* 80378C0C 0037486C 41 82 00 1C */ beq lbl_80378C28 /* 80378C10 00374870 38 80 00 00 */ li r4, 0 /* 80378C14 00374874 4B FE 9F 25 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv /* 80378C18 00374878 2C 1F 00 00 */ cmpwi r31, 0 /* 80378C1C 0037487C 40 81 00 0C */ ble lbl_80378C28 /* 80378C20 00374880 7F C3 F3 78 */ mr r3, r30 /* 80378C24 00374884 4B E6 1E 95 */ bl __dl__FPv lbl_80378C28: /* 80378C28 00374888 7F C3 F3 78 */ mr r3, r30 /* 80378C2C 0037488C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378C30 00374890 83 C1 00 08 */ lwz r30, 8(r1) /* 80378C34 00374894 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378C38 00374898 7C 08 03 A6 */ mtlr r0 /* 80378C3C 0037489C 38 21 00 10 */ addi r1, r1, 0x10 /* 80378C40 003748A0 4E 80 00 20 */ blr .global __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv: /* 80378C44 003748A4 38 00 00 00 */ li r0, 0 /* 80378C48 003748A8 38 83 00 04 */ addi r4, r3, 4 /* 80378C4C 003748AC 90 03 00 04 */ stw r0, 4(r3) /* 80378C50 003748B0 90 03 00 08 */ stw r0, 8(r3) /* 80378C54 003748B4 90 03 00 00 */ stw r0, 0(r3) /* 80378C58 003748B8 90 83 00 04 */ stw r4, 4(r3) /* 80378C5C 003748BC 90 83 00 08 */ stw r4, 8(r3) /* 80378C60 003748C0 4E 80 00 20 */ blr .global __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv: /* 80378C64 003748C4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80378C68 003748C8 7C 08 02 A6 */ mflr r0 /* 80378C6C 003748CC 2C 03 00 00 */ cmpwi r3, 0 /* 80378C70 003748D0 90 01 00 14 */ stw r0, 0x14(r1) /* 80378C74 003748D4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80378C78 003748D8 7C 9F 23 78 */ mr r31, r4 /* 80378C7C 003748DC 93 C1 00 08 */ stw r30, 8(r1) /* 80378C80 003748E0 7C 7E 1B 78 */ mr r30, r3 /* 80378C84 003748E4 41 82 00 1C */ beq lbl_80378CA0 /* 80378C88 003748E8 38 80 00 00 */ li r4, 0 /* 80378C8C 003748EC 4B FE 9E AD */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv /* 80378C90 003748F0 2C 1F 00 00 */ cmpwi r31, 0 /* 80378C94 003748F4 40 81 00 0C */ ble lbl_80378CA0 /* 80378C98 003748F8 7F C3 F3 78 */ mr r3, r30 /* 80378C9C 003748FC 4B E6 1E 1D */ bl __dl__FPv lbl_80378CA0: /* 80378CA0 00374900 7F C3 F3 78 */ mr r3, r30 /* 80378CA4 00374904 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378CA8 00374908 83 C1 00 08 */ lwz r30, 8(r1) /* 80378CAC 0037490C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378CB0 00374910 7C 08 03 A6 */ mtlr r0 /* 80378CB4 00374914 38 21 00 10 */ addi r1, r1, 0x10 /* 80378CB8 00374918 4E 80 00 20 */ blr .global __dt__Q34nw4r3snd18SoundArchivePlayerFv __dt__Q34nw4r3snd18SoundArchivePlayerFv: /* 80378CBC 0037491C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80378CC0 00374920 7C 08 02 A6 */ mflr r0 /* 80378CC4 00374924 2C 03 00 00 */ cmpwi r3, 0 /* 80378CC8 00374928 90 01 00 14 */ stw r0, 0x14(r1) /* 80378CCC 0037492C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80378CD0 00374930 7C 9F 23 78 */ mr r31, r4 /* 80378CD4 00374934 93 C1 00 08 */ stw r30, 8(r1) /* 80378CD8 00374938 7C 7E 1B 78 */ mr r30, r3 /* 80378CDC 0037493C 41 82 00 7C */ beq lbl_80378D58 /* 80378CE0 00374940 3C 80 80 45 */ lis r4, lbl_8044CE68@ha /* 80378CE4 00374944 38 84 CE 68 */ addi r4, r4, lbl_8044CE68@l /* 80378CE8 00374948 38 04 00 14 */ addi r0, r4, 0x14 /* 80378CEC 0037494C 90 83 00 08 */ stw r4, 8(r3) /* 80378CF0 00374950 90 03 00 0C */ stw r0, 0xc(r3) /* 80378CF4 00374954 4B FF 65 65 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80378CF8 00374958 7F C4 F3 78 */ mr r4, r30 /* 80378CFC 0037495C 4B FF 66 B1 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv /* 80378D00 00374960 34 1E 00 88 */ addic. r0, r30, 0x88 /* 80378D04 00374964 41 82 00 14 */ beq lbl_80378D18 /* 80378D08 00374968 34 7E 00 8C */ addic. r3, r30, 0x8c /* 80378D0C 0037496C 41 82 00 0C */ beq lbl_80378D18 /* 80378D10 00374970 38 80 00 00 */ li r4, 0 /* 80378D14 00374974 4B FE 9E 25 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv lbl_80378D18: /* 80378D18 00374978 34 1E 00 60 */ addic. r0, r30, 0x60 /* 80378D1C 0037497C 41 82 00 14 */ beq lbl_80378D30 /* 80378D20 00374980 34 7E 00 64 */ addic. r3, r30, 0x64 /* 80378D24 00374984 41 82 00 0C */ beq lbl_80378D30 /* 80378D28 00374988 38 80 00 00 */ li r4, 0 /* 80378D2C 0037498C 4B FE 9E 0D */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv lbl_80378D30: /* 80378D30 00374990 34 1E 00 38 */ addic. r0, r30, 0x38 /* 80378D34 00374994 41 82 00 14 */ beq lbl_80378D48 /* 80378D38 00374998 34 7E 00 3C */ addic. r3, r30, 0x3c /* 80378D3C 0037499C 41 82 00 0C */ beq lbl_80378D48 /* 80378D40 003749A0 38 80 00 00 */ li r4, 0 /* 80378D44 003749A4 4B FE 9D F5 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv lbl_80378D48: /* 80378D48 003749A8 2C 1F 00 00 */ cmpwi r31, 0 /* 80378D4C 003749AC 40 81 00 0C */ ble lbl_80378D58 /* 80378D50 003749B0 7F C3 F3 78 */ mr r3, r30 /* 80378D54 003749B4 4B E6 1D 65 */ bl __dl__FPv lbl_80378D58: /* 80378D58 003749B8 7F C3 F3 78 */ mr r3, r30 /* 80378D5C 003749BC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80378D60 003749C0 83 C1 00 08 */ lwz r30, 8(r1) /* 80378D64 003749C4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80378D68 003749C8 7C 08 03 A6 */ mtlr r0 /* 80378D6C 003749CC 38 21 00 10 */ addi r1, r1, 0x10 /* 80378D70 003749D0 4E 80 00 20 */ blr .global Setup__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUlPvUl Setup__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUlPvUl: /* 80378D74 003749D4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80378D78 003749D8 7C 08 02 A6 */ mflr r0 /* 80378D7C 003749DC 90 01 00 64 */ stw r0, 0x64(r1) /* 80378D80 003749E0 39 61 00 60 */ addi r11, r1, 0x60 /* 80378D84 003749E4 4B E4 E3 A5 */ bl _savegpr_27 /* 80378D88 003749E8 7C 7B 1B 78 */ mr r27, r3 /* 80378D8C 003749EC 7C 9C 23 78 */ mr r28, r4 /* 80378D90 003749F0 7C FD 3B 78 */ mr r29, r7 /* 80378D94 003749F4 7D 1E 43 78 */ mr r30, r8 /* 80378D98 003749F8 48 00 03 4D */ bl SetupMram__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUl /* 80378D9C 003749FC 2C 03 00 00 */ cmpwi r3, 0 /* 80378DA0 00374A00 40 82 00 0C */ bne lbl_80378DAC /* 80378DA4 00374A04 38 60 00 00 */ li r3, 0 /* 80378DA8 00374A08 48 00 00 84 */ b lbl_80378E2C lbl_80378DAC: /* 80378DAC 00374A0C 7F 83 E3 78 */ mr r3, r28 /* 80378DB0 00374A10 38 81 00 24 */ addi r4, r1, 0x24 /* 80378DB4 00374A14 3B E0 00 00 */ li r31, 0 /* 80378DB8 00374A18 4B FF E2 C5 */ bl func_8037707C /* 80378DBC 00374A1C 2C 03 00 00 */ cmpwi r3, 0 /* 80378DC0 00374A20 41 82 00 08 */ beq lbl_80378DC8 /* 80378DC4 00374A24 83 E1 00 34 */ lwz r31, 0x34(r1) lbl_80378DC8: /* 80378DC8 00374A28 3C 60 00 01 */ lis r3, 0x0000A000@ha /* 80378DCC 00374A2C 38 03 A0 00 */ addi r0, r3, 0x0000A000@l /* 80378DD0 00374A30 7C 1F 01 D6 */ mullw r0, r31, r0 /* 80378DD4 00374A34 7C 1E 00 40 */ cmplw r30, r0 /* 80378DD8 00374A38 40 80 00 0C */ bge lbl_80378DE4 /* 80378DDC 00374A3C 38 00 00 00 */ li r0, 0 /* 80378DE0 00374A40 48 00 00 38 */ b lbl_80378E18 lbl_80378DE4: /* 80378DE4 00374A44 7F 83 E3 78 */ mr r3, r28 /* 80378DE8 00374A48 38 81 00 08 */ addi r4, r1, 8 /* 80378DEC 00374A4C 3B E0 00 00 */ li r31, 0 /* 80378DF0 00374A50 4B FF E2 8D */ bl func_8037707C /* 80378DF4 00374A54 2C 03 00 00 */ cmpwi r3, 0 /* 80378DF8 00374A58 41 82 00 08 */ beq lbl_80378E00 /* 80378DFC 00374A5C 83 E1 00 18 */ lwz r31, 0x18(r1) lbl_80378E00: /* 80378E00 00374A60 7F A4 EB 78 */ mr r4, r29 /* 80378E04 00374A64 7F C5 F3 78 */ mr r5, r30 /* 80378E08 00374A68 7F E6 FB 78 */ mr r6, r31 /* 80378E0C 00374A6C 38 7B 00 BC */ addi r3, r27, 0xbc /* 80378E10 00374A70 48 00 3C B5 */ bl Setup__Q44nw4r3snd6detail14StrmBufferPoolFPvUli /* 80378E14 00374A74 38 00 00 01 */ li r0, 1 lbl_80378E18: /* 80378E18 00374A78 2C 00 00 00 */ cmpwi r0, 0 /* 80378E1C 00374A7C 40 82 00 0C */ bne lbl_80378E28 /* 80378E20 00374A80 38 60 00 00 */ li r3, 0 /* 80378E24 00374A84 48 00 00 08 */ b lbl_80378E2C lbl_80378E28: /* 80378E28 00374A88 38 60 00 01 */ li r3, 1 lbl_80378E2C: /* 80378E2C 00374A8C 39 61 00 60 */ addi r11, r1, 0x60 /* 80378E30 00374A90 4B E4 E3 45 */ bl _restgpr_27 /* 80378E34 00374A94 80 01 00 64 */ lwz r0, 0x64(r1) /* 80378E38 00374A98 7C 08 03 A6 */ mtlr r0 /* 80378E3C 00374A9C 38 21 00 60 */ addi r1, r1, 0x60 /* 80378E40 00374AA0 4E 80 00 20 */ blr .global Shutdown__Q34nw4r3snd18SoundArchivePlayerFv Shutdown__Q34nw4r3snd18SoundArchivePlayerFv: /* 80378E44 00374AA4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80378E48 00374AA8 7C 08 02 A6 */ mflr r0 /* 80378E4C 00374AAC 90 01 00 24 */ stw r0, 0x24(r1) /* 80378E50 00374AB0 39 61 00 20 */ addi r11, r1, 0x20 /* 80378E54 00374AB4 4B E4 E2 D5 */ bl _savegpr_27 /* 80378E58 00374AB8 38 00 00 00 */ li r0, 0 /* 80378E5C 00374ABC 7C 7B 1B 78 */ mr r27, r3 /* 80378E60 00374AC0 90 03 00 10 */ stw r0, 0x10(r3) /* 80378E64 00374AC4 3B A0 00 00 */ li r29, 0 /* 80378E68 00374AC8 3B 80 00 00 */ li r28, 0 /* 80378E6C 00374ACC 90 03 00 14 */ stw r0, 0x14(r3) /* 80378E70 00374AD0 90 03 00 18 */ stw r0, 0x18(r3) /* 80378E74 00374AD4 90 03 00 1C */ stw r0, 0x1c(r3) /* 80378E78 00374AD8 48 00 00 1C */ b lbl_80378E94 lbl_80378E7C: /* 80378E7C 00374ADC 80 1B 00 34 */ lwz r0, 0x34(r27) /* 80378E80 00374AE0 38 80 FF FF */ li r4, -1 /* 80378E84 00374AE4 7C 60 E2 14 */ add r3, r0, r28 /* 80378E88 00374AE8 48 00 1E 91 */ bl __dt__Q34nw4r3snd11SoundPlayerFv /* 80378E8C 00374AEC 3B 9C 00 60 */ addi r28, r28, 0x60 /* 80378E90 00374AF0 3B BD 00 01 */ addi r29, r29, 1 lbl_80378E94: /* 80378E94 00374AF4 80 1B 00 30 */ lwz r0, 0x30(r27) /* 80378E98 00374AF8 7C 1D 00 40 */ cmplw r29, r0 /* 80378E9C 00374AFC 41 80 FF E0 */ blt lbl_80378E7C /* 80378EA0 00374B00 3B C0 00 00 */ li r30, 0 /* 80378EA4 00374B04 3B FB 00 48 */ addi r31, r27, 0x48 /* 80378EA8 00374B08 93 DB 00 30 */ stw r30, 0x30(r27) /* 80378EAC 00374B0C 7F E3 FB 78 */ mr r3, r31 /* 80378EB0 00374B10 83 9B 00 DC */ lwz r28, 0xdc(r27) /* 80378EB4 00374B14 93 DB 00 34 */ stw r30, 0x34(r27) /* 80378EB8 00374B18 83 BB 00 D8 */ lwz r29, 0xd8(r27) /* 80378EBC 00374B1C 4B EF 6A 8D */ bl OSLockMutex /* 80378EC0 00374B20 7F A4 EB 78 */ mr r4, r29 /* 80378EC4 00374B24 7F 85 E3 78 */ mr r5, r28 /* 80378EC8 00374B28 38 7B 00 38 */ addi r3, r27, 0x38 /* 80378ECC 00374B2C 4B FF 8B BD */ bl DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl /* 80378ED0 00374B30 7F E3 FB 78 */ mr r3, r31 /* 80378ED4 00374B34 4B EF 6B 51 */ bl OSUnlockMutex /* 80378ED8 00374B38 3B FB 00 70 */ addi r31, r27, 0x70 /* 80378EDC 00374B3C 83 BB 00 DC */ lwz r29, 0xdc(r27) /* 80378EE0 00374B40 83 9B 00 D8 */ lwz r28, 0xd8(r27) /* 80378EE4 00374B44 7F E3 FB 78 */ mr r3, r31 /* 80378EE8 00374B48 4B EF 6A 61 */ bl OSLockMutex /* 80378EEC 00374B4C 7F 84 E3 78 */ mr r4, r28 /* 80378EF0 00374B50 7F A5 EB 78 */ mr r5, r29 /* 80378EF4 00374B54 38 7B 00 60 */ addi r3, r27, 0x60 /* 80378EF8 00374B58 4B FF 8B 91 */ bl DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl /* 80378EFC 00374B5C 7F E3 FB 78 */ mr r3, r31 /* 80378F00 00374B60 4B EF 6B 25 */ bl OSUnlockMutex /* 80378F04 00374B64 3B FB 00 98 */ addi r31, r27, 0x98 /* 80378F08 00374B68 83 BB 00 DC */ lwz r29, 0xdc(r27) /* 80378F0C 00374B6C 83 9B 00 D8 */ lwz r28, 0xd8(r27) /* 80378F10 00374B70 7F E3 FB 78 */ mr r3, r31 /* 80378F14 00374B74 4B EF 6A 35 */ bl OSLockMutex /* 80378F18 00374B78 7F 84 E3 78 */ mr r4, r28 /* 80378F1C 00374B7C 7F A5 EB 78 */ mr r5, r29 /* 80378F20 00374B80 38 7B 00 88 */ addi r3, r27, 0x88 /* 80378F24 00374B84 4B FF 8B 65 */ bl DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl /* 80378F28 00374B88 7F E3 FB 78 */ mr r3, r31 /* 80378F2C 00374B8C 4B EF 6A F9 */ bl OSUnlockMutex /* 80378F30 00374B90 80 9B 00 D8 */ lwz r4, 0xd8(r27) /* 80378F34 00374B94 38 7B 00 B0 */ addi r3, r27, 0xb0 /* 80378F38 00374B98 80 BB 00 DC */ lwz r5, 0xdc(r27) /* 80378F3C 00374B9C 4B FF 9F BD */ bl Destroy__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl /* 80378F40 00374BA0 38 7B 00 BC */ addi r3, r27, 0xbc /* 80378F44 00374BA4 48 00 3C 01 */ bl Shutdown__Q44nw4r3snd6detail14StrmBufferPoolFv /* 80378F48 00374BA8 93 DB 00 D8 */ stw r30, 0xd8(r27) /* 80378F4C 00374BAC 39 61 00 20 */ addi r11, r1, 0x20 /* 80378F50 00374BB0 93 DB 00 DC */ stw r30, 0xdc(r27) /* 80378F54 00374BB4 4B E4 E2 21 */ bl _restgpr_27 /* 80378F58 00374BB8 80 01 00 24 */ lwz r0, 0x24(r1) /* 80378F5C 00374BBC 7C 08 03 A6 */ mtlr r0 /* 80378F60 00374BC0 38 21 00 20 */ addi r1, r1, 0x20 /* 80378F64 00374BC4 4E 80 00 20 */ blr .global GetRequiredMemSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive GetRequiredMemSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive: /* 80378F68 00374BC8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80378F6C 00374BCC 7C 08 02 A6 */ mflr r0 /* 80378F70 00374BD0 90 01 00 44 */ stw r0, 0x44(r1) /* 80378F74 00374BD4 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80378F78 00374BD8 93 C1 00 38 */ stw r30, 0x38(r1) /* 80378F7C 00374BDC 93 A1 00 34 */ stw r29, 0x34(r1) /* 80378F80 00374BE0 93 81 00 30 */ stw r28, 0x30(r1) /* 80378F84 00374BE4 7C 9C 23 78 */ mr r28, r4 /* 80378F88 00374BE8 7F 83 E3 78 */ mr r3, r28 /* 80378F8C 00374BEC 4B FF E0 A1 */ bl func_8037702C /* 80378F90 00374BF0 1C 83 00 60 */ mulli r4, r3, 0x60 /* 80378F94 00374BF4 7C 7E 1B 78 */ mr r30, r3 /* 80378F98 00374BF8 3B A0 00 00 */ li r29, 0 /* 80378F9C 00374BFC 38 04 00 03 */ addi r0, r4, 3 /* 80378FA0 00374C00 54 1F 00 3A */ rlwinm r31, r0, 0, 0, 0x1d /* 80378FA4 00374C04 48 00 00 4C */ b lbl_80378FF0 lbl_80378FA8: /* 80378FA8 00374C08 7F 83 E3 78 */ mr r3, r28 /* 80378FAC 00374C0C 7F A4 EB 78 */ mr r4, r29 /* 80378FB0 00374C10 38 A1 00 08 */ addi r5, r1, 8 /* 80378FB4 00374C14 4B FF E0 C1 */ bl func_80377074 /* 80378FB8 00374C18 2C 03 00 00 */ cmpwi r3, 0 /* 80378FBC 00374C1C 41 82 00 30 */ beq lbl_80378FEC /* 80378FC0 00374C20 80 61 00 0C */ lwz r3, 0xc(r1) /* 80378FC4 00374C24 80 81 00 08 */ lwz r4, 8(r1) /* 80378FC8 00374C28 38 03 00 3F */ addi r0, r3, 0x3f /* 80378FCC 00374C2C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80378FD0 00374C30 7C 89 03 A6 */ mtctr r4 /* 80378FD4 00374C34 2C 04 00 00 */ cmpwi r4, 0 /* 80378FD8 00374C38 40 81 00 14 */ ble lbl_80378FEC lbl_80378FDC: /* 80378FDC 00374C3C 2C 03 00 00 */ cmpwi r3, 0 /* 80378FE0 00374C40 41 82 00 08 */ beq lbl_80378FE8 /* 80378FE4 00374C44 7F FF 02 14 */ add r31, r31, r0 lbl_80378FE8: /* 80378FE8 00374C48 42 00 FF F4 */ bdnz lbl_80378FDC lbl_80378FEC: /* 80378FEC 00374C4C 3B BD 00 01 */ addi r29, r29, 1 lbl_80378FF0: /* 80378FF0 00374C50 7C 1D F0 40 */ cmplw r29, r30 /* 80378FF4 00374C54 41 80 FF B4 */ blt lbl_80378FA8 /* 80378FF8 00374C58 7F 83 E3 78 */ mr r3, r28 /* 80378FFC 00374C5C 4B FF E0 39 */ bl func_80377034 /* 80379000 00374C60 54 64 18 38 */ slwi r4, r3, 3 /* 80379004 00374C64 7F 83 E3 78 */ mr r3, r28 /* 80379008 00374C68 38 04 00 07 */ addi r0, r4, 7 /* 8037900C 00374C6C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80379010 00374C70 38 81 00 10 */ addi r4, r1, 0x10 /* 80379014 00374C74 7F FF 02 14 */ add r31, r31, r0 /* 80379018 00374C78 4B FF E0 65 */ bl func_8037707C /* 8037901C 00374C7C 2C 03 00 00 */ cmpwi r3, 0 /* 80379020 00374C80 41 82 00 54 */ beq lbl_80379074 /* 80379024 00374C84 80 01 00 10 */ lwz r0, 0x10(r1) /* 80379028 00374C88 80 81 00 18 */ lwz r4, 0x18(r1) /* 8037902C 00374C8C 1C C0 04 64 */ mulli r6, r0, 0x464 /* 80379030 00374C90 80 61 00 24 */ lwz r3, 0x24(r1) /* 80379034 00374C94 80 01 00 14 */ lwz r0, 0x14(r1) /* 80379038 00374C98 1C A4 0B 54 */ mulli r5, r4, 0xb54 /* 8037903C 00374C9C 38 C6 00 03 */ addi r6, r6, 3 /* 80379040 00374CA0 1C 83 01 D4 */ mulli r4, r3, 0x1d4 /* 80379044 00374CA4 54 C3 00 3A */ rlwinm r3, r6, 0, 0, 0x1d /* 80379048 00374CA8 38 A5 00 03 */ addi r5, r5, 3 /* 8037904C 00374CAC 7F FF 1A 14 */ add r31, r31, r3 /* 80379050 00374CB0 1C 60 00 F0 */ mulli r3, r0, 0xf0 /* 80379054 00374CB4 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d /* 80379058 00374CB8 38 04 00 03 */ addi r0, r4, 3 /* 8037905C 00374CBC 7F FF 2A 14 */ add r31, r31, r5 /* 80379060 00374CC0 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d /* 80379064 00374CC4 38 03 00 03 */ addi r0, r3, 3 /* 80379068 00374CC8 7F FF 22 14 */ add r31, r31, r4 /* 8037906C 00374CCC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80379070 00374CD0 7F FF 02 14 */ add r31, r31, r0 lbl_80379074: /* 80379074 00374CD4 7F E3 FB 78 */ mr r3, r31 /* 80379078 00374CD8 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8037907C 00374CDC 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80379080 00374CE0 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80379084 00374CE4 83 81 00 30 */ lwz r28, 0x30(r1) /* 80379088 00374CE8 80 01 00 44 */ lwz r0, 0x44(r1) /* 8037908C 00374CEC 7C 08 03 A6 */ mtlr r0 /* 80379090 00374CF0 38 21 00 40 */ addi r1, r1, 0x40 /* 80379094 00374CF4 4E 80 00 20 */ blr .global GetRequiredStrmBufferSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive GetRequiredStrmBufferSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive: /* 80379098 00374CF8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8037909C 00374CFC 7C 08 02 A6 */ mflr r0 /* 803790A0 00374D00 7C 83 23 78 */ mr r3, r4 /* 803790A4 00374D04 90 01 00 34 */ stw r0, 0x34(r1) /* 803790A8 00374D08 38 81 00 08 */ addi r4, r1, 8 /* 803790AC 00374D0C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803790B0 00374D10 3B E0 00 00 */ li r31, 0 /* 803790B4 00374D14 4B FF DF C9 */ bl func_8037707C /* 803790B8 00374D18 2C 03 00 00 */ cmpwi r3, 0 /* 803790BC 00374D1C 41 82 00 08 */ beq lbl_803790C4 /* 803790C0 00374D20 83 E1 00 18 */ lwz r31, 0x18(r1) lbl_803790C4: /* 803790C4 00374D24 3C 60 00 01 */ lis r3, 0x0000A000@ha /* 803790C8 00374D28 38 03 A0 00 */ addi r0, r3, 0x0000A000@l /* 803790CC 00374D2C 7C 7F 01 D6 */ mullw r3, r31, r0 /* 803790D0 00374D30 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 803790D4 00374D34 80 01 00 34 */ lwz r0, 0x34(r1) /* 803790D8 00374D38 7C 08 03 A6 */ mtlr r0 /* 803790DC 00374D3C 38 21 00 30 */ addi r1, r1, 0x30 /* 803790E0 00374D40 4E 80 00 20 */ blr .global SetupMram__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUl SetupMram__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUl: /* 803790E4 00374D44 94 21 FF B0 */ stwu r1, -0x50(r1) /* 803790E8 00374D48 7C 08 02 A6 */ mflr r0 /* 803790EC 00374D4C 90 01 00 54 */ stw r0, 0x54(r1) /* 803790F0 00374D50 39 61 00 50 */ addi r11, r1, 0x50 /* 803790F4 00374D54 4B E4 E0 25 */ bl _savegpr_23 /* 803790F8 00374D58 90 A1 00 08 */ stw r5, 8(r1) /* 803790FC 00374D5C 7F E5 32 14 */ add r31, r5, r6 /* 80379100 00374D60 7C BD 2B 78 */ mr r29, r5 /* 80379104 00374D64 7C DE 33 78 */ mr r30, r6 /* 80379108 00374D68 7C 7B 1B 78 */ mr r27, r3 /* 8037910C 00374D6C 7C 9C 23 78 */ mr r28, r4 /* 80379110 00374D70 7F E6 FB 78 */ mr r6, r31 /* 80379114 00374D74 38 A1 00 08 */ addi r5, r1, 8 /* 80379118 00374D78 48 00 02 65 */ bl SetupSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePPvPv /* 8037911C 00374D7C 2C 03 00 00 */ cmpwi r3, 0 /* 80379120 00374D80 40 82 00 0C */ bne lbl_8037912C /* 80379124 00374D84 38 60 00 00 */ li r3, 0 /* 80379128 00374D88 48 00 02 3C */ b lbl_80379364 lbl_8037912C: /* 8037912C 00374D8C 7F 83 E3 78 */ mr r3, r28 /* 80379130 00374D90 4B FF DF 05 */ bl func_80377034 /* 80379134 00374D94 54 63 18 38 */ slwi r3, r3, 3 /* 80379138 00374D98 80 A1 00 08 */ lwz r5, 8(r1) /* 8037913C 00374D9C 38 03 00 04 */ addi r0, r3, 4 /* 80379140 00374DA0 7C 60 2A 14 */ add r3, r0, r5 /* 80379144 00374DA4 38 03 00 03 */ addi r0, r3, 3 /* 80379148 00374DA8 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d /* 8037914C 00374DAC 7C 1F 20 51 */ subf. r0, r31, r4 /* 80379150 00374DB0 40 81 00 0C */ ble lbl_8037915C /* 80379154 00374DB4 38 00 00 00 */ li r0, 0 /* 80379158 00374DB8 48 00 00 5C */ b lbl_803791B4 lbl_8037915C: /* 8037915C 00374DBC 90 BB 00 14 */ stw r5, 0x14(r27) /* 80379160 00374DC0 7F 83 E3 78 */ mr r3, r28 /* 80379164 00374DC4 90 81 00 08 */ stw r4, 8(r1) /* 80379168 00374DC8 4B FF DE CD */ bl func_80377034 /* 8037916C 00374DCC 80 BB 00 14 */ lwz r5, 0x14(r27) /* 80379170 00374DD0 38 C0 00 00 */ li r6, 0 /* 80379174 00374DD4 38 E0 00 00 */ li r7, 0 /* 80379178 00374DD8 38 80 00 00 */ li r4, 0 /* 8037917C 00374DDC 90 65 00 00 */ stw r3, 0(r5) /* 80379180 00374DE0 48 00 00 20 */ b lbl_803791A0 lbl_80379184: /* 80379184 00374DE4 7C 63 3A 14 */ add r3, r3, r7 /* 80379188 00374DE8 38 C6 00 01 */ addi r6, r6, 1 /* 8037918C 00374DEC 90 83 00 04 */ stw r4, 4(r3) /* 80379190 00374DF0 80 1B 00 14 */ lwz r0, 0x14(r27) /* 80379194 00374DF4 7C 60 3A 14 */ add r3, r0, r7 /* 80379198 00374DF8 38 E7 00 08 */ addi r7, r7, 8 /* 8037919C 00374DFC 90 83 00 08 */ stw r4, 8(r3) lbl_803791A0: /* 803791A0 00374E00 80 7B 00 14 */ lwz r3, 0x14(r27) /* 803791A4 00374E04 80 03 00 00 */ lwz r0, 0(r3) /* 803791A8 00374E08 7C 06 00 40 */ cmplw r6, r0 /* 803791AC 00374E0C 41 80 FF D8 */ blt lbl_80379184 /* 803791B0 00374E10 38 00 00 01 */ li r0, 1 lbl_803791B4: /* 803791B4 00374E14 2C 00 00 00 */ cmpwi r0, 0 /* 803791B8 00374E18 40 82 00 0C */ bne lbl_803791C4 /* 803791BC 00374E1C 38 60 00 00 */ li r3, 0 /* 803791C0 00374E20 48 00 01 A4 */ b lbl_80379364 lbl_803791C4: /* 803791C4 00374E24 7F 83 E3 78 */ mr r3, r28 /* 803791C8 00374E28 38 81 00 0C */ addi r4, r1, 0xc /* 803791CC 00374E2C 4B FF DE B1 */ bl func_8037707C /* 803791D0 00374E30 2C 03 00 00 */ cmpwi r3, 0 /* 803791D4 00374E34 41 82 01 80 */ beq lbl_80379354 /* 803791D8 00374E38 80 01 00 0C */ lwz r0, 0xc(r1) /* 803791DC 00374E3C 82 E1 00 08 */ lwz r23, 8(r1) /* 803791E0 00374E40 1F 20 04 64 */ mulli r25, r0, 0x464 /* 803791E4 00374E44 7C 79 BA 14 */ add r3, r25, r23 /* 803791E8 00374E48 38 03 00 03 */ addi r0, r3, 3 /* 803791EC 00374E4C 54 18 00 3A */ rlwinm r24, r0, 0, 0, 0x1d /* 803791F0 00374E50 7C 1F C0 51 */ subf. r0, r31, r24 /* 803791F4 00374E54 40 81 00 0C */ ble lbl_80379200 /* 803791F8 00374E58 38 00 00 00 */ li r0, 0 /* 803791FC 00374E5C 48 00 00 34 */ b lbl_80379230 lbl_80379200: /* 80379200 00374E60 3B 5B 00 48 */ addi r26, r27, 0x48 /* 80379204 00374E64 7F 43 D3 78 */ mr r3, r26 /* 80379208 00374E68 4B EF 67 41 */ bl OSLockMutex /* 8037920C 00374E6C 7E E4 BB 78 */ mr r4, r23 /* 80379210 00374E70 7F 25 CB 78 */ mr r5, r25 /* 80379214 00374E74 38 7B 00 38 */ addi r3, r27, 0x38 /* 80379218 00374E78 38 C0 04 64 */ li r6, 0x464 /* 8037921C 00374E7C 4B FF 87 29 */ bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl /* 80379220 00374E80 7F 43 D3 78 */ mr r3, r26 /* 80379224 00374E84 4B EF 68 01 */ bl OSUnlockMutex /* 80379228 00374E88 93 01 00 08 */ stw r24, 8(r1) /* 8037922C 00374E8C 38 00 00 01 */ li r0, 1 lbl_80379230: /* 80379230 00374E90 2C 00 00 00 */ cmpwi r0, 0 /* 80379234 00374E94 40 82 00 0C */ bne lbl_80379240 /* 80379238 00374E98 38 60 00 00 */ li r3, 0 /* 8037923C 00374E9C 48 00 01 28 */ b lbl_80379364 lbl_80379240: /* 80379240 00374EA0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80379244 00374EA4 82 E1 00 08 */ lwz r23, 8(r1) /* 80379248 00374EA8 1F 20 0B 54 */ mulli r25, r0, 0xb54 /* 8037924C 00374EAC 7C 79 BA 14 */ add r3, r25, r23 /* 80379250 00374EB0 38 03 00 03 */ addi r0, r3, 3 /* 80379254 00374EB4 54 18 00 3A */ rlwinm r24, r0, 0, 0, 0x1d /* 80379258 00374EB8 7C 1F C0 51 */ subf. r0, r31, r24 /* 8037925C 00374EBC 40 81 00 0C */ ble lbl_80379268 /* 80379260 00374EC0 38 00 00 00 */ li r0, 0 /* 80379264 00374EC4 48 00 00 34 */ b lbl_80379298 lbl_80379268: /* 80379268 00374EC8 3B 5B 00 70 */ addi r26, r27, 0x70 /* 8037926C 00374ECC 7F 43 D3 78 */ mr r3, r26 /* 80379270 00374ED0 4B EF 66 D9 */ bl OSLockMutex /* 80379274 00374ED4 7E E4 BB 78 */ mr r4, r23 /* 80379278 00374ED8 7F 25 CB 78 */ mr r5, r25 /* 8037927C 00374EDC 38 7B 00 60 */ addi r3, r27, 0x60 /* 80379280 00374EE0 38 C0 0B 54 */ li r6, 0xb54 /* 80379284 00374EE4 4B FF 86 C1 */ bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl /* 80379288 00374EE8 7F 43 D3 78 */ mr r3, r26 /* 8037928C 00374EEC 4B EF 67 99 */ bl OSUnlockMutex /* 80379290 00374EF0 93 01 00 08 */ stw r24, 8(r1) /* 80379294 00374EF4 38 00 00 01 */ li r0, 1 lbl_80379298: /* 80379298 00374EF8 2C 00 00 00 */ cmpwi r0, 0 /* 8037929C 00374EFC 40 82 00 0C */ bne lbl_803792A8 /* 803792A0 00374F00 38 60 00 00 */ li r3, 0 /* 803792A4 00374F04 48 00 00 C0 */ b lbl_80379364 lbl_803792A8: /* 803792A8 00374F08 80 01 00 20 */ lwz r0, 0x20(r1) /* 803792AC 00374F0C 82 E1 00 08 */ lwz r23, 8(r1) /* 803792B0 00374F10 1F 20 01 D4 */ mulli r25, r0, 0x1d4 /* 803792B4 00374F14 7C 79 BA 14 */ add r3, r25, r23 /* 803792B8 00374F18 38 03 00 03 */ addi r0, r3, 3 /* 803792BC 00374F1C 54 18 00 3A */ rlwinm r24, r0, 0, 0, 0x1d /* 803792C0 00374F20 7C 1F C0 51 */ subf. r0, r31, r24 /* 803792C4 00374F24 40 81 00 0C */ ble lbl_803792D0 /* 803792C8 00374F28 38 00 00 00 */ li r0, 0 /* 803792CC 00374F2C 48 00 00 34 */ b lbl_80379300 lbl_803792D0: /* 803792D0 00374F30 3B 5B 00 98 */ addi r26, r27, 0x98 /* 803792D4 00374F34 7F 43 D3 78 */ mr r3, r26 /* 803792D8 00374F38 4B EF 66 71 */ bl OSLockMutex /* 803792DC 00374F3C 7E E4 BB 78 */ mr r4, r23 /* 803792E0 00374F40 7F 25 CB 78 */ mr r5, r25 /* 803792E4 00374F44 38 7B 00 88 */ addi r3, r27, 0x88 /* 803792E8 00374F48 38 C0 01 D4 */ li r6, 0x1d4 /* 803792EC 00374F4C 4B FF 86 59 */ bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl /* 803792F0 00374F50 7F 43 D3 78 */ mr r3, r26 /* 803792F4 00374F54 4B EF 67 31 */ bl OSUnlockMutex /* 803792F8 00374F58 93 01 00 08 */ stw r24, 8(r1) /* 803792FC 00374F5C 38 00 00 01 */ li r0, 1 lbl_80379300: /* 80379300 00374F60 2C 00 00 00 */ cmpwi r0, 0 /* 80379304 00374F64 40 82 00 0C */ bne lbl_80379310 /* 80379308 00374F68 38 60 00 00 */ li r3, 0 /* 8037930C 00374F6C 48 00 00 58 */ b lbl_80379364 lbl_80379310: /* 80379310 00374F70 80 01 00 10 */ lwz r0, 0x10(r1) /* 80379314 00374F74 80 81 00 08 */ lwz r4, 8(r1) /* 80379318 00374F78 1C A0 00 F0 */ mulli r5, r0, 0xf0 /* 8037931C 00374F7C 7C 65 22 14 */ add r3, r5, r4 /* 80379320 00374F80 38 03 00 03 */ addi r0, r3, 3 /* 80379324 00374F84 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80379328 00374F88 7C 1F 00 51 */ subf. r0, r31, r0 /* 8037932C 00374F8C 40 81 00 0C */ ble lbl_80379338 /* 80379330 00374F90 38 00 00 00 */ li r0, 0 /* 80379334 00374F94 48 00 00 10 */ b lbl_80379344 lbl_80379338: /* 80379338 00374F98 38 7B 00 B0 */ addi r3, r27, 0xb0 /* 8037933C 00374F9C 4B FF 9B B1 */ bl Create__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl /* 80379340 00374FA0 38 00 00 01 */ li r0, 1 lbl_80379344: /* 80379344 00374FA4 2C 00 00 00 */ cmpwi r0, 0 /* 80379348 00374FA8 40 82 00 0C */ bne lbl_80379354 /* 8037934C 00374FAC 38 60 00 00 */ li r3, 0 /* 80379350 00374FB0 48 00 00 14 */ b lbl_80379364 lbl_80379354: /* 80379354 00374FB4 93 9B 00 10 */ stw r28, 0x10(r27) /* 80379358 00374FB8 38 60 00 01 */ li r3, 1 /* 8037935C 00374FBC 93 BB 00 D8 */ stw r29, 0xd8(r27) /* 80379360 00374FC0 93 DB 00 DC */ stw r30, 0xdc(r27) lbl_80379364: /* 80379364 00374FC4 39 61 00 50 */ addi r11, r1, 0x50 /* 80379368 00374FC8 4B E4 DD FD */ bl _restgpr_23 /* 8037936C 00374FCC 80 01 00 54 */ lwz r0, 0x54(r1) /* 80379370 00374FD0 7C 08 03 A6 */ mtlr r0 /* 80379374 00374FD4 38 21 00 50 */ addi r1, r1, 0x50 /* 80379378 00374FD8 4E 80 00 20 */ blr .global SetupSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePPvPv SetupSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePPvPv: /* 8037937C 00374FDC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80379380 00374FE0 7C 08 02 A6 */ mflr r0 /* 80379384 00374FE4 90 01 00 44 */ stw r0, 0x44(r1) /* 80379388 00374FE8 39 61 00 40 */ addi r11, r1, 0x40 /* 8037938C 00374FEC 4B E4 DD 81 */ bl _savegpr_20 /* 80379390 00374FF0 7C 98 23 78 */ mr r24, r4 /* 80379394 00374FF4 7C 74 1B 78 */ mr r20, r3 /* 80379398 00374FF8 7C B9 2B 78 */ mr r25, r5 /* 8037939C 00374FFC 7C DA 33 78 */ mr r26, r6 /* 803793A0 00375000 7F 03 C3 78 */ mr r3, r24 /* 803793A4 00375004 4B FF DC 89 */ bl func_8037702C /* 803793A8 00375008 1C 03 00 60 */ mulli r0, r3, 0x60 /* 803793AC 0037500C 83 D9 00 00 */ lwz r30, 0(r25) /* 803793B0 00375010 7C 7F 1B 78 */ mr r31, r3 /* 803793B4 00375014 7C 80 F2 14 */ add r4, r0, r30 /* 803793B8 00375018 38 04 00 03 */ addi r0, r4, 3 /* 803793BC 0037501C 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d /* 803793C0 00375020 7C 1A 20 51 */ subf. r0, r26, r4 /* 803793C4 00375024 40 81 00 0C */ ble lbl_803793D0 /* 803793C8 00375028 38 60 00 00 */ li r3, 0 /* 803793CC 0037502C 48 00 01 30 */ b lbl_803794FC lbl_803793D0: /* 803793D0 00375030 90 99 00 00 */ stw r4, 0(r25) /* 803793D4 00375034 3E C0 80 45 */ lis r22, lbl_8044CEB8@ha /* 803793D8 00375038 3B A0 00 00 */ li r29, 0 /* 803793DC 0037503C 3A E0 00 00 */ li r23, 0 /* 803793E0 00375040 93 D4 00 34 */ stw r30, 0x34(r20) /* 803793E4 00375044 3A D6 CE B8 */ addi r22, r22, lbl_8044CEB8@l /* 803793E8 00375048 90 74 00 30 */ stw r3, 0x30(r20) /* 803793EC 0037504C 48 00 01 04 */ b lbl_803794F0 lbl_803793F0: /* 803793F0 00375050 2C 1E 00 00 */ cmpwi r30, 0 /* 803793F4 00375054 7F DC F3 78 */ mr r28, r30 /* 803793F8 00375058 41 82 00 10 */ beq lbl_80379408 /* 803793FC 0037505C 7F C3 F3 78 */ mr r3, r30 /* 80379400 00375060 48 00 17 DD */ bl __ct__Q34nw4r3snd11SoundPlayerFv /* 80379404 00375064 7C 7C 1B 78 */ mr r28, r3 lbl_80379408: /* 80379408 00375068 7F 03 C3 78 */ mr r3, r24 /* 8037940C 0037506C 7F A4 EB 78 */ mr r4, r29 /* 80379410 00375070 38 A1 00 08 */ addi r5, r1, 8 /* 80379414 00375074 4B FF DC 61 */ bl func_80377074 /* 80379418 00375078 2C 03 00 00 */ cmpwi r3, 0 /* 8037941C 0037507C 41 82 00 CC */ beq lbl_803794E8 /* 80379420 00375080 80 81 00 08 */ lwz r4, 8(r1) /* 80379424 00375084 7F 83 E3 78 */ mr r3, r28 /* 80379428 00375088 48 00 29 A9 */ bl SetPlayableSoundCount__Q34nw4r3snd11SoundPlayerFi /* 8037942C 0037508C 80 81 00 08 */ lwz r4, 8(r1) /* 80379430 00375090 7F 83 E3 78 */ mr r3, r28 /* 80379434 00375094 48 00 2A 3D */ bl detail_SetPlayableSoundLimit__Q34nw4r3snd11SoundPlayerFi /* 80379438 00375098 80 01 00 0C */ lwz r0, 0xc(r1) /* 8037943C 0037509C 2C 00 00 00 */ cmpwi r0, 0 /* 80379440 003750A0 41 82 00 A8 */ beq lbl_803794E8 /* 80379444 003750A4 3B 60 00 00 */ li r27, 0 /* 80379448 003750A8 48 00 00 94 */ b lbl_803794DC lbl_8037944C: /* 8037944C 003750AC 82 99 00 00 */ lwz r20, 0(r25) /* 80379450 003750B0 80 01 00 0C */ lwz r0, 0xc(r1) /* 80379454 003750B4 7C 74 02 14 */ add r3, r20, r0 /* 80379458 003750B8 38 03 00 3F */ addi r0, r3, 0x3f /* 8037945C 003750BC 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d /* 80379460 003750C0 7C 1A 18 51 */ subf. r0, r26, r3 /* 80379464 003750C4 40 81 00 0C */ ble lbl_80379470 /* 80379468 003750C8 38 60 00 00 */ li r3, 0 /* 8037946C 003750CC 48 00 00 90 */ b lbl_803794FC lbl_80379470: /* 80379470 003750D0 90 79 00 00 */ stw r3, 0(r25) /* 80379474 003750D4 2C 14 00 00 */ cmpwi r20, 0 /* 80379478 003750D8 82 A1 00 0C */ lwz r21, 0xc(r1) /* 8037947C 003750DC 41 82 00 20 */ beq lbl_8037949C /* 80379480 003750E0 7E 83 A3 78 */ mr r3, r20 /* 80379484 003750E4 48 00 15 B9 */ bl __ct__Q34nw4r3snd9SoundHeapFv /* 80379488 003750E8 92 D4 00 00 */ stw r22, 0(r20) /* 8037948C 003750EC 92 F4 00 2C */ stw r23, 0x2c(r20) /* 80379490 003750F0 92 F4 00 30 */ stw r23, 0x30(r20) /* 80379494 003750F4 92 F4 00 34 */ stw r23, 0x34(r20) /* 80379498 003750F8 92 F4 00 38 */ stw r23, 0x38(r20) lbl_8037949C: /* 8037949C 003750FC 7E 83 A3 78 */ mr r3, r20 /* 803794A0 00375100 7E A5 AB 78 */ mr r5, r21 /* 803794A4 00375104 38 94 00 3C */ addi r4, r20, 0x3c /* 803794A8 00375108 48 00 16 4D */ bl Create__Q34nw4r3snd9SoundHeapFPvUl /* 803794AC 0037510C 2C 03 00 00 */ cmpwi r3, 0 /* 803794B0 00375110 41 82 00 08 */ beq lbl_803794B8 /* 803794B4 00375114 48 00 00 08 */ b lbl_803794BC lbl_803794B8: /* 803794B8 00375118 3A 80 00 00 */ li r20, 0 lbl_803794BC: /* 803794BC 0037511C 2C 14 00 00 */ cmpwi r20, 0 /* 803794C0 00375120 40 82 00 0C */ bne lbl_803794CC /* 803794C4 00375124 38 60 00 00 */ li r3, 0 /* 803794C8 00375128 48 00 00 34 */ b lbl_803794FC lbl_803794CC: /* 803794CC 0037512C 7F 83 E3 78 */ mr r3, r28 /* 803794D0 00375130 7E 84 A3 78 */ mr r4, r20 /* 803794D4 00375134 48 00 2B 41 */ bl detail_AppendPlayerHeap__Q34nw4r3snd11SoundPlayerFPQ44nw4r3snd6detail10PlayerHeap /* 803794D8 00375138 3B 7B 00 01 */ addi r27, r27, 1 lbl_803794DC: /* 803794DC 0037513C 80 01 00 08 */ lwz r0, 8(r1) /* 803794E0 00375140 7C 1B 00 00 */ cmpw r27, r0 /* 803794E4 00375144 41 80 FF 68 */ blt lbl_8037944C lbl_803794E8: /* 803794E8 00375148 3B BD 00 01 */ addi r29, r29, 1 /* 803794EC 0037514C 3B DE 00 60 */ addi r30, r30, 0x60 lbl_803794F0: /* 803794F0 00375150 7C 1D F8 40 */ cmplw r29, r31 /* 803794F4 00375154 41 80 FE FC */ blt lbl_803793F0 /* 803794F8 00375158 38 60 00 01 */ li r3, 1 lbl_803794FC: /* 803794FC 0037515C 39 61 00 40 */ addi r11, r1, 0x40 /* 80379500 00375160 4B E4 DC 59 */ bl _restgpr_20 /* 80379504 00375164 80 01 00 44 */ lwz r0, 0x44(r1) /* 80379508 00375168 7C 08 03 A6 */ mtlr r0 /* 8037950C 0037516C 38 21 00 40 */ addi r1, r1, 0x40 /* 80379510 00375170 4E 80 00 20 */ blr .global Update__Q34nw4r3snd18SoundArchivePlayerFv Update__Q34nw4r3snd18SoundArchivePlayerFv: /* 80379514 00375174 94 21 ED B0 */ stwu r1, -0x1250(r1) /* 80379518 00375178 7C 08 02 A6 */ mflr r0 /* 8037951C 0037517C 90 01 12 54 */ stw r0, 0x1254(r1) /* 80379520 00375180 39 61 12 50 */ addi r11, r1, 0x1250 /* 80379524 00375184 4B E4 DC 01 */ bl _savegpr_26 /* 80379528 00375188 7C 7F 1B 78 */ mr r31, r3 /* 8037952C 0037518C 3B 40 00 00 */ li r26, 0 /* 80379530 00375190 3B 60 00 00 */ li r27, 0 /* 80379534 00375194 48 00 00 18 */ b lbl_8037954C lbl_80379538: /* 80379538 00375198 80 1F 00 34 */ lwz r0, 0x34(r31) /* 8037953C 0037519C 7C 60 DA 14 */ add r3, r0, r27 /* 80379540 003751A0 48 00 18 A1 */ bl Update__Q34nw4r3snd11SoundPlayerFv /* 80379544 003751A4 3B 7B 00 60 */ addi r27, r27, 0x60 /* 80379548 003751A8 3B 5A 00 01 */ addi r26, r26, 1 lbl_8037954C: /* 8037954C 003751AC 80 1F 00 30 */ lwz r0, 0x30(r31) /* 80379550 003751B0 7C 1A 00 40 */ cmplw r26, r0 /* 80379554 003751B4 41 80 FF E4 */ blt lbl_80379538 /* 80379558 003751B8 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@ha /* 8037955C 003751BC 3C A0 80 38 */ lis r5, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@ha /* 80379560 003751C0 38 61 0C 38 */ addi r3, r1, 0xc38 /* 80379564 003751C4 38 C0 00 0C */ li r6, 0xc /* 80379568 003751C8 38 84 8B 54 */ addi r4, r4, __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@l /* 8037956C 003751CC 38 A5 8B 74 */ addi r5, r5, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@l /* 80379570 003751D0 38 E0 00 80 */ li r7, 0x80 /* 80379574 003751D4 4B E4 D8 F5 */ bl __construct_array /* 80379578 003751D8 3B BF 00 48 */ addi r29, r31, 0x48 /* 8037957C 003751DC 7F A3 EB 78 */ mr r3, r29 /* 80379580 003751E0 4B EF 63 C9 */ bl OSLockMutex /* 80379584 003751E4 48 00 00 5C */ b lbl_803795E0 lbl_80379588: /* 80379588 003751E8 83 7F 00 40 */ lwz r27, 0x40(r31) /* 8037958C 003751EC 38 7F 00 3C */ addi r3, r31, 0x3c /* 80379590 003751F0 38 81 00 28 */ addi r4, r1, 0x28 /* 80379594 003751F4 93 61 00 28 */ stw r27, 0x28(r1) /* 80379598 003751F8 4B FE 96 25 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator /* 8037959C 003751FC 88 7B FF BC */ lbz r3, -0x44(r27) /* 803795A0 00375200 80 1B FF 88 */ lwz r0, -0x78(r27) /* 803795A4 00375204 7C 63 02 14 */ add r3, r3, r0 /* 803795A8 00375208 2C 03 00 7F */ cmpwi r3, 0x7f /* 803795AC 0037520C 40 81 00 0C */ ble lbl_803795B8 /* 803795B0 00375210 38 00 00 7F */ li r0, 0x7f /* 803795B4 00375214 48 00 00 0C */ b lbl_803795C0 lbl_803795B8: /* 803795B8 00375218 7C 60 FE 70 */ srawi r0, r3, 0x1f /* 803795BC 0037521C 7C 60 00 78 */ andc r0, r3, r0 lbl_803795C0: /* 803795C0 00375220 1C 00 00 0C */ mulli r0, r0, 0xc /* 803795C4 00375224 38 61 0C 38 */ addi r3, r1, 0xc38 /* 803795C8 00375228 7F 65 DB 78 */ mr r5, r27 /* 803795CC 0037522C 38 81 00 2C */ addi r4, r1, 0x2c /* 803795D0 00375230 7C 63 02 14 */ add r3, r3, r0 /* 803795D4 00375234 38 03 00 04 */ addi r0, r3, 4 /* 803795D8 00375238 90 01 00 2C */ stw r0, 0x2c(r1) /* 803795DC 0037523C 4B FE 96 6D */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode lbl_803795E0: /* 803795E0 00375240 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 803795E4 00375244 2C 00 00 00 */ cmpwi r0, 0 /* 803795E8 00375248 40 82 FF A0 */ bne lbl_80379588 /* 803795EC 0037524C 3B 61 0C 38 */ addi r27, r1, 0xc38 /* 803795F0 00375250 3B DF 00 40 */ addi r30, r31, 0x40 /* 803795F4 00375254 3B 80 00 00 */ li r28, 0 lbl_803795F8: /* 803795F8 00375258 80 1B 00 00 */ lwz r0, 0(r27) /* 803795FC 0037525C 2C 00 00 00 */ cmpwi r0, 0 /* 80379600 00375260 41 82 00 3C */ beq lbl_8037963C /* 80379604 00375264 48 00 00 2C */ b lbl_80379630 lbl_80379608: /* 80379608 00375268 83 5B 00 04 */ lwz r26, 4(r27) /* 8037960C 0037526C 7F 63 DB 78 */ mr r3, r27 /* 80379610 00375270 38 81 00 30 */ addi r4, r1, 0x30 /* 80379614 00375274 93 41 00 30 */ stw r26, 0x30(r1) /* 80379618 00375278 4B FE 95 A5 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator /* 8037961C 0037527C 93 C1 00 34 */ stw r30, 0x34(r1) /* 80379620 00375280 7F 45 D3 78 */ mr r5, r26 /* 80379624 00375284 38 7F 00 3C */ addi r3, r31, 0x3c /* 80379628 00375288 38 81 00 34 */ addi r4, r1, 0x34 /* 8037962C 0037528C 4B FE 96 1D */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode lbl_80379630: /* 80379630 00375290 80 1B 00 00 */ lwz r0, 0(r27) /* 80379634 00375294 2C 00 00 00 */ cmpwi r0, 0 /* 80379638 00375298 40 82 FF D0 */ bne lbl_80379608 lbl_8037963C: /* 8037963C 0037529C 3B 9C 00 01 */ addi r28, r28, 1 /* 80379640 003752A0 3B 7B 00 0C */ addi r27, r27, 0xc /* 80379644 003752A4 2C 1C 00 80 */ cmpwi r28, 0x80 /* 80379648 003752A8 41 80 FF B0 */ blt lbl_803795F8 /* 8037964C 003752AC 7F A3 EB 78 */ mr r3, r29 /* 80379650 003752B0 4B EF 63 D5 */ bl OSUnlockMutex /* 80379654 003752B4 3C 80 80 38 */ lis r4, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@ha /* 80379658 003752B8 38 61 0C 38 */ addi r3, r1, 0xc38 /* 8037965C 003752BC 38 84 8B 74 */ addi r4, r4, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@l /* 80379660 003752C0 38 A0 00 0C */ li r5, 0xc /* 80379664 003752C4 38 C0 00 80 */ li r6, 0x80 /* 80379668 003752C8 4B E4 D8 F9 */ bl __destroy_arr /* 8037966C 003752CC 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@ha /* 80379670 003752D0 3C A0 80 38 */ lis r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@ha /* 80379674 003752D4 38 61 06 38 */ addi r3, r1, 0x638 /* 80379678 003752D8 38 C0 00 0C */ li r6, 0xc /* 8037967C 003752DC 38 84 8B CC */ addi r4, r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@l /* 80379680 003752E0 38 A5 8B EC */ addi r5, r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@l /* 80379684 003752E4 38 E0 00 80 */ li r7, 0x80 /* 80379688 003752E8 4B E4 D7 E1 */ bl __construct_array /* 8037968C 003752EC 3B BF 00 70 */ addi r29, r31, 0x70 /* 80379690 003752F0 7F A3 EB 78 */ mr r3, r29 /* 80379694 003752F4 4B EF 62 B5 */ bl OSLockMutex /* 80379698 003752F8 48 00 00 5C */ b lbl_803796F4 lbl_8037969C: /* 8037969C 003752FC 83 5F 00 68 */ lwz r26, 0x68(r31) /* 803796A0 00375300 38 7F 00 64 */ addi r3, r31, 0x64 /* 803796A4 00375304 38 81 00 18 */ addi r4, r1, 0x18 /* 803796A8 00375308 93 41 00 18 */ stw r26, 0x18(r1) /* 803796AC 0037530C 4B FE 95 11 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator /* 803796B0 00375310 88 7A FF BC */ lbz r3, -0x44(r26) /* 803796B4 00375314 80 1A FF 88 */ lwz r0, -0x78(r26) /* 803796B8 00375318 7C 63 02 14 */ add r3, r3, r0 /* 803796BC 0037531C 2C 03 00 7F */ cmpwi r3, 0x7f /* 803796C0 00375320 40 81 00 0C */ ble lbl_803796CC /* 803796C4 00375324 38 00 00 7F */ li r0, 0x7f /* 803796C8 00375328 48 00 00 0C */ b lbl_803796D4 lbl_803796CC: /* 803796CC 0037532C 7C 60 FE 70 */ srawi r0, r3, 0x1f /* 803796D0 00375330 7C 60 00 78 */ andc r0, r3, r0 lbl_803796D4: /* 803796D4 00375334 1C 00 00 0C */ mulli r0, r0, 0xc /* 803796D8 00375338 38 61 06 38 */ addi r3, r1, 0x638 /* 803796DC 0037533C 7F 45 D3 78 */ mr r5, r26 /* 803796E0 00375340 38 81 00 1C */ addi r4, r1, 0x1c /* 803796E4 00375344 7C 63 02 14 */ add r3, r3, r0 /* 803796E8 00375348 38 03 00 04 */ addi r0, r3, 4 /* 803796EC 0037534C 90 01 00 1C */ stw r0, 0x1c(r1) /* 803796F0 00375350 4B FE 95 59 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode lbl_803796F4: /* 803796F4 00375354 80 1F 00 64 */ lwz r0, 0x64(r31) /* 803796F8 00375358 2C 00 00 00 */ cmpwi r0, 0 /* 803796FC 0037535C 40 82 FF A0 */ bne lbl_8037969C /* 80379700 00375360 3B 61 06 38 */ addi r27, r1, 0x638 /* 80379704 00375364 3B DF 00 68 */ addi r30, r31, 0x68 /* 80379708 00375368 3B 80 00 00 */ li r28, 0 lbl_8037970C: /* 8037970C 0037536C 80 1B 00 00 */ lwz r0, 0(r27) /* 80379710 00375370 2C 00 00 00 */ cmpwi r0, 0 /* 80379714 00375374 41 82 00 3C */ beq lbl_80379750 /* 80379718 00375378 48 00 00 2C */ b lbl_80379744 lbl_8037971C: /* 8037971C 0037537C 83 5B 00 04 */ lwz r26, 4(r27) /* 80379720 00375380 7F 63 DB 78 */ mr r3, r27 /* 80379724 00375384 38 81 00 20 */ addi r4, r1, 0x20 /* 80379728 00375388 93 41 00 20 */ stw r26, 0x20(r1) /* 8037972C 0037538C 4B FE 94 91 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator /* 80379730 00375390 93 C1 00 24 */ stw r30, 0x24(r1) /* 80379734 00375394 7F 45 D3 78 */ mr r5, r26 /* 80379738 00375398 38 7F 00 64 */ addi r3, r31, 0x64 /* 8037973C 0037539C 38 81 00 24 */ addi r4, r1, 0x24 /* 80379740 003753A0 4B FE 95 09 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode lbl_80379744: /* 80379744 003753A4 80 1B 00 00 */ lwz r0, 0(r27) /* 80379748 003753A8 2C 00 00 00 */ cmpwi r0, 0 /* 8037974C 003753AC 40 82 FF D0 */ bne lbl_8037971C lbl_80379750: /* 80379750 003753B0 3B 9C 00 01 */ addi r28, r28, 1 /* 80379754 003753B4 3B 7B 00 0C */ addi r27, r27, 0xc /* 80379758 003753B8 2C 1C 00 80 */ cmpwi r28, 0x80 /* 8037975C 003753BC 41 80 FF B0 */ blt lbl_8037970C /* 80379760 003753C0 7F A3 EB 78 */ mr r3, r29 /* 80379764 003753C4 4B EF 62 C1 */ bl OSUnlockMutex /* 80379768 003753C8 3C 80 80 38 */ lis r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@ha /* 8037976C 003753CC 38 61 06 38 */ addi r3, r1, 0x638 /* 80379770 003753D0 38 84 8B EC */ addi r4, r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@l /* 80379774 003753D4 38 A0 00 0C */ li r5, 0xc /* 80379778 003753D8 38 C0 00 80 */ li r6, 0x80 /* 8037977C 003753DC 4B E4 D7 E5 */ bl __destroy_arr /* 80379780 003753E0 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@ha /* 80379784 003753E4 3C A0 80 38 */ lis r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@ha /* 80379788 003753E8 38 61 00 38 */ addi r3, r1, 0x38 /* 8037978C 003753EC 38 C0 00 0C */ li r6, 0xc /* 80379790 003753F0 38 84 8C 44 */ addi r4, r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@l /* 80379794 003753F4 38 A5 8C 64 */ addi r5, r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@l /* 80379798 003753F8 38 E0 00 80 */ li r7, 0x80 /* 8037979C 003753FC 4B E4 D6 CD */ bl __construct_array /* 803797A0 00375400 3B BF 00 98 */ addi r29, r31, 0x98 /* 803797A4 00375404 7F A3 EB 78 */ mr r3, r29 /* 803797A8 00375408 4B EF 61 A1 */ bl OSLockMutex /* 803797AC 0037540C 48 00 00 5C */ b lbl_80379808 lbl_803797B0: /* 803797B0 00375410 83 5F 00 90 */ lwz r26, 0x90(r31) /* 803797B4 00375414 38 7F 00 8C */ addi r3, r31, 0x8c /* 803797B8 00375418 38 81 00 08 */ addi r4, r1, 8 /* 803797BC 0037541C 93 41 00 08 */ stw r26, 8(r1) /* 803797C0 00375420 4B FE 93 FD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator /* 803797C4 00375424 88 7A FF BC */ lbz r3, -0x44(r26) /* 803797C8 00375428 80 1A FF 88 */ lwz r0, -0x78(r26) /* 803797CC 0037542C 7C 63 02 14 */ add r3, r3, r0 /* 803797D0 00375430 2C 03 00 7F */ cmpwi r3, 0x7f /* 803797D4 00375434 40 81 00 0C */ ble lbl_803797E0 /* 803797D8 00375438 38 00 00 7F */ li r0, 0x7f /* 803797DC 0037543C 48 00 00 0C */ b lbl_803797E8 lbl_803797E0: /* 803797E0 00375440 7C 60 FE 70 */ srawi r0, r3, 0x1f /* 803797E4 00375444 7C 60 00 78 */ andc r0, r3, r0 lbl_803797E8: /* 803797E8 00375448 1C 00 00 0C */ mulli r0, r0, 0xc /* 803797EC 0037544C 38 61 00 38 */ addi r3, r1, 0x38 /* 803797F0 00375450 7F 45 D3 78 */ mr r5, r26 /* 803797F4 00375454 38 81 00 0C */ addi r4, r1, 0xc /* 803797F8 00375458 7C 63 02 14 */ add r3, r3, r0 /* 803797FC 0037545C 38 03 00 04 */ addi r0, r3, 4 /* 80379800 00375460 90 01 00 0C */ stw r0, 0xc(r1) /* 80379804 00375464 4B FE 94 45 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode lbl_80379808: /* 80379808 00375468 80 1F 00 8C */ lwz r0, 0x8c(r31) /* 8037980C 0037546C 2C 00 00 00 */ cmpwi r0, 0 /* 80379810 00375470 40 82 FF A0 */ bne lbl_803797B0 /* 80379814 00375474 3B 61 00 38 */ addi r27, r1, 0x38 /* 80379818 00375478 3B DF 00 90 */ addi r30, r31, 0x90 /* 8037981C 0037547C 3B 80 00 00 */ li r28, 0 lbl_80379820: /* 80379820 00375480 80 1B 00 00 */ lwz r0, 0(r27) /* 80379824 00375484 2C 00 00 00 */ cmpwi r0, 0 /* 80379828 00375488 41 82 00 3C */ beq lbl_80379864 /* 8037982C 0037548C 48 00 00 2C */ b lbl_80379858 lbl_80379830: /* 80379830 00375490 83 5B 00 04 */ lwz r26, 4(r27) /* 80379834 00375494 7F 63 DB 78 */ mr r3, r27 /* 80379838 00375498 38 81 00 10 */ addi r4, r1, 0x10 /* 8037983C 0037549C 93 41 00 10 */ stw r26, 0x10(r1) /* 80379840 003754A0 4B FE 93 7D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator /* 80379844 003754A4 93 C1 00 14 */ stw r30, 0x14(r1) /* 80379848 003754A8 7F 45 D3 78 */ mr r5, r26 /* 8037984C 003754AC 38 7F 00 8C */ addi r3, r31, 0x8c /* 80379850 003754B0 38 81 00 14 */ addi r4, r1, 0x14 /* 80379854 003754B4 4B FE 93 F5 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode lbl_80379858: /* 80379858 003754B8 80 1B 00 00 */ lwz r0, 0(r27) /* 8037985C 003754BC 2C 00 00 00 */ cmpwi r0, 0 /* 80379860 003754C0 40 82 FF D0 */ bne lbl_80379830 lbl_80379864: /* 80379864 003754C4 3B 9C 00 01 */ addi r28, r28, 1 /* 80379868 003754C8 3B 7B 00 0C */ addi r27, r27, 0xc /* 8037986C 003754CC 2C 1C 00 80 */ cmpwi r28, 0x80 /* 80379870 003754D0 41 80 FF B0 */ blt lbl_80379820 /* 80379874 003754D4 7F A3 EB 78 */ mr r3, r29 /* 80379878 003754D8 4B EF 61 AD */ bl OSUnlockMutex /* 8037987C 003754DC 3C 80 80 38 */ lis r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@ha /* 80379880 003754E0 38 61 00 38 */ addi r3, r1, 0x38 /* 80379884 003754E4 38 84 8C 64 */ addi r4, r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@l /* 80379888 003754E8 38 A0 00 0C */ li r5, 0xc /* 8037988C 003754EC 38 C0 00 80 */ li r6, 0x80 /* 80379890 003754F0 4B E4 D6 D1 */ bl __destroy_arr /* 80379894 003754F4 39 61 12 50 */ addi r11, r1, 0x1250 /* 80379898 003754F8 4B E4 D8 D9 */ bl _restgpr_26 /* 8037989C 003754FC 80 01 12 54 */ lwz r0, 0x1254(r1) /* 803798A0 00375500 7C 08 03 A6 */ mtlr r0 /* 803798A4 00375504 38 21 12 50 */ addi r1, r1, 0x1250 /* 803798A8 00375508 4E 80 00 20 */ blr .global GetSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFUl GetSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFUl: /* 803798AC 0037550C 1C 04 00 60 */ mulli r0, r4, 0x60 /* 803798B0 00375510 80 63 00 34 */ lwz r3, 0x34(r3) /* 803798B4 00375514 7C 63 02 14 */ add r3, r3, r0 /* 803798B8 00375518 4E 80 00 20 */ blr .global detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl: /* 803798BC 0037551C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 803798C0 00375520 7C 08 02 A6 */ mflr r0 /* 803798C4 00375524 90 01 00 54 */ stw r0, 0x54(r1) /* 803798C8 00375528 93 E1 00 4C */ stw r31, 0x4c(r1) /* 803798CC 0037552C 93 C1 00 48 */ stw r30, 0x48(r1) /* 803798D0 00375530 93 A1 00 44 */ stw r29, 0x44(r1) /* 803798D4 00375534 7C 9D 23 78 */ mr r29, r4 /* 803798D8 00375538 93 81 00 40 */ stw r28, 0x40(r1) /* 803798DC 0037553C 7C 7C 1B 78 */ mr r28, r3 /* 803798E0 00375540 80 63 00 10 */ lwz r3, 0x10(r3) /* 803798E4 00375544 81 83 00 00 */ lwz r12, 0(r3) /* 803798E8 00375548 81 8C 00 0C */ lwz r12, 0xc(r12) /* 803798EC 0037554C 7D 89 03 A6 */ mtctr r12 /* 803798F0 00375550 4E 80 04 21 */ bctrl /* 803798F4 00375554 2C 03 00 00 */ cmpwi r3, 0 /* 803798F8 00375558 41 82 00 08 */ beq lbl_80379900 /* 803798FC 0037555C 48 00 00 EC */ b lbl_803799E8 lbl_80379900: /* 80379900 00375560 80 7C 00 18 */ lwz r3, 0x18(r28) /* 80379904 00375564 2C 03 00 00 */ cmpwi r3, 0 /* 80379908 00375568 41 82 00 24 */ beq lbl_8037992C /* 8037990C 0037556C 81 83 00 00 */ lwz r12, 0(r3) /* 80379910 00375570 7F A4 EB 78 */ mr r4, r29 /* 80379914 00375574 81 8C 00 08 */ lwz r12, 8(r12) /* 80379918 00375578 7D 89 03 A6 */ mtctr r12 /* 8037991C 0037557C 4E 80 04 21 */ bctrl /* 80379920 00375580 2C 03 00 00 */ cmpwi r3, 0 /* 80379924 00375584 41 82 00 08 */ beq lbl_8037992C /* 80379928 00375588 48 00 00 C0 */ b lbl_803799E8 lbl_8037992C: /* 8037992C 0037558C 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80379930 00375590 7F A4 EB 78 */ mr r4, r29 /* 80379934 00375594 38 A1 00 10 */ addi r5, r1, 0x10 /* 80379938 00375598 4B FF D7 65 */ bl func_8037709C /* 8037993C 0037559C 2C 03 00 00 */ cmpwi r3, 0 /* 80379940 003755A0 40 82 00 0C */ bne lbl_8037994C /* 80379944 003755A4 38 60 00 00 */ li r3, 0 /* 80379948 003755A8 48 00 00 A0 */ b lbl_803799E8 lbl_8037994C: /* 8037994C 003755AC 3B C0 00 00 */ li r30, 0 /* 80379950 003755B0 48 00 00 88 */ b lbl_803799D8 lbl_80379954: /* 80379954 003755B4 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80379958 003755B8 7F A4 EB 78 */ mr r4, r29 /* 8037995C 003755BC 7F C5 F3 78 */ mr r5, r30 /* 80379960 003755C0 38 C1 00 08 */ addi r6, r1, 8 /* 80379964 003755C4 4B FF D7 41 */ bl func_803770A4 /* 80379968 003755C8 2C 03 00 00 */ cmpwi r3, 0 /* 8037996C 003755CC 41 82 00 68 */ beq lbl_803799D4 /* 80379970 003755D0 80 7C 00 14 */ lwz r3, 0x14(r28) /* 80379974 003755D4 80 81 00 08 */ lwz r4, 8(r1) /* 80379978 003755D8 2C 03 00 00 */ cmpwi r3, 0 /* 8037997C 003755DC 40 82 00 0C */ bne lbl_80379988 /* 80379980 003755E0 3B E0 00 00 */ li r31, 0 /* 80379984 003755E4 48 00 00 24 */ b lbl_803799A8 lbl_80379988: /* 80379988 003755E8 80 03 00 00 */ lwz r0, 0(r3) /* 8037998C 003755EC 7C 04 00 40 */ cmplw r4, r0 /* 80379990 003755F0 41 80 00 0C */ blt lbl_8037999C /* 80379994 003755F4 3B E0 00 00 */ li r31, 0 /* 80379998 003755F8 48 00 00 10 */ b lbl_803799A8 lbl_8037999C: /* 8037999C 003755FC 54 80 18 38 */ slwi r0, r4, 3 /* 803799A0 00375600 7C 63 02 14 */ add r3, r3, r0 /* 803799A4 00375604 83 E3 00 04 */ lwz r31, 4(r3) lbl_803799A8: /* 803799A8 00375608 2C 1F 00 00 */ cmpwi r31, 0 /* 803799AC 0037560C 41 82 00 28 */ beq lbl_803799D4 /* 803799B0 00375610 80 7C 00 10 */ lwz r3, 0x10(r28) /* 803799B4 00375614 38 C1 00 20 */ addi r6, r1, 0x20 /* 803799B8 00375618 80 A1 00 0C */ lwz r5, 0xc(r1) /* 803799BC 0037561C 4B FF D6 D9 */ bl func_80377094 /* 803799C0 00375620 2C 03 00 00 */ cmpwi r3, 0 /* 803799C4 00375624 41 82 00 10 */ beq lbl_803799D4 /* 803799C8 00375628 80 01 00 24 */ lwz r0, 0x24(r1) /* 803799CC 0037562C 7C 7F 02 14 */ add r3, r31, r0 /* 803799D0 00375630 48 00 00 18 */ b lbl_803799E8 lbl_803799D4: /* 803799D4 00375634 3B DE 00 01 */ addi r30, r30, 1 lbl_803799D8: /* 803799D8 00375638 80 01 00 1C */ lwz r0, 0x1c(r1) /* 803799DC 0037563C 7C 1E 00 40 */ cmplw r30, r0 /* 803799E0 00375640 41 80 FF 74 */ blt lbl_80379954 /* 803799E4 00375644 38 60 00 00 */ li r3, 0 lbl_803799E8: /* 803799E8 00375648 80 01 00 54 */ lwz r0, 0x54(r1) /* 803799EC 0037564C 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 803799F0 00375650 83 C1 00 48 */ lwz r30, 0x48(r1) /* 803799F4 00375654 83 A1 00 44 */ lwz r29, 0x44(r1) /* 803799F8 00375658 83 81 00 40 */ lwz r28, 0x40(r1) /* 803799FC 0037565C 7C 08 03 A6 */ mtlr r0 /* 80379A00 00375660 38 21 00 50 */ addi r1, r1, 0x50 /* 80379A04 00375664 4E 80 00 20 */ blr .global detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl: /* 80379A08 00375668 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80379A0C 0037566C 7C 08 02 A6 */ mflr r0 /* 80379A10 00375670 90 01 00 54 */ stw r0, 0x54(r1) /* 80379A14 00375674 93 E1 00 4C */ stw r31, 0x4c(r1) /* 80379A18 00375678 93 C1 00 48 */ stw r30, 0x48(r1) /* 80379A1C 0037567C 93 A1 00 44 */ stw r29, 0x44(r1) /* 80379A20 00375680 7C 9D 23 78 */ mr r29, r4 /* 80379A24 00375684 93 81 00 40 */ stw r28, 0x40(r1) /* 80379A28 00375688 7C 7C 1B 78 */ mr r28, r3 /* 80379A2C 0037568C 80 63 00 10 */ lwz r3, 0x10(r3) /* 80379A30 00375690 81 83 00 00 */ lwz r12, 0(r3) /* 80379A34 00375694 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80379A38 00375698 7D 89 03 A6 */ mtctr r12 /* 80379A3C 0037569C 4E 80 04 21 */ bctrl /* 80379A40 003756A0 2C 03 00 00 */ cmpwi r3, 0 /* 80379A44 003756A4 41 82 00 08 */ beq lbl_80379A4C /* 80379A48 003756A8 48 00 00 EC */ b lbl_80379B34 lbl_80379A4C: /* 80379A4C 003756AC 80 7C 00 18 */ lwz r3, 0x18(r28) /* 80379A50 003756B0 2C 03 00 00 */ cmpwi r3, 0 /* 80379A54 003756B4 41 82 00 24 */ beq lbl_80379A78 /* 80379A58 003756B8 81 83 00 00 */ lwz r12, 0(r3) /* 80379A5C 003756BC 7F A4 EB 78 */ mr r4, r29 /* 80379A60 003756C0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80379A64 003756C4 7D 89 03 A6 */ mtctr r12 /* 80379A68 003756C8 4E 80 04 21 */ bctrl /* 80379A6C 003756CC 2C 03 00 00 */ cmpwi r3, 0 /* 80379A70 003756D0 41 82 00 08 */ beq lbl_80379A78 /* 80379A74 003756D4 48 00 00 C0 */ b lbl_80379B34 lbl_80379A78: /* 80379A78 003756D8 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80379A7C 003756DC 7F A4 EB 78 */ mr r4, r29 /* 80379A80 003756E0 38 A1 00 10 */ addi r5, r1, 0x10 /* 80379A84 003756E4 4B FF D6 19 */ bl func_8037709C /* 80379A88 003756E8 2C 03 00 00 */ cmpwi r3, 0 /* 80379A8C 003756EC 40 82 00 0C */ bne lbl_80379A98 /* 80379A90 003756F0 38 60 00 00 */ li r3, 0 /* 80379A94 003756F4 48 00 00 A0 */ b lbl_80379B34 lbl_80379A98: /* 80379A98 003756F8 3B C0 00 00 */ li r30, 0 /* 80379A9C 003756FC 48 00 00 88 */ b lbl_80379B24 lbl_80379AA0: /* 80379AA0 00375700 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80379AA4 00375704 7F A4 EB 78 */ mr r4, r29 /* 80379AA8 00375708 7F C5 F3 78 */ mr r5, r30 /* 80379AAC 0037570C 38 C1 00 08 */ addi r6, r1, 8 /* 80379AB0 00375710 4B FF D5 F5 */ bl func_803770A4 /* 80379AB4 00375714 2C 03 00 00 */ cmpwi r3, 0 /* 80379AB8 00375718 41 82 00 68 */ beq lbl_80379B20 /* 80379ABC 0037571C 80 7C 00 14 */ lwz r3, 0x14(r28) /* 80379AC0 00375720 80 81 00 08 */ lwz r4, 8(r1) /* 80379AC4 00375724 2C 03 00 00 */ cmpwi r3, 0 /* 80379AC8 00375728 40 82 00 0C */ bne lbl_80379AD4 /* 80379ACC 0037572C 3B E0 00 00 */ li r31, 0 /* 80379AD0 00375730 48 00 00 24 */ b lbl_80379AF4 lbl_80379AD4: /* 80379AD4 00375734 80 03 00 00 */ lwz r0, 0(r3) /* 80379AD8 00375738 7C 04 00 40 */ cmplw r4, r0 /* 80379ADC 0037573C 41 80 00 0C */ blt lbl_80379AE8 /* 80379AE0 00375740 3B E0 00 00 */ li r31, 0 /* 80379AE4 00375744 48 00 00 10 */ b lbl_80379AF4 lbl_80379AE8: /* 80379AE8 00375748 54 80 18 38 */ slwi r0, r4, 3 /* 80379AEC 0037574C 7C 63 02 14 */ add r3, r3, r0 /* 80379AF0 00375750 83 E3 00 08 */ lwz r31, 8(r3) lbl_80379AF4: /* 80379AF4 00375754 2C 1F 00 00 */ cmpwi r31, 0 /* 80379AF8 00375758 41 82 00 28 */ beq lbl_80379B20 /* 80379AFC 0037575C 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80379B00 00375760 38 C1 00 20 */ addi r6, r1, 0x20 /* 80379B04 00375764 80 A1 00 0C */ lwz r5, 0xc(r1) /* 80379B08 00375768 4B FF D5 8D */ bl func_80377094 /* 80379B0C 0037576C 2C 03 00 00 */ cmpwi r3, 0 /* 80379B10 00375770 41 82 00 10 */ beq lbl_80379B20 /* 80379B14 00375774 80 01 00 2C */ lwz r0, 0x2c(r1) /* 80379B18 00375778 7C 7F 02 14 */ add r3, r31, r0 /* 80379B1C 0037577C 48 00 00 18 */ b lbl_80379B34 lbl_80379B20: /* 80379B20 00375780 3B DE 00 01 */ addi r30, r30, 1 lbl_80379B24: /* 80379B24 00375784 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80379B28 00375788 7C 1E 00 40 */ cmplw r30, r0 /* 80379B2C 0037578C 41 80 FF 74 */ blt lbl_80379AA0 /* 80379B30 00375790 38 60 00 00 */ li r3, 0 lbl_80379B34: /* 80379B34 00375794 80 01 00 54 */ lwz r0, 0x54(r1) /* 80379B38 00375798 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 80379B3C 0037579C 83 C1 00 48 */ lwz r30, 0x48(r1) /* 80379B40 003757A0 83 A1 00 44 */ lwz r29, 0x44(r1) /* 80379B44 003757A4 83 81 00 40 */ lwz r28, 0x40(r1) /* 80379B48 003757A8 7C 08 03 A6 */ mtlr r0 /* 80379B4C 003757AC 38 21 00 50 */ addi r1, r1, 0x50 /* 80379B50 003757B0 4E 80 00 20 */ blr .global detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo: /* 80379B54 003757B4 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80379B58 003757B8 7C 08 02 A6 */ mflr r0 /* 80379B5C 003757BC 90 01 00 74 */ stw r0, 0x74(r1) /* 80379B60 003757C0 39 61 00 70 */ addi r11, r1, 0x70 /* 80379B64 003757C4 4B E4 D5 B1 */ bl _savegpr_22 /* 80379B68 003757C8 80 03 00 10 */ lwz r0, 0x10(r3) /* 80379B6C 003757CC 7C 7B 1B 78 */ mr r27, r3 /* 80379B70 003757D0 7C 9C 23 78 */ mr r28, r4 /* 80379B74 003757D4 7C BD 2B 78 */ mr r29, r5 /* 80379B78 003757D8 2C 00 00 00 */ cmpwi r0, 0 /* 80379B7C 003757DC 7C DE 33 78 */ mr r30, r6 /* 80379B80 003757E0 7C FF 3B 78 */ mr r31, r7 /* 80379B84 003757E4 7D 1A 43 78 */ mr r26, r8 /* 80379B88 003757E8 7D 39 4B 78 */ mr r25, r9 /* 80379B8C 003757EC 40 82 00 0C */ bne lbl_80379B98 /* 80379B90 003757F0 38 60 00 00 */ li r3, 0 /* 80379B94 003757F4 48 00 00 0C */ b lbl_80379BA0 lbl_80379B98: /* 80379B98 003757F8 7C 03 03 78 */ mr r3, r0 /* 80379B9C 003757FC 4B FF D4 55 */ bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv lbl_80379BA0: /* 80379BA0 00375800 2C 03 00 00 */ cmpwi r3, 0 /* 80379BA4 00375804 40 82 00 0C */ bne lbl_80379BB0 /* 80379BA8 00375808 38 60 00 07 */ li r3, 7 /* 80379BAC 0037580C 48 00 02 D8 */ b lbl_80379E84 lbl_80379BB0: /* 80379BB0 00375810 80 1C 00 00 */ lwz r0, 0(r28) /* 80379BB4 00375814 2C 00 00 00 */ cmpwi r0, 0 /* 80379BB8 00375818 41 82 00 0C */ beq lbl_80379BC4 /* 80379BBC 0037581C 7F 83 E3 78 */ mr r3, r28 /* 80379BC0 00375820 48 00 0E 2D */ bl DetachSound__Q34nw4r3snd11SoundHandleFv lbl_80379BC4: /* 80379BC4 00375824 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80379BC8 00375828 7F A4 EB 78 */ mr r4, r29 /* 80379BCC 0037582C 38 A1 00 2C */ addi r5, r1, 0x2c /* 80379BD0 00375830 4B FF D4 85 */ bl func_80377054 /* 80379BD4 00375834 2C 03 00 00 */ cmpwi r3, 0 /* 80379BD8 00375838 40 82 00 0C */ bne lbl_80379BE4 /* 80379BDC 0037583C 38 60 00 03 */ li r3, 3 /* 80379BE0 00375840 48 00 02 A4 */ b lbl_80379E84 lbl_80379BE4: /* 80379BE4 00375844 2C 19 00 00 */ cmpwi r25, 0 /* 80379BE8 00375848 80 81 00 30 */ lwz r4, 0x30(r1) /* 80379BEC 0037584C 83 01 00 34 */ lwz r24, 0x34(r1) /* 80379BF0 00375850 3A E0 00 00 */ li r23, 0 /* 80379BF4 00375854 3A C0 00 00 */ li r22, 0 /* 80379BF8 00375858 41 82 00 30 */ beq lbl_80379C28 /* 80379BFC 0037585C 80 79 00 00 */ lwz r3, 0(r25) /* 80379C00 00375860 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80379C04 00375864 41 82 00 0C */ beq lbl_80379C10 /* 80379C08 00375868 82 F9 00 04 */ lwz r23, 4(r25) /* 80379C0C 0037586C 82 D9 00 08 */ lwz r22, 8(r25) lbl_80379C10: /* 80379C10 00375870 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80379C14 00375874 41 82 00 08 */ beq lbl_80379C1C /* 80379C18 00375878 80 99 00 0C */ lwz r4, 0xc(r25) lbl_80379C1C: /* 80379C1C 0037587C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 80379C20 00375880 41 82 00 08 */ beq lbl_80379C28 /* 80379C24 00375884 83 19 00 10 */ lwz r24, 0x10(r25) lbl_80379C28: /* 80379C28 00375888 2C 1A 00 00 */ cmpwi r26, 0 /* 80379C2C 0037588C 7F 1A C3 78 */ mr r26, r24 /* 80379C30 00375890 41 82 00 08 */ beq lbl_80379C38 /* 80379C34 00375894 3B 58 FF FF */ addi r26, r24, -1 lbl_80379C38: /* 80379C38 00375898 1C 04 00 60 */ mulli r0, r4, 0x60 /* 80379C3C 0037589C 80 BB 00 34 */ lwz r5, 0x34(r27) /* 80379C40 003758A0 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80379C44 003758A4 7F A4 EB 78 */ mr r4, r29 /* 80379C48 003758A8 7F 25 02 14 */ add r25, r5, r0 /* 80379C4C 003758AC 4B FF D4 01 */ bl func_8037704C /* 80379C50 003758B0 2C 03 00 02 */ cmpwi r3, 2 /* 80379C54 003758B4 41 82 00 C8 */ beq lbl_80379D1C /* 80379C58 003758B8 40 80 00 10 */ bge lbl_80379C68 /* 80379C5C 003758BC 2C 03 00 01 */ cmpwi r3, 1 /* 80379C60 003758C0 40 80 00 14 */ bge lbl_80379C74 /* 80379C64 003758C4 48 00 02 08 */ b lbl_80379E6C lbl_80379C68: /* 80379C68 003758C8 2C 03 00 04 */ cmpwi r3, 4 /* 80379C6C 003758CC 40 80 02 00 */ bge lbl_80379E6C /* 80379C70 003758D0 48 00 01 54 */ b lbl_80379DC4 lbl_80379C74: /* 80379C74 003758D4 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80379C78 003758D8 7F A4 EB 78 */ mr r4, r29 /* 80379C7C 003758DC 38 A1 00 18 */ addi r5, r1, 0x18 /* 80379C80 003758E0 4B FF D3 DD */ bl func_8037705C /* 80379C84 003758E4 2C 03 00 00 */ cmpwi r3, 0 /* 80379C88 003758E8 40 82 00 0C */ bne lbl_80379C94 /* 80379C8C 003758EC 38 60 00 03 */ li r3, 3 /* 80379C90 003758F0 48 00 01 F4 */ b lbl_80379E84 lbl_80379C94: /* 80379C94 003758F4 7F 23 CB 78 */ mr r3, r25 /* 80379C98 003758F8 7F 04 C3 78 */ mr r4, r24 /* 80379C9C 003758FC 7F 45 D3 78 */ mr r5, r26 /* 80379CA0 00375900 7F C6 F3 78 */ mr r6, r30 /* 80379CA4 00375904 7F E7 FB 78 */ mr r7, r31 /* 80379CA8 00375908 7F A8 EB 78 */ mr r8, r29 /* 80379CAC 0037590C 39 3B 00 38 */ addi r9, r27, 0x38 /* 80379CB0 00375910 48 00 15 D5 */ bl detail_AllocSeqSound__Q34nw4r3snd11SoundPlayerFiiPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerUlPQ44nw4r3snd6detail49SoundInstanceManager$0Q44nw4r3snd6detail8SeqSound$1 /* 80379CB4 00375914 2C 03 00 00 */ cmpwi r3, 0 /* 80379CB8 00375918 7C 78 1B 78 */ mr r24, r3 /* 80379CBC 0037591C 40 82 00 0C */ bne lbl_80379CC8 /* 80379CC0 00375920 38 60 00 01 */ li r3, 1 /* 80379CC4 00375924 48 00 01 C0 */ b lbl_80379E84 lbl_80379CC8: /* 80379CC8 00375928 7F A4 EB 78 */ mr r4, r29 /* 80379CCC 0037592C 4B FF 44 39 */ bl SetId__Q44nw4r3snd6detail10BasicSoundFUl /* 80379CD0 00375930 7F 63 DB 78 */ mr r3, r27 /* 80379CD4 00375934 7F 04 C3 78 */ mr r4, r24 /* 80379CD8 00375938 7E E7 BB 78 */ mr r7, r23 /* 80379CDC 0037593C 7E C8 B3 78 */ mr r8, r22 /* 80379CE0 00375940 38 A1 00 2C */ addi r5, r1, 0x2c /* 80379CE4 00375944 38 C1 00 18 */ addi r6, r1, 0x18 /* 80379CE8 00375948 39 20 00 01 */ li r9, 1 /* 80379CEC 0037594C 48 00 01 B1 */ bl PrepareSeqImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail8SeqSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive12SeqSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii /* 80379CF0 00375950 2C 03 00 00 */ cmpwi r3, 0 /* 80379CF4 00375954 7C 76 1B 78 */ mr r22, r3 /* 80379CF8 00375958 41 82 01 7C */ beq lbl_80379E74 /* 80379CFC 0037595C 81 98 00 00 */ lwz r12, 0(r24) /* 80379D00 00375960 7F 03 C3 78 */ mr r3, r24 /* 80379D04 00375964 81 8C 00 28 */ lwz r12, 0x28(r12) /* 80379D08 00375968 7D 89 03 A6 */ mtctr r12 /* 80379D0C 0037596C 4E 80 04 21 */ bctrl /* 80379D10 00375970 7E C3 B3 78 */ mr r3, r22 /* 80379D14 00375974 48 00 01 70 */ b lbl_80379E84 /* 80379D18 00375978 48 00 01 5C */ b lbl_80379E74 lbl_80379D1C: /* 80379D1C 0037597C 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80379D20 00375980 7F A4 EB 78 */ mr r4, r29 /* 80379D24 00375984 38 A1 00 08 */ addi r5, r1, 8 /* 80379D28 00375988 4B FF D3 3D */ bl func_80377064 /* 80379D2C 0037598C 2C 03 00 00 */ cmpwi r3, 0 /* 80379D30 00375990 40 82 00 0C */ bne lbl_80379D3C /* 80379D34 00375994 38 60 00 03 */ li r3, 3 /* 80379D38 00375998 48 00 01 4C */ b lbl_80379E84 lbl_80379D3C: /* 80379D3C 0037599C 7F 23 CB 78 */ mr r3, r25 /* 80379D40 003759A0 7F 04 C3 78 */ mr r4, r24 /* 80379D44 003759A4 7F 45 D3 78 */ mr r5, r26 /* 80379D48 003759A8 7F C6 F3 78 */ mr r6, r30 /* 80379D4C 003759AC 7F E7 FB 78 */ mr r7, r31 /* 80379D50 003759B0 7F A8 EB 78 */ mr r8, r29 /* 80379D54 003759B4 39 3B 00 60 */ addi r9, r27, 0x60 /* 80379D58 003759B8 48 00 18 F1 */ bl detail_AllocStrmSound__Q34nw4r3snd11SoundPlayerFiiPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerUlPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9StrmSound$1 /* 80379D5C 003759BC 2C 03 00 00 */ cmpwi r3, 0 /* 80379D60 003759C0 7C 78 1B 78 */ mr r24, r3 /* 80379D64 003759C4 40 82 00 0C */ bne lbl_80379D70 /* 80379D68 003759C8 38 60 00 01 */ li r3, 1 /* 80379D6C 003759CC 48 00 01 18 */ b lbl_80379E84 lbl_80379D70: /* 80379D70 003759D0 7F A4 EB 78 */ mr r4, r29 /* 80379D74 003759D4 4B FF 43 91 */ bl SetId__Q44nw4r3snd6detail10BasicSoundFUl /* 80379D78 003759D8 7F 63 DB 78 */ mr r3, r27 /* 80379D7C 003759DC 7F 04 C3 78 */ mr r4, r24 /* 80379D80 003759E0 7E E7 BB 78 */ mr r7, r23 /* 80379D84 003759E4 7E C8 B3 78 */ mr r8, r22 /* 80379D88 003759E8 38 A1 00 2C */ addi r5, r1, 0x2c /* 80379D8C 003759EC 38 C1 00 08 */ addi r6, r1, 8 /* 80379D90 003759F0 39 20 00 01 */ li r9, 1 /* 80379D94 003759F4 48 00 04 0D */ bl PrepareStrmImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9StrmSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13StrmSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii /* 80379D98 003759F8 2C 03 00 00 */ cmpwi r3, 0 /* 80379D9C 003759FC 7C 76 1B 78 */ mr r22, r3 /* 80379DA0 00375A00 41 82 00 D4 */ beq lbl_80379E74 /* 80379DA4 00375A04 81 98 00 00 */ lwz r12, 0(r24) /* 80379DA8 00375A08 7F 03 C3 78 */ mr r3, r24 /* 80379DAC 00375A0C 81 8C 00 28 */ lwz r12, 0x28(r12) /* 80379DB0 00375A10 7D 89 03 A6 */ mtctr r12 /* 80379DB4 00375A14 4E 80 04 21 */ bctrl /* 80379DB8 00375A18 7E C3 B3 78 */ mr r3, r22 /* 80379DBC 00375A1C 48 00 00 C8 */ b lbl_80379E84 /* 80379DC0 00375A20 48 00 00 B4 */ b lbl_80379E74 lbl_80379DC4: /* 80379DC4 00375A24 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80379DC8 00375A28 7F A4 EB 78 */ mr r4, r29 /* 80379DCC 00375A2C 38 A1 00 0C */ addi r5, r1, 0xc /* 80379DD0 00375A30 4B FF D2 9D */ bl func_8037706C /* 80379DD4 00375A34 2C 03 00 00 */ cmpwi r3, 0 /* 80379DD8 00375A38 40 82 00 0C */ bne lbl_80379DE4 /* 80379DDC 00375A3C 38 60 00 03 */ li r3, 3 /* 80379DE0 00375A40 48 00 00 A4 */ b lbl_80379E84 lbl_80379DE4: /* 80379DE4 00375A44 7F 23 CB 78 */ mr r3, r25 /* 80379DE8 00375A48 7F 04 C3 78 */ mr r4, r24 /* 80379DEC 00375A4C 7F 45 D3 78 */ mr r5, r26 /* 80379DF0 00375A50 7F C6 F3 78 */ mr r6, r30 /* 80379DF4 00375A54 7F E7 FB 78 */ mr r7, r31 /* 80379DF8 00375A58 7F A8 EB 78 */ mr r8, r29 /* 80379DFC 00375A5C 39 3B 00 88 */ addi r9, r27, 0x88 /* 80379E00 00375A60 48 00 1C 0D */ bl detail_AllocWaveSound__Q34nw4r3snd11SoundPlayerFiiPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerUlPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1 /* 80379E04 00375A64 2C 03 00 00 */ cmpwi r3, 0 /* 80379E08 00375A68 7C 78 1B 78 */ mr r24, r3 /* 80379E0C 00375A6C 40 82 00 0C */ bne lbl_80379E18 /* 80379E10 00375A70 38 60 00 01 */ li r3, 1 /* 80379E14 00375A74 48 00 00 70 */ b lbl_80379E84 lbl_80379E18: /* 80379E18 00375A78 7F A4 EB 78 */ mr r4, r29 /* 80379E1C 00375A7C 4B FF 42 E9 */ bl SetId__Q44nw4r3snd6detail10BasicSoundFUl /* 80379E20 00375A80 7F 63 DB 78 */ mr r3, r27 /* 80379E24 00375A84 7F 04 C3 78 */ mr r4, r24 /* 80379E28 00375A88 7E E7 BB 78 */ mr r7, r23 /* 80379E2C 00375A8C 7E C8 B3 78 */ mr r8, r22 /* 80379E30 00375A90 38 A1 00 2C */ addi r5, r1, 0x2c /* 80379E34 00375A94 38 C1 00 0C */ addi r6, r1, 0xc /* 80379E38 00375A98 39 20 00 01 */ li r9, 1 /* 80379E3C 00375A9C 48 00 04 C5 */ bl PrepareWaveSoundImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9WaveSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13WaveSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii /* 80379E40 00375AA0 2C 03 00 00 */ cmpwi r3, 0 /* 80379E44 00375AA4 7C 76 1B 78 */ mr r22, r3 /* 80379E48 00375AA8 41 82 00 2C */ beq lbl_80379E74 /* 80379E4C 00375AAC 81 98 00 00 */ lwz r12, 0(r24) /* 80379E50 00375AB0 7F 03 C3 78 */ mr r3, r24 /* 80379E54 00375AB4 81 8C 00 28 */ lwz r12, 0x28(r12) /* 80379E58 00375AB8 7D 89 03 A6 */ mtctr r12 /* 80379E5C 00375ABC 4E 80 04 21 */ bctrl /* 80379E60 00375AC0 7E C3 B3 78 */ mr r3, r22 /* 80379E64 00375AC4 48 00 00 20 */ b lbl_80379E84 /* 80379E68 00375AC8 48 00 00 0C */ b lbl_80379E74 lbl_80379E6C: /* 80379E6C 00375ACC 38 60 00 03 */ li r3, 3 /* 80379E70 00375AD0 48 00 00 14 */ b lbl_80379E84 lbl_80379E74: /* 80379E74 00375AD4 7F 83 E3 78 */ mr r3, r28 /* 80379E78 00375AD8 7F 04 C3 78 */ mr r4, r24 /* 80379E7C 00375ADC 48 00 0B 25 */ bl detail_AttachSound__Q34nw4r3snd11SoundHandleFPQ44nw4r3snd6detail10BasicSound /* 80379E80 00375AE0 38 60 00 00 */ li r3, 0 lbl_80379E84: /* 80379E84 00375AE4 39 61 00 70 */ addi r11, r1, 0x70 /* 80379E88 00375AE8 4B E4 D2 D9 */ bl _restgpr_22 /* 80379E8C 00375AEC 80 01 00 74 */ lwz r0, 0x74(r1) /* 80379E90 00375AF0 7C 08 03 A6 */ mtlr r0 /* 80379E94 00375AF4 38 21 00 70 */ addi r1, r1, 0x70 /* 80379E98 00375AF8 4E 80 00 20 */ blr .global PrepareSeqImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail8SeqSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive12SeqSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii PrepareSeqImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail8SeqSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive12SeqSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii: /* 80379E9C 00375AFC 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80379EA0 00375B00 7C 08 02 A6 */ mflr r0 /* 80379EA4 00375B04 90 01 00 54 */ stw r0, 0x54(r1) /* 80379EA8 00375B08 39 61 00 50 */ addi r11, r1, 0x50 /* 80379EAC 00375B0C 4B E4 D2 65 */ bl _savegpr_21 /* 80379EB0 00375B10 7C 96 23 78 */ mr r22, r4 /* 80379EB4 00375B14 80 85 00 00 */ lwz r4, 0(r5) /* 80379EB8 00375B18 7C 75 1B 78 */ mr r21, r3 /* 80379EBC 00375B1C 7C B7 2B 78 */ mr r23, r5 /* 80379EC0 00375B20 7C D8 33 78 */ mr r24, r6 /* 80379EC4 00375B24 7C F9 3B 78 */ mr r25, r7 /* 80379EC8 00375B28 7D 1A 43 78 */ mr r26, r8 /* 80379ECC 00375B2C 7D 3B 4B 78 */ mr r27, r9 /* 80379ED0 00375B30 4B FF F9 ED */ bl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl /* 80379ED4 00375B34 2C 03 00 00 */ cmpwi r3, 0 /* 80379ED8 00375B38 7C 7D 1B 78 */ mr r29, r3 /* 80379EDC 00375B3C 3B 80 00 00 */ li r28, 0 /* 80379EE0 00375B40 40 82 00 98 */ bne lbl_80379F78 /* 80379EE4 00375B44 83 F6 00 04 */ lwz r31, 4(r22) /* 80379EE8 00375B48 2C 1F 00 00 */ cmpwi r31, 0 /* 80379EEC 00375B4C 40 82 00 0C */ bne lbl_80379EF8 /* 80379EF0 00375B50 38 60 00 04 */ li r3, 4 /* 80379EF4 00375B54 48 00 02 94 */ b lbl_8037A188 lbl_80379EF8: /* 80379EF8 00375B58 80 75 00 10 */ lwz r3, 0x10(r21) /* 80379EFC 00375B5C 38 B6 02 28 */ addi r5, r22, 0x228 /* 80379F00 00375B60 80 97 00 00 */ lwz r4, 0(r23) /* 80379F04 00375B64 38 C0 02 00 */ li r6, 0x200 /* 80379F08 00375B68 4B FF D1 A5 */ bl detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi /* 80379F0C 00375B6C 2C 03 00 00 */ cmpwi r3, 0 /* 80379F10 00375B70 7C 7C 1B 78 */ mr r28, r3 /* 80379F14 00375B74 40 82 00 0C */ bne lbl_80379F20 /* 80379F18 00375B78 38 60 00 06 */ li r3, 6 /* 80379F1C 00375B7C 48 00 02 6C */ b lbl_8037A188 lbl_80379F20: /* 80379F20 00375B80 3B DF 00 04 */ addi r30, r31, 4 /* 80379F24 00375B84 7F C3 F3 78 */ mr r3, r30 /* 80379F28 00375B88 4B EF 5A 21 */ bl OSLockMutex /* 80379F2C 00375B8C 38 7F 00 1C */ addi r3, r31, 0x1c /* 80379F30 00375B90 4B FF 66 D1 */ bl GetFreeSize__Q44nw4r3snd6detail9FrameHeapCFv /* 80379F34 00375B94 7C 7F 1B 78 */ mr r31, r3 /* 80379F38 00375B98 7F C3 F3 78 */ mr r3, r30 /* 80379F3C 00375B9C 4B EF 5A E9 */ bl OSUnlockMutex /* 80379F40 00375BA0 81 9C 00 00 */ lwz r12, 0(r28) /* 80379F44 00375BA4 7F 83 E3 78 */ mr r3, r28 /* 80379F48 00375BA8 81 8C 00 40 */ lwz r12, 0x40(r12) /* 80379F4C 00375BAC 7D 89 03 A6 */ mtctr r12 /* 80379F50 00375BB0 4E 80 04 21 */ bctrl /* 80379F54 00375BB4 7C 1F 18 40 */ cmplw r31, r3 /* 80379F58 00375BB8 40 80 00 20 */ bge lbl_80379F78 /* 80379F5C 00375BBC 81 9C 00 00 */ lwz r12, 0(r28) /* 80379F60 00375BC0 7F 83 E3 78 */ mr r3, r28 /* 80379F64 00375BC4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80379F68 00375BC8 7D 89 03 A6 */ mtctr r12 /* 80379F6C 00375BCC 4E 80 04 21 */ bctrl /* 80379F70 00375BD0 38 60 00 05 */ li r3, 5 /* 80379F74 00375BD4 48 00 02 14 */ b lbl_8037A188 lbl_80379F78: /* 80379F78 00375BD8 80 95 00 1C */ lwz r4, 0x1c(r21) /* 80379F7C 00375BDC 7E C3 B3 78 */ mr r3, r22 /* 80379F80 00375BE0 80 B8 00 08 */ lwz r5, 8(r24) /* 80379F84 00375BE4 7F 66 DB 78 */ mr r6, r27 /* 80379F88 00375BE8 38 F5 00 20 */ addi r7, r21, 0x20 /* 80379F8C 00375BEC 4B FF AD CD */ bl Setup__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback /* 80379F90 00375BF0 48 00 00 B8 */ b lbl_8037A048 lbl_80379F94: /* 80379F94 00375BF4 2C 03 00 01 */ cmpwi r3, 1 /* 80379F98 00375BF8 40 82 00 A8 */ bne lbl_8037A040 /* 80379F9C 00375BFC 80 15 00 3C */ lwz r0, 0x3c(r21) /* 80379FA0 00375C00 28 00 00 01 */ cmplwi r0, 1 /* 80379FA4 00375C04 40 82 00 28 */ bne lbl_80379FCC /* 80379FA8 00375C08 2C 1C 00 00 */ cmpwi r28, 0 /* 80379FAC 00375C0C 41 82 00 18 */ beq lbl_80379FC4 /* 80379FB0 00375C10 81 9C 00 00 */ lwz r12, 0(r28) /* 80379FB4 00375C14 7F 83 E3 78 */ mr r3, r28 /* 80379FB8 00375C18 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80379FBC 00375C1C 7D 89 03 A6 */ mtctr r12 /* 80379FC0 00375C20 4E 80 04 21 */ bctrl lbl_80379FC4: /* 80379FC4 00375C24 38 60 00 01 */ li r3, 1 /* 80379FC8 00375C28 48 00 01 C0 */ b lbl_8037A188 lbl_80379FCC: /* 80379FCC 00375C2C 2C 00 00 00 */ cmpwi r0, 0 /* 80379FD0 00375C30 40 82 00 0C */ bne lbl_80379FDC /* 80379FD4 00375C34 38 60 00 00 */ li r3, 0 /* 80379FD8 00375C38 48 00 00 0C */ b lbl_80379FE4 lbl_80379FDC: /* 80379FDC 00375C3C 80 75 00 40 */ lwz r3, 0x40(r21) /* 80379FE0 00375C40 38 63 FF 48 */ addi r3, r3, -184 lbl_80379FE4: /* 80379FE4 00375C44 7C 16 18 40 */ cmplw r22, r3 /* 80379FE8 00375C48 40 82 00 28 */ bne lbl_8037A010 /* 80379FEC 00375C4C 2C 1C 00 00 */ cmpwi r28, 0 /* 80379FF0 00375C50 41 82 00 18 */ beq lbl_8037A008 /* 80379FF4 00375C54 81 9C 00 00 */ lwz r12, 0(r28) /* 80379FF8 00375C58 7F 83 E3 78 */ mr r3, r28 /* 80379FFC 00375C5C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8037A000 00375C60 7D 89 03 A6 */ mtctr r12 /* 8037A004 00375C64 4E 80 04 21 */ bctrl lbl_8037A008: /* 8037A008 00375C68 38 60 00 01 */ li r3, 1 /* 8037A00C 00375C6C 48 00 01 7C */ b lbl_8037A188 lbl_8037A010: /* 8037A010 00375C70 81 83 00 00 */ lwz r12, 0(r3) /* 8037A014 00375C74 38 80 00 00 */ li r4, 0 /* 8037A018 00375C78 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8037A01C 00375C7C 7D 89 03 A6 */ mtctr r12 /* 8037A020 00375C80 4E 80 04 21 */ bctrl /* 8037A024 00375C84 80 95 00 1C */ lwz r4, 0x1c(r21) /* 8037A028 00375C88 7E C3 B3 78 */ mr r3, r22 /* 8037A02C 00375C8C 80 B8 00 08 */ lwz r5, 8(r24) /* 8037A030 00375C90 7F 66 DB 78 */ mr r6, r27 /* 8037A034 00375C94 38 F5 00 20 */ addi r7, r21, 0x20 /* 8037A038 00375C98 4B FF AD 21 */ bl Setup__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback /* 8037A03C 00375C9C 48 00 00 0C */ b lbl_8037A048 lbl_8037A040: /* 8037A040 00375CA0 38 60 00 FF */ li r3, 0xff /* 8037A044 00375CA4 48 00 01 44 */ b lbl_8037A188 lbl_8037A048: /* 8037A048 00375CA8 2C 03 00 00 */ cmpwi r3, 0 /* 8037A04C 00375CAC 40 82 FF 48 */ bne lbl_80379F94 /* 8037A050 00375CB0 80 97 00 0C */ lwz r4, 0xc(r23) /* 8037A054 00375CB4 3C 00 43 30 */ lis r0, 0x4330 /* 8037A058 00375CB8 90 01 00 10 */ stw r0, 0x10(r1) /* 8037A05C 00375CBC 7E C3 B3 78 */ mr r3, r22 /* 8037A060 00375CC0 6C 80 80 00 */ xoris r0, r4, 0x8000 /* 8037A064 00375CC4 81 96 00 00 */ lwz r12, 0(r22) /* 8037A068 00375CC8 90 01 00 14 */ stw r0, 0x14(r1) /* 8037A06C 00375CCC C8 42 A7 58 */ lfd f2, lbl_80642D58-_SDA2_BASE_(r2) /* 8037A070 00375CD0 C8 21 00 10 */ lfd f1, 0x10(r1) /* 8037A074 00375CD4 C0 02 A7 50 */ lfs f0, lbl_80642D50-_SDA2_BASE_(r2) /* 8037A078 00375CD8 EC 21 10 28 */ fsubs f1, f1, f2 /* 8037A07C 00375CDC 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8037A080 00375CE0 EC 21 00 24 */ fdivs f1, f1, f0 /* 8037A084 00375CE4 7D 89 03 A6 */ mtctr r12 /* 8037A088 00375CE8 4E 80 04 21 */ bctrl /* 8037A08C 00375CEC 80 98 00 0C */ lwz r4, 0xc(r24) /* 8037A090 00375CF0 7E C3 B3 78 */ mr r3, r22 /* 8037A094 00375CF4 4B FF B0 51 */ bl func_803750E4 /* 8037A098 00375CF8 88 98 00 10 */ lbz r4, 0x10(r24) /* 8037A09C 00375CFC 7E C3 B3 78 */ mr r3, r22 /* 8037A0A0 00375D00 4B FF B0 4D */ bl func_803750EC /* 8037A0A4 00375D04 81 96 00 00 */ lwz r12, 0(r22) /* 8037A0A8 00375D08 7E C3 B3 78 */ mr r3, r22 /* 8037A0AC 00375D0C 80 97 00 10 */ lwz r4, 0x10(r23) /* 8037A0B0 00375D10 81 8C 00 50 */ lwz r12, 0x50(r12) /* 8037A0B4 00375D14 7D 89 03 A6 */ mtctr r12 /* 8037A0B8 00375D18 4E 80 04 21 */ bctrl /* 8037A0BC 00375D1C 81 96 00 00 */ lwz r12, 0(r22) /* 8037A0C0 00375D20 7E C3 B3 78 */ mr r3, r22 /* 8037A0C4 00375D24 80 97 00 14 */ lwz r4, 0x14(r23) /* 8037A0C8 00375D28 81 8C 00 54 */ lwz r12, 0x54(r12) /* 8037A0CC 00375D2C 7D 89 03 A6 */ mtctr r12 /* 8037A0D0 00375D30 4E 80 04 21 */ bctrl /* 8037A0D4 00375D34 81 96 00 00 */ lwz r12, 0(r22) /* 8037A0D8 00375D38 7E C3 B3 78 */ mr r3, r22 /* 8037A0DC 00375D3C 80 97 00 18 */ lwz r4, 0x18(r23) /* 8037A0E0 00375D40 81 8C 00 58 */ lwz r12, 0x58(r12) /* 8037A0E4 00375D44 7D 89 03 A6 */ mtctr r12 /* 8037A0E8 00375D48 4E 80 04 21 */ bctrl /* 8037A0EC 00375D4C 2C 19 00 01 */ cmpwi r25, 1 /* 8037A0F0 00375D50 41 82 00 28 */ beq lbl_8037A118 /* 8037A0F4 00375D54 40 80 00 10 */ bge lbl_8037A104 /* 8037A0F8 00375D58 2C 19 00 00 */ cmpwi r25, 0 /* 8037A0FC 00375D5C 40 80 00 14 */ bge lbl_8037A110 /* 8037A100 00375D60 48 00 00 2C */ b lbl_8037A12C lbl_8037A104: /* 8037A104 00375D64 2C 19 00 03 */ cmpwi r25, 3 /* 8037A108 00375D68 40 80 00 24 */ bge lbl_8037A12C /* 8037A10C 00375D6C 48 00 00 14 */ b lbl_8037A120 lbl_8037A110: /* 8037A110 00375D70 3B C0 00 01 */ li r30, 1 /* 8037A114 00375D74 48 00 00 20 */ b lbl_8037A134 lbl_8037A118: /* 8037A118 00375D78 3B C0 00 00 */ li r30, 0 /* 8037A11C 00375D7C 48 00 00 18 */ b lbl_8037A134 lbl_8037A120: /* 8037A120 00375D80 3B C0 00 00 */ li r30, 0 /* 8037A124 00375D84 3B 40 00 00 */ li r26, 0 /* 8037A128 00375D88 48 00 00 0C */ b lbl_8037A134 lbl_8037A12C: /* 8037A12C 00375D8C 3B C0 00 00 */ li r30, 0 /* 8037A130 00375D90 3B 40 00 00 */ li r26, 0 lbl_8037A134: /* 8037A134 00375D94 2C 1D 00 00 */ cmpwi r29, 0 /* 8037A138 00375D98 41 82 00 34 */ beq lbl_8037A16C /* 8037A13C 00375D9C 7F A4 EB 78 */ mr r4, r29 /* 8037A140 00375DA0 38 61 00 08 */ addi r3, r1, 8 /* 8037A144 00375DA4 4B FF 98 A1 */ bl __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv /* 8037A148 00375DA8 38 61 00 08 */ addi r3, r1, 8 /* 8037A14C 00375DAC 4B FF 99 05 */ bl GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv /* 8037A150 00375DB0 80 B8 00 00 */ lwz r5, 0(r24) /* 8037A154 00375DB4 7C 64 1B 78 */ mr r4, r3 /* 8037A158 00375DB8 7E C3 B3 78 */ mr r3, r22 /* 8037A15C 00375DBC 7F C6 F3 78 */ mr r6, r30 /* 8037A160 00375DC0 7F 47 D3 78 */ mr r7, r26 /* 8037A164 00375DC4 4B FF AC 5D */ bl Prepare__Q44nw4r3snd6detail8SeqSoundFPCvlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei /* 8037A168 00375DC8 48 00 00 1C */ b lbl_8037A184 lbl_8037A16C: /* 8037A16C 00375DCC 80 B8 00 00 */ lwz r5, 0(r24) /* 8037A170 00375DD0 7E C3 B3 78 */ mr r3, r22 /* 8037A174 00375DD4 7F 84 E3 78 */ mr r4, r28 /* 8037A178 00375DD8 7F C6 F3 78 */ mr r6, r30 /* 8037A17C 00375DDC 7F 47 D3 78 */ mr r7, r26 /* 8037A180 00375DE0 4B FF AC A9 */ bl Prepare__Q44nw4r3snd6detail8SeqSoundFPQ34nw4r2ut10FileStreamlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei lbl_8037A184: /* 8037A184 00375DE4 38 60 00 00 */ li r3, 0 lbl_8037A188: /* 8037A188 00375DE8 39 61 00 50 */ addi r11, r1, 0x50 /* 8037A18C 00375DEC 4B E4 CF D1 */ bl _restgpr_21 /* 8037A190 00375DF0 80 01 00 54 */ lwz r0, 0x54(r1) /* 8037A194 00375DF4 7C 08 03 A6 */ mtlr r0 /* 8037A198 00375DF8 38 21 00 50 */ addi r1, r1, 0x50 /* 8037A19C 00375DFC 4E 80 00 20 */ blr .global PrepareStrmImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9StrmSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13StrmSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii PrepareStrmImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9StrmSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13StrmSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii: /* 8037A1A0 00375E00 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8037A1A4 00375E04 7C 08 02 A6 */ mflr r0 /* 8037A1A8 00375E08 90 01 00 34 */ stw r0, 0x34(r1) /* 8037A1AC 00375E0C 39 61 00 30 */ addi r11, r1, 0x30 /* 8037A1B0 00375E10 4B E4 CF 75 */ bl _savegpr_26 /* 8037A1B4 00375E14 2C 07 00 01 */ cmpwi r7, 1 /* 8037A1B8 00375E18 7C 7A 1B 78 */ mr r26, r3 /* 8037A1BC 00375E1C 7C 9B 23 78 */ mr r27, r4 /* 8037A1C0 00375E20 7C BC 2B 78 */ mr r28, r5 /* 8037A1C4 00375E24 7D 1D 43 78 */ mr r29, r8 /* 8037A1C8 00375E28 7D 3E 4B 78 */ mr r30, r9 /* 8037A1CC 00375E2C 41 82 00 28 */ beq lbl_8037A1F4 /* 8037A1D0 00375E30 40 80 00 10 */ bge lbl_8037A1E0 /* 8037A1D4 00375E34 2C 07 00 00 */ cmpwi r7, 0 /* 8037A1D8 00375E38 40 80 00 14 */ bge lbl_8037A1EC /* 8037A1DC 00375E3C 48 00 00 2C */ b lbl_8037A208 lbl_8037A1E0: /* 8037A1E0 00375E40 2C 07 00 03 */ cmpwi r7, 3 /* 8037A1E4 00375E44 40 80 00 24 */ bge lbl_8037A208 /* 8037A1E8 00375E48 48 00 00 18 */ b lbl_8037A200 lbl_8037A1EC: /* 8037A1EC 00375E4C 3B E0 00 01 */ li r31, 1 /* 8037A1F0 00375E50 48 00 00 20 */ b lbl_8037A210 lbl_8037A1F4: /* 8037A1F4 00375E54 3B E0 00 00 */ li r31, 0 /* 8037A1F8 00375E58 3B A0 00 00 */ li r29, 0 /* 8037A1FC 00375E5C 48 00 00 14 */ b lbl_8037A210 lbl_8037A200: /* 8037A200 00375E60 3B E0 00 00 */ li r31, 0 /* 8037A204 00375E64 48 00 00 0C */ b lbl_8037A210 lbl_8037A208: /* 8037A208 00375E68 3B E0 00 00 */ li r31, 0 /* 8037A20C 00375E6C 3B A0 00 00 */ li r29, 0 lbl_8037A210: /* 8037A210 00375E70 80 85 00 00 */ lwz r4, 0(r5) /* 8037A214 00375E74 38 BB 09 54 */ addi r5, r27, 0x954 /* 8037A218 00375E78 80 63 00 10 */ lwz r3, 0x10(r3) /* 8037A21C 00375E7C 38 C0 02 00 */ li r6, 0x200 /* 8037A220 00375E80 4B FF CE 8D */ bl detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi /* 8037A224 00375E84 2C 03 00 00 */ cmpwi r3, 0 /* 8037A228 00375E88 7C 68 1B 78 */ mr r8, r3 /* 8037A22C 00375E8C 40 82 00 0C */ bne lbl_8037A238 /* 8037A230 00375E90 38 60 00 06 */ li r3, 6 /* 8037A234 00375E94 48 00 00 B4 */ b lbl_8037A2E8 lbl_8037A238: /* 8037A238 00375E98 7F 63 DB 78 */ mr r3, r27 /* 8037A23C 00375E9C 7F E5 FB 78 */ mr r5, r31 /* 8037A240 00375EA0 7F A6 EB 78 */ mr r6, r29 /* 8037A244 00375EA4 7F C7 F3 78 */ mr r7, r30 /* 8037A248 00375EA8 38 9A 00 BC */ addi r4, r26, 0xbc /* 8037A24C 00375EAC 48 00 53 E1 */ bl Prepare__Q44nw4r3snd6detail9StrmSoundFPQ44nw4r3snd6detail14StrmBufferPoolQ54nw4r3snd6detail10StrmPlayer15StartOffsetTypeliPQ34nw4r2ut10FileStream /* 8037A250 00375EB0 2C 03 00 00 */ cmpwi r3, 0 /* 8037A254 00375EB4 40 82 00 0C */ bne lbl_8037A260 /* 8037A258 00375EB8 38 60 00 FF */ li r3, 0xff /* 8037A25C 00375EBC 48 00 00 8C */ b lbl_8037A2E8 lbl_8037A260: /* 8037A260 00375EC0 80 9C 00 0C */ lwz r4, 0xc(r28) /* 8037A264 00375EC4 3C 00 43 30 */ lis r0, 0x4330 /* 8037A268 00375EC8 90 01 00 08 */ stw r0, 8(r1) /* 8037A26C 00375ECC 7F 63 DB 78 */ mr r3, r27 /* 8037A270 00375ED0 6C 80 80 00 */ xoris r0, r4, 0x8000 /* 8037A274 00375ED4 81 9B 00 00 */ lwz r12, 0(r27) /* 8037A278 00375ED8 90 01 00 0C */ stw r0, 0xc(r1) /* 8037A27C 00375EDC C8 42 A7 58 */ lfd f2, lbl_80642D58-_SDA2_BASE_(r2) /* 8037A280 00375EE0 C8 21 00 08 */ lfd f1, 8(r1) /* 8037A284 00375EE4 C0 02 A7 50 */ lfs f0, lbl_80642D50-_SDA2_BASE_(r2) /* 8037A288 00375EE8 EC 21 10 28 */ fsubs f1, f1, f2 /* 8037A28C 00375EEC 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8037A290 00375EF0 EC 21 00 24 */ fdivs f1, f1, f0 /* 8037A294 00375EF4 7D 89 03 A6 */ mtctr r12 /* 8037A298 00375EF8 4E 80 04 21 */ bctrl /* 8037A29C 00375EFC 81 9B 00 00 */ lwz r12, 0(r27) /* 8037A2A0 00375F00 7F 63 DB 78 */ mr r3, r27 /* 8037A2A4 00375F04 80 9C 00 10 */ lwz r4, 0x10(r28) /* 8037A2A8 00375F08 81 8C 00 50 */ lwz r12, 0x50(r12) /* 8037A2AC 00375F0C 7D 89 03 A6 */ mtctr r12 /* 8037A2B0 00375F10 4E 80 04 21 */ bctrl /* 8037A2B4 00375F14 81 9B 00 00 */ lwz r12, 0(r27) /* 8037A2B8 00375F18 7F 63 DB 78 */ mr r3, r27 /* 8037A2BC 00375F1C 80 9C 00 14 */ lwz r4, 0x14(r28) /* 8037A2C0 00375F20 81 8C 00 54 */ lwz r12, 0x54(r12) /* 8037A2C4 00375F24 7D 89 03 A6 */ mtctr r12 /* 8037A2C8 00375F28 4E 80 04 21 */ bctrl /* 8037A2CC 00375F2C 81 9B 00 00 */ lwz r12, 0(r27) /* 8037A2D0 00375F30 7F 63 DB 78 */ mr r3, r27 /* 8037A2D4 00375F34 80 9C 00 18 */ lwz r4, 0x18(r28) /* 8037A2D8 00375F38 81 8C 00 58 */ lwz r12, 0x58(r12) /* 8037A2DC 00375F3C 7D 89 03 A6 */ mtctr r12 /* 8037A2E0 00375F40 4E 80 04 21 */ bctrl /* 8037A2E4 00375F44 38 60 00 00 */ li r3, 0 lbl_8037A2E8: /* 8037A2E8 00375F48 39 61 00 30 */ addi r11, r1, 0x30 /* 8037A2EC 00375F4C 4B E4 CE 85 */ bl _restgpr_26 /* 8037A2F0 00375F50 80 01 00 34 */ lwz r0, 0x34(r1) /* 8037A2F4 00375F54 7C 08 03 A6 */ mtlr r0 /* 8037A2F8 00375F58 38 21 00 30 */ addi r1, r1, 0x30 /* 8037A2FC 00375F5C 4E 80 00 20 */ blr .global PrepareWaveSoundImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9WaveSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13WaveSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii PrepareWaveSoundImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9WaveSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13WaveSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii: /* 8037A300 00375F60 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8037A304 00375F64 7C 08 02 A6 */ mflr r0 /* 8037A308 00375F68 90 01 00 34 */ stw r0, 0x34(r1) /* 8037A30C 00375F6C 39 61 00 30 */ addi r11, r1, 0x30 /* 8037A310 00375F70 4B E4 CE 11 */ bl _savegpr_25 /* 8037A314 00375F74 7C 9A 23 78 */ mr r26, r4 /* 8037A318 00375F78 80 85 00 00 */ lwz r4, 0(r5) /* 8037A31C 00375F7C 7C 79 1B 78 */ mr r25, r3 /* 8037A320 00375F80 7C BB 2B 78 */ mr r27, r5 /* 8037A324 00375F84 7C DC 33 78 */ mr r28, r6 /* 8037A328 00375F88 7C FD 3B 78 */ mr r29, r7 /* 8037A32C 00375F8C 7D 1E 43 78 */ mr r30, r8 /* 8037A330 00375F90 7D 3F 4B 78 */ mr r31, r9 /* 8037A334 00375F94 4B FF F5 89 */ bl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl /* 8037A338 00375F98 2C 03 00 00 */ cmpwi r3, 0 /* 8037A33C 00375F9C 7C 64 1B 78 */ mr r4, r3 /* 8037A340 00375FA0 40 82 00 0C */ bne lbl_8037A34C /* 8037A344 00375FA4 38 60 00 04 */ li r3, 4 /* 8037A348 00375FA8 48 00 01 18 */ b lbl_8037A460 lbl_8037A34C: /* 8037A34C 00375FAC 2C 1D 00 01 */ cmpwi r29, 1 /* 8037A350 00375FB0 41 82 00 28 */ beq lbl_8037A378 /* 8037A354 00375FB4 40 80 00 10 */ bge lbl_8037A364 /* 8037A358 00375FB8 2C 1D 00 00 */ cmpwi r29, 0 /* 8037A35C 00375FBC 40 80 00 14 */ bge lbl_8037A370 /* 8037A360 00375FC0 48 00 00 2C */ b lbl_8037A38C lbl_8037A364: /* 8037A364 00375FC4 2C 1D 00 03 */ cmpwi r29, 3 /* 8037A368 00375FC8 40 80 00 24 */ bge lbl_8037A38C /* 8037A36C 00375FCC 48 00 00 18 */ b lbl_8037A384 lbl_8037A370: /* 8037A370 00375FD0 38 C0 00 01 */ li r6, 1 /* 8037A374 00375FD4 48 00 00 20 */ b lbl_8037A394 lbl_8037A378: /* 8037A378 00375FD8 38 C0 00 00 */ li r6, 0 /* 8037A37C 00375FDC 3B C0 00 00 */ li r30, 0 /* 8037A380 00375FE0 48 00 00 14 */ b lbl_8037A394 lbl_8037A384: /* 8037A384 00375FE4 38 C0 00 00 */ li r6, 0 /* 8037A388 00375FE8 48 00 00 0C */ b lbl_8037A394 lbl_8037A38C: /* 8037A38C 00375FEC 38 C0 00 00 */ li r6, 0 /* 8037A390 00375FF0 3B C0 00 00 */ li r30, 0 lbl_8037A394: /* 8037A394 00375FF4 80 BC 00 00 */ lwz r5, 0(r28) /* 8037A398 00375FF8 7F 43 D3 78 */ mr r3, r26 /* 8037A39C 00375FFC 81 5B 00 00 */ lwz r10, 0(r27) /* 8037A3A0 00376000 7F C7 F3 78 */ mr r7, r30 /* 8037A3A4 00376004 7F E8 FB 78 */ mr r8, r31 /* 8037A3A8 00376008 39 39 00 28 */ addi r9, r25, 0x28 /* 8037A3AC 0037600C 48 00 93 41 */ bl Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl /* 8037A3B0 00376010 2C 03 00 00 */ cmpwi r3, 0 /* 8037A3B4 00376014 40 82 00 0C */ bne lbl_8037A3C0 /* 8037A3B8 00376018 38 60 00 FF */ li r3, 0xff /* 8037A3BC 0037601C 48 00 00 A4 */ b lbl_8037A460 lbl_8037A3C0: /* 8037A3C0 00376020 80 9B 00 0C */ lwz r4, 0xc(r27) /* 8037A3C4 00376024 3C 00 43 30 */ lis r0, 0x4330 /* 8037A3C8 00376028 90 01 00 08 */ stw r0, 8(r1) /* 8037A3CC 0037602C 7F 43 D3 78 */ mr r3, r26 /* 8037A3D0 00376030 6C 80 80 00 */ xoris r0, r4, 0x8000 /* 8037A3D4 00376034 81 9A 00 00 */ lwz r12, 0(r26) /* 8037A3D8 00376038 90 01 00 0C */ stw r0, 0xc(r1) /* 8037A3DC 0037603C C8 42 A7 58 */ lfd f2, lbl_80642D58-_SDA2_BASE_(r2) /* 8037A3E0 00376040 C8 21 00 08 */ lfd f1, 8(r1) /* 8037A3E4 00376044 C0 02 A7 50 */ lfs f0, lbl_80642D50-_SDA2_BASE_(r2) /* 8037A3E8 00376048 EC 21 10 28 */ fsubs f1, f1, f2 /* 8037A3EC 0037604C 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8037A3F0 00376050 EC 21 00 24 */ fdivs f1, f1, f0 /* 8037A3F4 00376054 7D 89 03 A6 */ mtctr r12 /* 8037A3F8 00376058 4E 80 04 21 */ bctrl /* 8037A3FC 0037605C 80 9C 00 04 */ lwz r4, 4(r28) /* 8037A400 00376060 7F 43 D3 78 */ mr r3, r26 /* 8037A404 00376064 48 00 94 61 */ bl SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi /* 8037A408 00376068 88 9C 00 08 */ lbz r4, 8(r28) /* 8037A40C 0037606C 7F 43 D3 78 */ mr r3, r26 /* 8037A410 00376070 48 00 94 5D */ bl SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb /* 8037A414 00376074 81 9A 00 00 */ lwz r12, 0(r26) /* 8037A418 00376078 7F 43 D3 78 */ mr r3, r26 /* 8037A41C 0037607C 80 9B 00 10 */ lwz r4, 0x10(r27) /* 8037A420 00376080 81 8C 00 50 */ lwz r12, 0x50(r12) /* 8037A424 00376084 7D 89 03 A6 */ mtctr r12 /* 8037A428 00376088 4E 80 04 21 */ bctrl /* 8037A42C 0037608C 81 9A 00 00 */ lwz r12, 0(r26) /* 8037A430 00376090 7F 43 D3 78 */ mr r3, r26 /* 8037A434 00376094 80 9B 00 14 */ lwz r4, 0x14(r27) /* 8037A438 00376098 81 8C 00 54 */ lwz r12, 0x54(r12) /* 8037A43C 0037609C 7D 89 03 A6 */ mtctr r12 /* 8037A440 003760A0 4E 80 04 21 */ bctrl /* 8037A444 003760A4 81 9A 00 00 */ lwz r12, 0(r26) /* 8037A448 003760A8 7F 43 D3 78 */ mr r3, r26 /* 8037A44C 003760AC 80 9B 00 18 */ lwz r4, 0x18(r27) /* 8037A450 003760B0 81 8C 00 58 */ lwz r12, 0x58(r12) /* 8037A454 003760B4 7D 89 03 A6 */ mtctr r12 /* 8037A458 003760B8 4E 80 04 21 */ bctrl /* 8037A45C 003760BC 38 60 00 00 */ li r3, 0 lbl_8037A460: /* 8037A460 003760C0 39 61 00 30 */ addi r11, r1, 0x30 /* 8037A464 003760C4 4B E4 CD 09 */ bl _restgpr_25 /* 8037A468 003760C8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8037A46C 003760CC 7C 08 03 A6 */ mtlr r0 /* 8037A470 003760D0 38 21 00 30 */ addi r1, r1, 0x30 /* 8037A474 003760D4 4E 80 00 20 */ blr .global LoadGroup__Q34nw4r3snd18SoundArchivePlayerFUlPQ34nw4r3snd22SoundMemoryAllocatableUl LoadGroup__Q34nw4r3snd18SoundArchivePlayerFUlPQ34nw4r3snd22SoundMemoryAllocatableUl: /* 8037A478 003760D8 94 21 FD C0 */ stwu r1, -0x240(r1) /* 8037A47C 003760DC 7C 08 02 A6 */ mflr r0 /* 8037A480 003760E0 90 01 02 44 */ stw r0, 0x244(r1) /* 8037A484 003760E4 93 E1 02 3C */ stw r31, 0x23c(r1) /* 8037A488 003760E8 7C DF 33 78 */ mr r31, r6 /* 8037A48C 003760EC 93 C1 02 38 */ stw r30, 0x238(r1) /* 8037A490 003760F0 7C BE 2B 78 */ mr r30, r5 /* 8037A494 003760F4 93 A1 02 34 */ stw r29, 0x234(r1) /* 8037A498 003760F8 7C 9D 23 78 */ mr r29, r4 /* 8037A49C 003760FC 93 81 02 30 */ stw r28, 0x230(r1) /* 8037A4A0 00376100 7C 7C 1B 78 */ mr r28, r3 /* 8037A4A4 00376104 80 03 00 10 */ lwz r0, 0x10(r3) /* 8037A4A8 00376108 2C 00 00 00 */ cmpwi r0, 0 /* 8037A4AC 0037610C 40 82 00 0C */ bne lbl_8037A4B8 /* 8037A4B0 00376110 38 60 00 00 */ li r3, 0 /* 8037A4B4 00376114 48 00 00 0C */ b lbl_8037A4C0 lbl_8037A4B8: /* 8037A4B8 00376118 7C 03 03 78 */ mr r3, r0 /* 8037A4BC 0037611C 4B FF CB 35 */ bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv lbl_8037A4C0: /* 8037A4C0 00376120 2C 03 00 00 */ cmpwi r3, 0 /* 8037A4C4 00376124 40 82 00 0C */ bne lbl_8037A4D0 /* 8037A4C8 00376128 38 60 00 00 */ li r3, 0 /* 8037A4CC 0037612C 48 00 00 F4 */ b lbl_8037A5C0 lbl_8037A4D0: /* 8037A4D0 00376130 80 7C 00 10 */ lwz r3, 0x10(r28) /* 8037A4D4 00376134 4B FF CB 61 */ bl func_80377034 /* 8037A4D8 00376138 7C 1D 18 40 */ cmplw r29, r3 /* 8037A4DC 0037613C 41 80 00 0C */ blt lbl_8037A4E8 /* 8037A4E0 00376140 38 60 00 00 */ li r3, 0 /* 8037A4E4 00376144 48 00 00 DC */ b lbl_8037A5C0 lbl_8037A4E8: /* 8037A4E8 00376148 80 7C 00 14 */ lwz r3, 0x14(r28) /* 8037A4EC 0037614C 2C 03 00 00 */ cmpwi r3, 0 /* 8037A4F0 00376150 40 82 00 0C */ bne lbl_8037A4FC /* 8037A4F4 00376154 38 00 00 00 */ li r0, 0 /* 8037A4F8 00376158 48 00 00 24 */ b lbl_8037A51C lbl_8037A4FC: /* 8037A4FC 0037615C 80 03 00 00 */ lwz r0, 0(r3) /* 8037A500 00376160 7C 1D 00 40 */ cmplw r29, r0 /* 8037A504 00376164 41 80 00 0C */ blt lbl_8037A510 /* 8037A508 00376168 38 00 00 00 */ li r0, 0 /* 8037A50C 0037616C 48 00 00 10 */ b lbl_8037A51C lbl_8037A510: /* 8037A510 00376170 57 A0 18 38 */ slwi r0, r29, 3 /* 8037A514 00376174 7C 63 02 14 */ add r3, r3, r0 /* 8037A518 00376178 80 03 00 04 */ lwz r0, 4(r3) lbl_8037A51C: /* 8037A51C 0037617C 2C 00 00 00 */ cmpwi r0, 0 /* 8037A520 00376180 41 82 00 0C */ beq lbl_8037A52C /* 8037A524 00376184 38 60 00 01 */ li r3, 1 /* 8037A528 00376188 48 00 00 98 */ b lbl_8037A5C0 lbl_8037A52C: /* 8037A52C 0037618C 2C 1E 00 00 */ cmpwi r30, 0 /* 8037A530 00376190 40 82 00 0C */ bne lbl_8037A53C /* 8037A534 00376194 38 60 00 00 */ li r3, 0 /* 8037A538 00376198 48 00 00 88 */ b lbl_8037A5C0 lbl_8037A53C: /* 8037A53C 0037619C 80 9C 00 10 */ lwz r4, 0x10(r28) /* 8037A540 003761A0 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A544 003761A4 4B FF DE 0D */ bl __ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive /* 8037A548 003761A8 7F A4 EB 78 */ mr r4, r29 /* 8037A54C 003761AC 7F C5 F3 78 */ mr r5, r30 /* 8037A550 003761B0 7F E7 FB 78 */ mr r7, r31 /* 8037A554 003761B4 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A558 003761B8 38 C1 00 08 */ addi r6, r1, 8 /* 8037A55C 003761BC 4B FF DE 71 */ bl LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl /* 8037A560 003761C0 2C 03 00 00 */ cmpwi r3, 0 /* 8037A564 003761C4 40 82 00 18 */ bne lbl_8037A57C /* 8037A568 003761C8 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A56C 003761CC 38 80 FF FF */ li r4, -1 /* 8037A570 003761D0 4B FF DE 1D */ bl __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv /* 8037A574 003761D4 38 60 00 00 */ li r3, 0 /* 8037A578 003761D8 48 00 00 48 */ b lbl_8037A5C0 lbl_8037A57C: /* 8037A57C 003761DC 80 9C 00 14 */ lwz r4, 0x14(r28) /* 8037A580 003761E0 2C 04 00 00 */ cmpwi r4, 0 /* 8037A584 003761E4 41 82 00 10 */ beq lbl_8037A594 /* 8037A588 003761E8 57 A0 18 38 */ slwi r0, r29, 3 /* 8037A58C 003761EC 7C 84 02 14 */ add r4, r4, r0 /* 8037A590 003761F0 90 64 00 04 */ stw r3, 4(r4) lbl_8037A594: /* 8037A594 003761F4 80 7C 00 14 */ lwz r3, 0x14(r28) /* 8037A598 003761F8 80 81 00 08 */ lwz r4, 8(r1) /* 8037A59C 003761FC 2C 03 00 00 */ cmpwi r3, 0 /* 8037A5A0 00376200 41 82 00 10 */ beq lbl_8037A5B0 /* 8037A5A4 00376204 57 A0 18 38 */ slwi r0, r29, 3 /* 8037A5A8 00376208 7C 63 02 14 */ add r3, r3, r0 /* 8037A5AC 0037620C 90 83 00 08 */ stw r4, 8(r3) lbl_8037A5B0: /* 8037A5B0 00376210 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A5B4 00376214 38 80 FF FF */ li r4, -1 /* 8037A5B8 00376218 4B FF DD D5 */ bl __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv /* 8037A5BC 0037621C 38 60 00 01 */ li r3, 1 lbl_8037A5C0: /* 8037A5C0 00376220 80 01 02 44 */ lwz r0, 0x244(r1) /* 8037A5C4 00376224 83 E1 02 3C */ lwz r31, 0x23c(r1) /* 8037A5C8 00376228 83 C1 02 38 */ lwz r30, 0x238(r1) /* 8037A5CC 0037622C 83 A1 02 34 */ lwz r29, 0x234(r1) /* 8037A5D0 00376230 83 81 02 30 */ lwz r28, 0x230(r1) /* 8037A5D4 00376234 7C 08 03 A6 */ mtlr r0 /* 8037A5D8 00376238 38 21 02 40 */ addi r1, r1, 0x240 /* 8037A5DC 0037623C 4E 80 00 20 */ blr .global InvalidateData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv InvalidateData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv: /* 8037A5E0 00376240 80 03 00 14 */ lwz r0, 0x14(r3) /* 8037A5E4 00376244 2C 00 00 00 */ cmpwi r0, 0 /* 8037A5E8 00376248 4D 82 00 20 */ beqlr /* 8037A5EC 0037624C 39 20 00 00 */ li r9, 0 /* 8037A5F0 00376250 38 E0 00 00 */ li r7, 0 /* 8037A5F4 00376254 38 C0 00 00 */ li r6, 0 /* 8037A5F8 00376258 48 00 00 28 */ b lbl_8037A620 lbl_8037A5FC: /* 8037A5FC 0037625C 7D 08 3A 14 */ add r8, r8, r7 /* 8037A600 00376260 80 08 00 04 */ lwz r0, 4(r8) /* 8037A604 00376264 7C 04 00 40 */ cmplw r4, r0 /* 8037A608 00376268 41 81 00 10 */ bgt lbl_8037A618 /* 8037A60C 0037626C 7C 00 28 40 */ cmplw r0, r5 /* 8037A610 00376270 41 81 00 08 */ bgt lbl_8037A618 /* 8037A614 00376274 90 C8 00 04 */ stw r6, 4(r8) lbl_8037A618: /* 8037A618 00376278 38 E7 00 08 */ addi r7, r7, 8 /* 8037A61C 0037627C 39 29 00 01 */ addi r9, r9, 1 lbl_8037A620: /* 8037A620 00376280 81 03 00 14 */ lwz r8, 0x14(r3) /* 8037A624 00376284 80 08 00 00 */ lwz r0, 0(r8) /* 8037A628 00376288 7C 09 00 40 */ cmplw r9, r0 /* 8037A62C 0037628C 41 80 FF D0 */ blt lbl_8037A5FC /* 8037A630 00376290 4E 80 00 20 */ blr .global InvalidateWaveData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv InvalidateWaveData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv: /* 8037A634 00376294 80 03 00 14 */ lwz r0, 0x14(r3) /* 8037A638 00376298 2C 00 00 00 */ cmpwi r0, 0 /* 8037A63C 0037629C 4D 82 00 20 */ beqlr /* 8037A640 003762A0 39 20 00 00 */ li r9, 0 /* 8037A644 003762A4 38 E0 00 00 */ li r7, 0 /* 8037A648 003762A8 38 C0 00 00 */ li r6, 0 /* 8037A64C 003762AC 48 00 00 28 */ b lbl_8037A674 lbl_8037A650: /* 8037A650 003762B0 7D 08 3A 14 */ add r8, r8, r7 /* 8037A654 003762B4 80 08 00 08 */ lwz r0, 8(r8) /* 8037A658 003762B8 7C 04 00 40 */ cmplw r4, r0 /* 8037A65C 003762BC 41 81 00 10 */ bgt lbl_8037A66C /* 8037A660 003762C0 7C 00 28 40 */ cmplw r0, r5 /* 8037A664 003762C4 41 81 00 08 */ bgt lbl_8037A66C /* 8037A668 003762C8 90 C8 00 08 */ stw r6, 8(r8) lbl_8037A66C: /* 8037A66C 003762CC 38 E7 00 08 */ addi r7, r7, 8 /* 8037A670 003762D0 39 29 00 01 */ addi r9, r9, 1 lbl_8037A674: /* 8037A674 003762D4 81 03 00 14 */ lwz r8, 0x14(r3) /* 8037A678 003762D8 80 08 00 00 */ lwz r0, 0(r8) /* 8037A67C 003762DC 7C 09 00 40 */ cmplw r9, r0 /* 8037A680 003762E0 41 80 FF D0 */ blt lbl_8037A650 /* 8037A684 003762E4 4E 80 00 20 */ blr .global NoteOn__Q44nw4r3snd18SoundArchivePlayer17SeqNoteOnCallbackFPQ44nw4r3snd6detail9SeqPlayeriRCQ44nw4r3snd6detail10NoteOnInfo NoteOn__Q44nw4r3snd18SoundArchivePlayer17SeqNoteOnCallbackFPQ44nw4r3snd6detail9SeqPlayeriRCQ44nw4r3snd6detail10NoteOnInfo: /* 8037A688 003762E8 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8037A68C 003762EC 7C 08 02 A6 */ mflr r0 /* 8037A690 003762F0 90 01 00 54 */ stw r0, 0x54(r1) /* 8037A694 003762F4 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8037A698 003762F8 7C 9F 23 78 */ mr r31, r4 /* 8037A69C 003762FC 93 C1 00 48 */ stw r30, 0x48(r1) /* 8037A6A0 00376300 7C DE 33 78 */ mr r30, r6 /* 8037A6A4 00376304 93 A1 00 44 */ stw r29, 0x44(r1) /* 8037A6A8 00376308 7C 7D 1B 78 */ mr r29, r3 /* 8037A6AC 0037630C 80 A3 00 04 */ lwz r5, 4(r3) /* 8037A6B0 00376310 80 65 00 10 */ lwz r3, 0x10(r5) /* 8037A6B4 00376314 2C 03 00 00 */ cmpwi r3, 0 /* 8037A6B8 00376318 40 82 00 0C */ bne lbl_8037A6C4 /* 8037A6BC 0037631C 38 60 00 00 */ li r3, 0 /* 8037A6C0 00376320 48 00 00 08 */ b lbl_8037A6C8 lbl_8037A6C4: /* 8037A6C4 00376324 4B FF C9 2D */ bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv lbl_8037A6C8: /* 8037A6C8 00376328 2C 03 00 00 */ cmpwi r3, 0 /* 8037A6CC 0037632C 40 82 00 0C */ bne lbl_8037A6D8 /* 8037A6D0 00376330 38 60 00 00 */ li r3, 0 /* 8037A6D4 00376334 48 00 00 C0 */ b lbl_8037A794 lbl_8037A6D8: /* 8037A6D8 00376338 80 7D 00 04 */ lwz r3, 4(r29) /* 8037A6DC 0037633C 38 A1 00 20 */ addi r5, r1, 0x20 /* 8037A6E0 00376340 80 9F 00 04 */ lwz r4, 4(r31) /* 8037A6E4 00376344 83 E3 00 10 */ lwz r31, 0x10(r3) /* 8037A6E8 00376348 7F E3 FB 78 */ mr r3, r31 /* 8037A6EC 0037634C 4B FF C9 71 */ bl func_8037705C /* 8037A6F0 00376350 2C 03 00 00 */ cmpwi r3, 0 /* 8037A6F4 00376354 40 82 00 0C */ bne lbl_8037A700 /* 8037A6F8 00376358 38 60 00 00 */ li r3, 0 /* 8037A6FC 0037635C 48 00 00 98 */ b lbl_8037A794 lbl_8037A700: /* 8037A700 00376360 80 81 00 24 */ lwz r4, 0x24(r1) /* 8037A704 00376364 7F E3 FB 78 */ mr r3, r31 /* 8037A708 00376368 38 A1 00 08 */ addi r5, r1, 8 /* 8037A70C 0037636C 4B FF C9 79 */ bl func_80377084 /* 8037A710 00376370 2C 03 00 00 */ cmpwi r3, 0 /* 8037A714 00376374 40 82 00 0C */ bne lbl_8037A720 /* 8037A718 00376378 38 60 00 00 */ li r3, 0 /* 8037A71C 0037637C 48 00 00 78 */ b lbl_8037A794 lbl_8037A720: /* 8037A720 00376380 80 7D 00 04 */ lwz r3, 4(r29) /* 8037A724 00376384 80 81 00 08 */ lwz r4, 8(r1) /* 8037A728 00376388 4B FF F1 95 */ bl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl /* 8037A72C 0037638C 2C 03 00 00 */ cmpwi r3, 0 /* 8037A730 00376390 40 82 00 0C */ bne lbl_8037A73C /* 8037A734 00376394 38 60 00 00 */ li r3, 0 /* 8037A738 00376398 48 00 00 5C */ b lbl_8037A794 lbl_8037A73C: /* 8037A73C 0037639C 7C 64 1B 78 */ mr r4, r3 /* 8037A740 003763A0 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A744 003763A4 4B FF 21 11 */ bl __ct__Q44nw4r3snd6detail4BankFPCv /* 8037A748 003763A8 80 7D 00 04 */ lwz r3, 4(r29) /* 8037A74C 003763AC 80 81 00 08 */ lwz r4, 8(r1) /* 8037A750 003763B0 4B FF F2 B9 */ bl detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl /* 8037A754 003763B4 2C 03 00 00 */ cmpwi r3, 0 /* 8037A758 003763B8 40 82 00 18 */ bne lbl_8037A770 /* 8037A75C 003763BC 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A760 003763C0 38 80 FF FF */ li r4, -1 /* 8037A764 003763C4 4B FF 21 29 */ bl __dt__Q44nw4r3snd6detail4BankFv /* 8037A768 003763C8 38 60 00 00 */ li r3, 0 /* 8037A76C 003763CC 48 00 00 28 */ b lbl_8037A794 lbl_8037A770: /* 8037A770 003763D0 90 61 00 1C */ stw r3, 0x1c(r1) /* 8037A774 003763D4 7F C4 F3 78 */ mr r4, r30 /* 8037A778 003763D8 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A77C 003763DC 4B FF 21 51 */ bl NoteOn__Q44nw4r3snd6detail4BankCFRCQ44nw4r3snd6detail10NoteOnInfo /* 8037A780 003763E0 7C 7F 1B 78 */ mr r31, r3 /* 8037A784 003763E4 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A788 003763E8 38 80 FF FF */ li r4, -1 /* 8037A78C 003763EC 4B FF 21 01 */ bl __dt__Q44nw4r3snd6detail4BankFv /* 8037A790 003763F0 7F E3 FB 78 */ mr r3, r31 lbl_8037A794: /* 8037A794 003763F4 80 01 00 54 */ lwz r0, 0x54(r1) /* 8037A798 003763F8 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8037A79C 003763FC 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8037A7A0 00376400 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8037A7A4 00376404 7C 08 03 A6 */ mtlr r0 /* 8037A7A8 00376408 38 21 00 50 */ addi r1, r1, 0x50 /* 8037A7AC 0037640C 4E 80 00 20 */ blr .global GetWaveSoundData__Q44nw4r3snd18SoundArchivePlayer11WsdCallbackCFPQ44nw4r3snd6detail13WaveSoundInfoPQ44nw4r3snd6detail17WaveSoundNoteInfoPQ44nw4r3snd6detail8WaveDataPCviiUl GetWaveSoundData__Q44nw4r3snd18SoundArchivePlayer11WsdCallbackCFPQ44nw4r3snd6detail13WaveSoundInfoPQ44nw4r3snd6detail17WaveSoundNoteInfoPQ44nw4r3snd6detail8WaveDataPCviiUl: /* 8037A7B0 00376410 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8037A7B4 00376414 7C 08 02 A6 */ mflr r0 /* 8037A7B8 00376418 90 01 00 44 */ stw r0, 0x44(r1) /* 8037A7BC 0037641C 39 61 00 40 */ addi r11, r1, 0x40 /* 8037A7C0 00376420 4B E4 C9 5D */ bl _savegpr_24 /* 8037A7C4 00376424 81 63 00 04 */ lwz r11, 4(r3) /* 8037A7C8 00376428 7C 78 1B 78 */ mr r24, r3 /* 8037A7CC 0037642C 7C 99 23 78 */ mr r25, r4 /* 8037A7D0 00376430 7C BA 2B 78 */ mr r26, r5 /* 8037A7D4 00376434 80 6B 00 10 */ lwz r3, 0x10(r11) /* 8037A7D8 00376438 7C DB 33 78 */ mr r27, r6 /* 8037A7DC 0037643C 7C FC 3B 78 */ mr r28, r7 /* 8037A7E0 00376440 7D 1D 43 78 */ mr r29, r8 /* 8037A7E4 00376444 2C 03 00 00 */ cmpwi r3, 0 /* 8037A7E8 00376448 7D 3E 4B 78 */ mr r30, r9 /* 8037A7EC 0037644C 7D 5F 53 78 */ mr r31, r10 /* 8037A7F0 00376450 40 82 00 0C */ bne lbl_8037A7FC /* 8037A7F4 00376454 38 60 00 00 */ li r3, 0 /* 8037A7F8 00376458 48 00 00 08 */ b lbl_8037A800 lbl_8037A7FC: /* 8037A7FC 0037645C 4B FF C7 F5 */ bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv lbl_8037A800: /* 8037A800 00376460 2C 03 00 00 */ cmpwi r3, 0 /* 8037A804 00376464 40 82 00 0C */ bne lbl_8037A810 /* 8037A808 00376468 38 60 00 00 */ li r3, 0 /* 8037A80C 0037646C 48 00 00 88 */ b lbl_8037A894 lbl_8037A810: /* 8037A810 00376470 80 78 00 04 */ lwz r3, 4(r24) /* 8037A814 00376474 7F E4 FB 78 */ mr r4, r31 /* 8037A818 00376478 4B FF F1 F1 */ bl detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl /* 8037A81C 0037647C 2C 03 00 00 */ cmpwi r3, 0 /* 8037A820 00376480 7C 7F 1B 78 */ mr r31, r3 /* 8037A824 00376484 40 82 00 0C */ bne lbl_8037A830 /* 8037A828 00376488 38 60 00 00 */ li r3, 0 /* 8037A82C 0037648C 48 00 00 68 */ b lbl_8037A894 lbl_8037A830: /* 8037A830 00376490 7F 84 E3 78 */ mr r4, r28 /* 8037A834 00376494 38 61 00 08 */ addi r3, r1, 8 /* 8037A838 00376498 48 00 91 A5 */ bl __ct__Q44nw4r3snd6detail13WsdFileReaderFPCv /* 8037A83C 0037649C 7F 24 CB 78 */ mr r4, r25 /* 8037A840 003764A0 7F A5 EB 78 */ mr r5, r29 /* 8037A844 003764A4 38 61 00 08 */ addi r3, r1, 8 /* 8037A848 003764A8 48 00 92 11 */ bl ReadWaveSoundInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail13WaveSoundInfoi /* 8037A84C 003764AC 2C 03 00 00 */ cmpwi r3, 0 /* 8037A850 003764B0 40 82 00 0C */ bne lbl_8037A85C /* 8037A854 003764B4 38 60 00 00 */ li r3, 0 /* 8037A858 003764B8 48 00 00 3C */ b lbl_8037A894 lbl_8037A85C: /* 8037A85C 003764BC 7F 44 D3 78 */ mr r4, r26 /* 8037A860 003764C0 7F A5 EB 78 */ mr r5, r29 /* 8037A864 003764C4 7F C6 F3 78 */ mr r6, r30 /* 8037A868 003764C8 38 61 00 08 */ addi r3, r1, 8 /* 8037A86C 003764CC 48 00 93 0D */ bl ReadWaveSoundNoteInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail17WaveSoundNoteInfoii /* 8037A870 003764D0 2C 03 00 00 */ cmpwi r3, 0 /* 8037A874 003764D4 40 82 00 0C */ bne lbl_8037A880 /* 8037A878 003764D8 38 60 00 00 */ li r3, 0 /* 8037A87C 003764DC 48 00 00 18 */ b lbl_8037A894 lbl_8037A880: /* 8037A880 003764E0 80 9A 00 00 */ lwz r4, 0(r26) /* 8037A884 003764E4 7F 65 DB 78 */ mr r5, r27 /* 8037A888 003764E8 7F E6 FB 78 */ mr r6, r31 /* 8037A88C 003764EC 38 61 00 08 */ addi r3, r1, 8 /* 8037A890 003764F0 48 00 93 F9 */ bl ReadWaveParam__Q44nw4r3snd6detail13WsdFileReaderCFiPQ44nw4r3snd6detail8WaveDataPCv lbl_8037A894: /* 8037A894 003764F4 39 61 00 40 */ addi r11, r1, 0x40 /* 8037A898 003764F8 4B E4 C8 D1 */ bl _restgpr_24 /* 8037A89C 003764FC 80 01 00 44 */ lwz r0, 0x44(r1) /* 8037A8A0 00376500 7C 08 03 A6 */ mtlr r0 /* 8037A8A4 00376504 38 21 00 40 */ addi r1, r1, 0x40 /* 8037A8A8 00376508 4E 80 00 20 */ blr .global detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc: /* 8037A8AC 0037650C 80 63 00 10 */ lwz r3, 0x10(r3) /* 8037A8B0 00376510 4B FF C7 8C */ b ConvertLabelStringToSoundId__Q34nw4r3snd12SoundArchiveCFPCc .global __dt__Q44nw4r3snd6detail10PlayerHeapFv __dt__Q44nw4r3snd6detail10PlayerHeapFv: /* 8037A8B4 00376514 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8037A8B8 00376518 7C 08 02 A6 */ mflr r0 /* 8037A8BC 0037651C 2C 03 00 00 */ cmpwi r3, 0 /* 8037A8C0 00376520 90 01 00 14 */ stw r0, 0x14(r1) /* 8037A8C4 00376524 93 E1 00 0C */ stw r31, 0xc(r1) /* 8037A8C8 00376528 7C 9F 23 78 */ mr r31, r4 /* 8037A8CC 0037652C 93 C1 00 08 */ stw r30, 8(r1) /* 8037A8D0 00376530 7C 7E 1B 78 */ mr r30, r3 /* 8037A8D4 00376534 41 82 00 1C */ beq lbl_8037A8F0 /* 8037A8D8 00376538 38 80 00 00 */ li r4, 0 /* 8037A8DC 0037653C 48 00 01 A9 */ bl __dt__Q34nw4r3snd9SoundHeapFv /* 8037A8E0 00376540 2C 1F 00 00 */ cmpwi r31, 0 /* 8037A8E4 00376544 40 81 00 0C */ ble lbl_8037A8F0 /* 8037A8E8 00376548 7F C3 F3 78 */ mr r3, r30 /* 8037A8EC 0037654C 4B E6 01 CD */ bl __dl__FPv lbl_8037A8F0: /* 8037A8F0 00376550 7F C3 F3 78 */ mr r3, r30 /* 8037A8F4 00376554 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8037A8F8 00376558 83 C1 00 08 */ lwz r30, 8(r1) /* 8037A8FC 0037655C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8037A900 00376560 7C 08 03 A6 */ mtlr r0 /* 8037A904 00376564 38 21 00 10 */ addi r1, r1, 0x10 /* 8037A908 00376568 4E 80 00 20 */ blr /* @12@detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc */ .global func_8037A90C func_8037A90C: /* 8037A90C 0037656C 38 63 FF F4 */ addi r3, r3, -12 /* 8037A910 00376570 4B FF FF 9C */ b detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc /* 12@detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo */ .global func_8037A914 func_8037A914: /* 8037A914 00376574 38 63 FF F4 */ addi r3, r3, -12 /* 8037A918 00376578 4B FF F2 3C */ b detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo /* @12@__dt__Q34nw4r3snd18SoundArchivePlayerFv */ .global func_8037A91C func_8037A91C: /* 8037A91C 0037657C 38 63 FF F4 */ addi r3, r3, -12 /* 8037A920 00376580 4B FF E3 9C */ b __dt__Q34nw4r3snd18SoundArchivePlayerFv