diff options
Diffstat (limited to 'asm/nw4r')
-rw-r--r-- | asm/nw4r/snd/snd_DvdSoundArchive.s | 12 | ||||
-rw-r--r-- | asm/nw4r/snd/snd_MemorySoundArchive.s | 2 | ||||
-rw-r--r-- | asm/nw4r/snd/snd_NandSoundArchive.s | 2 | ||||
-rw-r--r-- | asm/nw4r/snd/snd_SoundArchive.s | 485 |
4 files changed, 493 insertions, 8 deletions
diff --git a/asm/nw4r/snd/snd_DvdSoundArchive.s b/asm/nw4r/snd/snd_DvdSoundArchive.s index cf0f273..00bfd64 100644 --- a/asm/nw4r/snd/snd_DvdSoundArchive.s +++ b/asm/nw4r/snd/snd_DvdSoundArchive.s @@ -9,7 +9,7 @@ __ct__Q34nw4r3snd15DvdSoundArchiveFv: /* 8036F690 0036B2F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036F694 0036B2F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036F698 0036B2F8 7C 7F 1B 78 */ mr r31, r3
-/* 8036F69C 0036B2FC 48 00 78 F1 */ bl func_80376F8C
+/* 8036F69C 0036B2FC 48 00 78 F1 */ bl __ct__Q34nw4r3snd12SoundArchiveFv
/* 8036F6A0 0036B300 3C 80 80 45 */ lis r4, lbl_8044CA08@ha
/* 8036F6A4 0036B304 38 7F 01 08 */ addi r3, r31, 0x108
/* 8036F6A8 0036B308 38 84 CA 08 */ addi r4, r4, lbl_8044CA08@l
@@ -43,10 +43,10 @@ __dt__Q34nw4r3snd15DvdSoundArchiveFv: /* 8036F70C 0036B36C 38 00 00 00 */ li r0, 0
/* 8036F710 0036B370 7F C3 F3 78 */ mr r3, r30
/* 8036F714 0036B374 98 1E 01 88 */ stb r0, 0x188(r30)
-/* 8036F718 0036B378 48 00 78 F5 */ bl func_8037700C
+/* 8036F718 0036B378 48 00 78 F5 */ bl Shutdown__Q34nw4r3snd12SoundArchiveFv
/* 8036F71C 0036B37C 7F C3 F3 78 */ mr r3, r30
/* 8036F720 0036B380 38 80 00 00 */ li r4, 0
-/* 8036F724 0036B384 48 00 78 8D */ bl func_80376FB0
+/* 8036F724 0036B384 48 00 78 8D */ bl __dt__Q34nw4r3snd12SoundArchiveFv
/* 8036F728 0036B388 2C 1F 00 00 */ cmpwi r31, 0
/* 8036F72C 0036B38C 40 81 00 0C */ ble lbl_8036F738
/* 8036F730 0036B390 7F C3 F3 78 */ mr r3, r30
@@ -113,7 +113,7 @@ lbl_8036F7FC: /* 8036F804 0036B464 48 00 7D 9D */ bl func_803775A0
/* 8036F808 0036B468 7F 83 E3 78 */ mr r3, r28
/* 8036F80C 0036B46C 38 9C 01 08 */ addi r4, r28, 0x108
-/* 8036F810 0036B470 48 00 77 F5 */ bl func_80377004
+/* 8036F810 0036B470 48 00 77 F5 */ bl Setup__Q34nw4r3snd12SoundArchiveFPQ44nw4r3snd6detail22SoundArchiveFileReader
/* 8036F814 0036B474 38 00 00 01 */ li r0, 1
lbl_8036F818:
/* 8036F818 0036B478 2C 00 00 00 */ cmpwi r0, 0
@@ -144,7 +144,7 @@ lbl_8036F85C: /* 8036F870 0036B4D0 38 00 00 00 */ li r0, 0
/* 8036F874 0036B4D4 7C 04 F1 AE */ stbx r0, r4, r30
/* 8036F878 0036B4D8 7F 83 E3 78 */ mr r3, r28
-/* 8036F87C 0036B4DC 48 00 7C 85 */ bl func_80377500
+/* 8036F87C 0036B4DC 48 00 7C 85 */ bl SetExternalFileRoot__Q34nw4r3snd12SoundArchiveFPCc
/* 8036F880 0036B4E0 48 00 00 10 */ b lbl_8036F890
lbl_8036F884:
/* 8036F884 0036B4E4 3B DE FF FF */ addi r30, r30, -1
@@ -174,7 +174,7 @@ Close__Q34nw4r3snd15DvdSoundArchiveFv: /* 8036F8D0 0036B530 38 00 00 00 */ li r0, 0
/* 8036F8D4 0036B534 7F E3 FB 78 */ mr r3, r31
/* 8036F8D8 0036B538 98 1F 01 88 */ stb r0, 0x188(r31)
-/* 8036F8DC 0036B53C 48 00 77 31 */ bl func_8037700C
+/* 8036F8DC 0036B53C 48 00 77 31 */ bl Shutdown__Q34nw4r3snd12SoundArchiveFv
/* 8036F8E0 0036B540 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036F8E4 0036B544 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036F8E8 0036B548 7C 08 03 A6 */ mtlr r0
diff --git a/asm/nw4r/snd/snd_MemorySoundArchive.s b/asm/nw4r/snd/snd_MemorySoundArchive.s index 63c9634..e8f0a1a 100644 --- a/asm/nw4r/snd/snd_MemorySoundArchive.s +++ b/asm/nw4r/snd/snd_MemorySoundArchive.s @@ -6,4 +6,4 @@ Shutdown__Q34nw4r3snd18MemorySoundArchiveFv:
/* 80371DEC 0036DA4C 38 00 00 00 */ li r0, 0
/* 80371DF0 0036DA50 90 03 01 08 */ stw r0, 0x108(r3)
-/* 80371DF4 0036DA54 48 00 52 18 */ b func_8037700C
+/* 80371DF4 0036DA54 48 00 52 18 */ b Shutdown__Q34nw4r3snd12SoundArchiveFv
diff --git a/asm/nw4r/snd/snd_NandSoundArchive.s b/asm/nw4r/snd/snd_NandSoundArchive.s index 1f0c187..d518709 100644 --- a/asm/nw4r/snd/snd_NandSoundArchive.s +++ b/asm/nw4r/snd/snd_NandSoundArchive.s @@ -18,7 +18,7 @@ Close__Q34nw4r3snd16NandSoundArchiveFv: /* 80372F74 0036EBD4 98 1F 01 D8 */ stb r0, 0x1d8(r31)
lbl_80372F78:
/* 80372F78 0036EBD8 7F E3 FB 78 */ mr r3, r31
-/* 80372F7C 0036EBDC 48 00 40 91 */ bl func_8037700C
+/* 80372F7C 0036EBDC 48 00 40 91 */ bl Shutdown__Q34nw4r3snd12SoundArchiveFv
/* 80372F80 0036EBE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80372F84 0036EBE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80372F88 0036EBE8 7C 08 03 A6 */ mtlr r0
diff --git a/asm/nw4r/snd/snd_SoundArchive.s b/asm/nw4r/snd/snd_SoundArchive.s new file mode 100644 index 0000000..0920938 --- /dev/null +++ b/asm/nw4r/snd/snd_SoundArchive.s @@ -0,0 +1,485 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r3snd12SoundArchiveFv
+__ct__Q34nw4r3snd12SoundArchiveFv:
+/* 80376F8C 00372BEC 3C A0 80 45 */ lis r5, lbl_8044CE48@ha
+/* 80376F90 00372BF0 38 80 00 00 */ li r4, 0
+/* 80376F94 00372BF4 38 A5 CE 48 */ addi r5, r5, lbl_8044CE48@l
+/* 80376F98 00372BF8 38 00 00 2F */ li r0, 0x2f
+/* 80376F9C 00372BFC 90 A3 00 00 */ stw r5, 0(r3)
+/* 80376FA0 00372C00 90 83 00 04 */ stw r4, 4(r3)
+/* 80376FA4 00372C04 98 03 00 08 */ stb r0, 8(r3)
+/* 80376FA8 00372C08 98 83 00 09 */ stb r4, 9(r3)
+/* 80376FAC 00372C0C 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r3snd12SoundArchiveFv
+__dt__Q34nw4r3snd12SoundArchiveFv:
+/* 80376FB0 00372C10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80376FB4 00372C14 7C 08 02 A6 */ mflr r0
+/* 80376FB8 00372C18 2C 03 00 00 */ cmpwi r3, 0
+/* 80376FBC 00372C1C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80376FC0 00372C20 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80376FC4 00372C24 7C 7F 1B 78 */ mr r31, r3
+/* 80376FC8 00372C28 41 82 00 10 */ beq lbl_80376FD8
+/* 80376FCC 00372C2C 2C 04 00 00 */ cmpwi r4, 0
+/* 80376FD0 00372C30 40 81 00 08 */ ble lbl_80376FD8
+/* 80376FD4 00372C34 4B E6 3A E5 */ bl func_801DAAB8
+lbl_80376FD8:
+/* 80376FD8 00372C38 7F E3 FB 78 */ mr r3, r31
+/* 80376FDC 00372C3C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80376FE0 00372C40 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80376FE4 00372C44 7C 08 03 A6 */ mtlr r0
+/* 80376FE8 00372C48 38 21 00 10 */ addi r1, r1, 0x10
+/* 80376FEC 00372C4C 4E 80 00 20 */ blr
+
+.global IsAvailable__Q34nw4r3snd12SoundArchiveCFv
+IsAvailable__Q34nw4r3snd12SoundArchiveCFv:
+/* 80376FF0 00372C50 80 63 00 04 */ lwz r3, 4(r3)
+/* 80376FF4 00372C54 7C 03 00 D0 */ neg r0, r3
+/* 80376FF8 00372C58 7C 00 1B 78 */ or r0, r0, r3
+/* 80376FFC 00372C5C 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80377000 00372C60 4E 80 00 20 */ blr
+
+.global Setup__Q34nw4r3snd12SoundArchiveFPQ44nw4r3snd6detail22SoundArchiveFileReader
+Setup__Q34nw4r3snd12SoundArchiveFPQ44nw4r3snd6detail22SoundArchiveFileReader:
+/* 80377004 00372C64 90 83 00 04 */ stw r4, 4(r3)
+/* 80377008 00372C68 4E 80 00 20 */ blr
+
+.global Shutdown__Q34nw4r3snd12SoundArchiveFv
+Shutdown__Q34nw4r3snd12SoundArchiveFv:
+/* 8037700C 00372C6C 38 80 00 00 */ li r4, 0
+/* 80377010 00372C70 38 00 00 2F */ li r0, 0x2f
+/* 80377014 00372C74 90 83 00 04 */ stw r4, 4(r3)
+/* 80377018 00372C78 98 03 00 08 */ stb r0, 8(r3)
+/* 8037701C 00372C7C 98 83 00 09 */ stb r4, 9(r3)
+/* 80377020 00372C80 4E 80 00 20 */ blr
+
+.global func_80377024
+func_80377024:
+/* 80377024 00372C84 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377028 00372C88 48 00 0E 08 */ b lbl_80377E30
+
+.global func_8037702C
+func_8037702C:
+/* 8037702C 00372C8C 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377030 00372C90 48 00 0E 40 */ b lbl_80377E70
+
+.global func_80377034
+func_80377034:
+/* 80377034 00372C94 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377038 00372C98 48 00 0E 78 */ b lbl_80377EB0
+
+.global ConvertLabelStringToSoundId__Q34nw4r3snd12SoundArchiveCFPCc
+ConvertLabelStringToSoundId__Q34nw4r3snd12SoundArchiveCFPCc:
+/* 8037703C 00372C9C 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377040 00372CA0 7C 85 23 78 */ mr r5, r4
+/* 80377044 00372CA4 80 83 00 34 */ lwz r4, 0x34(r3)
+/* 80377048 00372CA8 48 00 10 CC */ b lbl_80378114
+
+.global func_8037704C
+func_8037704C:
+/* 8037704C 00372CAC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377050 00372CB0 48 00 06 0C */ b lbl_8037765C
+
+.global func_80377054
+func_80377054:
+/* 80377054 00372CB4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377058 00372CB8 48 00 06 F4 */ b lbl_8037774C
+
+.global func_8037705C
+func_8037705C:
+/* 8037705C 00372CBC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377060 00372CC0 48 00 08 0C */ b lbl_8037786C
+
+.global func_80377064
+func_80377064:
+/* 80377064 00372CC4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377068 00372CC8 48 00 08 B0 */ b lbl_80377918
+
+.global func_8037706C
+func_8037706C:
+/* 8037706C 00372CCC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377070 00372CD0 48 00 08 F4 */ b lbl_80377964
+
+.global func_80377074
+func_80377074:
+/* 80377074 00372CD4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377078 00372CD8 48 00 0A 34 */ b lbl_80377AAC
+
+.global func_8037707C
+func_8037707C:
+/* 8037707C 00372CDC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377080 00372CE0 48 00 0D 2C */ b lbl_80377DAC
+
+.global func_80377084
+func_80377084:
+/* 80377084 00372CE4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377088 00372CE8 48 00 09 78 */ b lbl_80377A00
+
+.global func_8037708C
+func_8037708C:
+/* 8037708C 00372CEC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377090 00372CF0 48 00 0A D4 */ b func_80377B64
+
+.global func_80377094
+func_80377094:
+/* 80377094 00372CF4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377098 00372CF8 48 00 0B DC */ b func_80377C74
+
+.global func_8037709C
+func_8037709C:
+/* 8037709C 00372CFC 80 63 00 04 */ lwz r3, 4(r3)
+/* 803770A0 00372D00 48 00 0E 54 */ b func_80377EF4
+
+.global func_803770A4
+func_803770A4:
+/* 803770A4 00372D04 80 63 00 04 */ lwz r3, 4(r3)
+/* 803770A8 00372D08 48 00 0F 4C */ b func_80377FF4
+
+.global detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi
+detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
+/* 803770AC 00372D0C 94 21 FD 90 */ stwu r1, -0x270(r1)
+/* 803770B0 00372D10 7C 08 02 A6 */ mflr r0
+/* 803770B4 00372D14 90 01 02 74 */ stw r0, 0x274(r1)
+/* 803770B8 00372D18 39 61 02 70 */ addi r11, r1, 0x270
+/* 803770BC 00372D1C 4B E5 00 65 */ bl _savegpr_25
+/* 803770C0 00372D20 7C 7D 1B 78 */ mr r29, r3
+/* 803770C4 00372D24 80 63 00 04 */ lwz r3, 4(r3)
+/* 803770C8 00372D28 7C BE 2B 78 */ mr r30, r5
+/* 803770CC 00372D2C 7C 99 23 78 */ mr r25, r4
+/* 803770D0 00372D30 7C DF 33 78 */ mr r31, r6
+/* 803770D4 00372D34 38 A1 00 10 */ addi r5, r1, 0x10
+/* 803770D8 00372D38 48 00 0E 1D */ bl func_80377EF4
+/* 803770DC 00372D3C 2C 03 00 00 */ cmpwi r3, 0
+/* 803770E0 00372D40 40 82 00 0C */ bne lbl_803770EC
+/* 803770E4 00372D44 38 60 00 00 */ li r3, 0
+/* 803770E8 00372D48 48 00 01 D0 */ b lbl_803772B8
+lbl_803770EC:
+/* 803770EC 00372D4C 83 61 00 18 */ lwz r27, 0x18(r1)
+/* 803770F0 00372D50 2C 1B 00 00 */ cmpwi r27, 0
+/* 803770F4 00372D54 41 82 00 90 */ beq lbl_80377184
+/* 803770F8 00372D58 88 1B 00 00 */ lbz r0, 0(r27)
+/* 803770FC 00372D5C 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80377100 00372D60 40 82 00 08 */ bne lbl_80377108
+/* 80377104 00372D64 48 00 00 54 */ b lbl_80377158
+lbl_80377108:
+/* 80377108 00372D68 7F 63 DB 78 */ mr r3, r27
+/* 8037710C 00372D6C 4B E4 FA 59 */ bl strlen
+/* 80377110 00372D70 7C 7C 1B 78 */ mr r28, r3
+/* 80377114 00372D74 38 7D 00 08 */ addi r3, r29, 8
+/* 80377118 00372D78 4B E4 FA 4D */ bl strlen
+/* 8037711C 00372D7C 7C 1C 1A 14 */ add r0, r28, r3
+/* 80377120 00372D80 7C 65 1B 78 */ mr r5, r3
+/* 80377124 00372D84 28 00 01 00 */ cmplwi r0, 0x100
+/* 80377128 00372D88 41 80 00 0C */ blt lbl_80377134
+/* 8037712C 00372D8C 38 60 00 00 */ li r3, 0
+/* 80377130 00372D90 48 00 01 88 */ b lbl_803772B8
+lbl_80377134:
+/* 80377134 00372D94 38 61 01 50 */ addi r3, r1, 0x150
+/* 80377138 00372D98 38 9D 00 08 */ addi r4, r29, 8
+/* 8037713C 00372D9C 38 A5 00 01 */ addi r5, r5, 1
+/* 80377140 00372DA0 4B E5 72 51 */ bl func_801CE390
+/* 80377144 00372DA4 7F 64 DB 78 */ mr r4, r27
+/* 80377148 00372DA8 38 61 01 50 */ addi r3, r1, 0x150
+/* 8037714C 00372DAC 38 BC 00 01 */ addi r5, r28, 1
+/* 80377150 00372DB0 4B E5 72 B1 */ bl func_801CE400
+/* 80377154 00372DB4 3B 61 01 50 */ addi r27, r1, 0x150
+lbl_80377158:
+/* 80377158 00372DB8 81 9D 00 00 */ lwz r12, 0(r29)
+/* 8037715C 00372DBC 7F A3 EB 78 */ mr r3, r29
+/* 80377160 00372DC0 7F C4 F3 78 */ mr r4, r30
+/* 80377164 00372DC4 7F E5 FB 78 */ mr r5, r31
+/* 80377168 00372DC8 81 8C 00 1C */ lwz r12, 0x1c(r12)
+/* 8037716C 00372DCC 7F 66 DB 78 */ mr r6, r27
+/* 80377170 00372DD0 38 E0 00 00 */ li r7, 0
+/* 80377174 00372DD4 39 00 00 00 */ li r8, 0
+/* 80377178 00372DD8 7D 89 03 A6 */ mtctr r12
+/* 8037717C 00372DDC 4E 80 04 21 */ bctrl
+/* 80377180 00372DE0 48 00 01 38 */ b lbl_803772B8
+lbl_80377184:
+/* 80377184 00372DE4 80 7D 00 04 */ lwz r3, 4(r29)
+/* 80377188 00372DE8 7F 24 CB 78 */ mr r4, r25
+/* 8037718C 00372DEC 38 C1 00 08 */ addi r6, r1, 8
+/* 80377190 00372DF0 38 A0 00 00 */ li r5, 0
+/* 80377194 00372DF4 48 00 0E 61 */ bl func_80377FF4
+/* 80377198 00372DF8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037719C 00372DFC 40 82 00 0C */ bne lbl_803771A8
+/* 803771A0 00372E00 38 60 00 00 */ li r3, 0
+/* 803771A4 00372E04 48 00 01 14 */ b lbl_803772B8
+lbl_803771A8:
+/* 803771A8 00372E08 80 7D 00 04 */ lwz r3, 4(r29)
+/* 803771AC 00372E0C 38 A1 00 38 */ addi r5, r1, 0x38
+/* 803771B0 00372E10 80 81 00 08 */ lwz r4, 8(r1)
+/* 803771B4 00372E14 48 00 09 B1 */ bl func_80377B64
+/* 803771B8 00372E18 2C 03 00 00 */ cmpwi r3, 0
+/* 803771BC 00372E1C 40 82 00 0C */ bne lbl_803771C8
+/* 803771C0 00372E20 38 60 00 00 */ li r3, 0
+/* 803771C4 00372E24 48 00 00 F4 */ b lbl_803772B8
+lbl_803771C8:
+/* 803771C8 00372E28 80 7D 00 04 */ lwz r3, 4(r29)
+/* 803771CC 00372E2C 38 C1 00 20 */ addi r6, r1, 0x20
+/* 803771D0 00372E30 80 81 00 08 */ lwz r4, 8(r1)
+/* 803771D4 00372E34 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 803771D8 00372E38 48 00 0A 9D */ bl func_80377C74
+/* 803771DC 00372E3C 2C 03 00 00 */ cmpwi r3, 0
+/* 803771E0 00372E40 40 82 00 0C */ bne lbl_803771EC
+/* 803771E4 00372E44 38 60 00 00 */ li r3, 0
+/* 803771E8 00372E48 48 00 00 D0 */ b lbl_803772B8
+lbl_803771EC:
+/* 803771EC 00372E4C 83 61 00 3C */ lwz r27, 0x3c(r1)
+/* 803771F0 00372E50 80 61 00 40 */ lwz r3, 0x40(r1)
+/* 803771F4 00372E54 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803771F8 00372E58 2C 1B 00 00 */ cmpwi r27, 0
+/* 803771FC 00372E5C 83 21 00 28 */ lwz r25, 0x28(r1)
+/* 80377200 00372E60 7F 43 02 14 */ add r26, r3, r0
+/* 80377204 00372E64 41 82 00 90 */ beq lbl_80377294
+/* 80377208 00372E68 88 1B 00 00 */ lbz r0, 0(r27)
+/* 8037720C 00372E6C 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80377210 00372E70 40 82 00 08 */ bne lbl_80377218
+/* 80377214 00372E74 48 00 00 54 */ b lbl_80377268
+lbl_80377218:
+/* 80377218 00372E78 7F 63 DB 78 */ mr r3, r27
+/* 8037721C 00372E7C 4B E4 F9 49 */ bl strlen
+/* 80377220 00372E80 7C 7C 1B 78 */ mr r28, r3
+/* 80377224 00372E84 38 7D 00 08 */ addi r3, r29, 8
+/* 80377228 00372E88 4B E4 F9 3D */ bl strlen
+/* 8037722C 00372E8C 7C 1C 1A 14 */ add r0, r28, r3
+/* 80377230 00372E90 7C 65 1B 78 */ mr r5, r3
+/* 80377234 00372E94 28 00 01 00 */ cmplwi r0, 0x100
+/* 80377238 00372E98 41 80 00 0C */ blt lbl_80377244
+/* 8037723C 00372E9C 38 60 00 00 */ li r3, 0
+/* 80377240 00372EA0 48 00 00 78 */ b lbl_803772B8
+lbl_80377244:
+/* 80377244 00372EA4 38 61 00 50 */ addi r3, r1, 0x50
+/* 80377248 00372EA8 38 9D 00 08 */ addi r4, r29, 8
+/* 8037724C 00372EAC 38 A5 00 01 */ addi r5, r5, 1
+/* 80377250 00372EB0 4B E5 71 41 */ bl func_801CE390
+/* 80377254 00372EB4 7F 64 DB 78 */ mr r4, r27
+/* 80377258 00372EB8 38 61 00 50 */ addi r3, r1, 0x50
+/* 8037725C 00372EBC 38 BC 00 01 */ addi r5, r28, 1
+/* 80377260 00372EC0 4B E5 71 A1 */ bl func_801CE400
+/* 80377264 00372EC4 3B 61 00 50 */ addi r27, r1, 0x50
+lbl_80377268:
+/* 80377268 00372EC8 81 9D 00 00 */ lwz r12, 0(r29)
+/* 8037726C 00372ECC 7F A3 EB 78 */ mr r3, r29
+/* 80377270 00372ED0 7F C4 F3 78 */ mr r4, r30
+/* 80377274 00372ED4 7F E5 FB 78 */ mr r5, r31
+/* 80377278 00372ED8 81 8C 00 1C */ lwz r12, 0x1c(r12)
+/* 8037727C 00372EDC 7F 66 DB 78 */ mr r6, r27
+/* 80377280 00372EE0 7F 47 D3 78 */ mr r7, r26
+/* 80377284 00372EE4 7F 28 CB 78 */ mr r8, r25
+/* 80377288 00372EE8 7D 89 03 A6 */ mtctr r12
+/* 8037728C 00372EEC 4E 80 04 21 */ bctrl
+/* 80377290 00372EF0 48 00 00 28 */ b lbl_803772B8
+lbl_80377294:
+/* 80377294 00372EF4 81 9D 00 00 */ lwz r12, 0(r29)
+/* 80377298 00372EF8 7F A3 EB 78 */ mr r3, r29
+/* 8037729C 00372EFC 7F C4 F3 78 */ mr r4, r30
+/* 803772A0 00372F00 7F E5 FB 78 */ mr r5, r31
+/* 803772A4 00372F04 81 8C 00 18 */ lwz r12, 0x18(r12)
+/* 803772A8 00372F08 7F 46 D3 78 */ mr r6, r26
+/* 803772AC 00372F0C 7F 27 CB 78 */ mr r7, r25
+/* 803772B0 00372F10 7D 89 03 A6 */ mtctr r12
+/* 803772B4 00372F14 4E 80 04 21 */ bctrl
+lbl_803772B8:
+/* 803772B8 00372F18 39 61 02 70 */ addi r11, r1, 0x270
+/* 803772BC 00372F1C 4B E4 FE B1 */ bl func_801C716C
+/* 803772C0 00372F20 80 01 02 74 */ lwz r0, 0x274(r1)
+/* 803772C4 00372F24 7C 08 03 A6 */ mtlr r0
+/* 803772C8 00372F28 38 21 02 70 */ addi r1, r1, 0x270
+/* 803772CC 00372F2C 4E 80 00 20 */ blr
+
+.global detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi
+detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
+/* 803772D0 00372F30 94 21 FE C0 */ stwu r1, -0x140(r1)
+/* 803772D4 00372F34 7C 08 02 A6 */ mflr r0
+/* 803772D8 00372F38 90 01 01 44 */ stw r0, 0x144(r1)
+/* 803772DC 00372F3C 39 61 01 40 */ addi r11, r1, 0x140
+/* 803772E0 00372F40 4B E4 FE 41 */ bl _savegpr_25
+/* 803772E4 00372F44 7C 79 1B 78 */ mr r25, r3
+/* 803772E8 00372F48 80 63 00 04 */ lwz r3, 4(r3)
+/* 803772EC 00372F4C 7C BA 2B 78 */ mr r26, r5
+/* 803772F0 00372F50 7C DB 33 78 */ mr r27, r6
+/* 803772F4 00372F54 38 A1 00 08 */ addi r5, r1, 8
+/* 803772F8 00372F58 48 00 08 6D */ bl func_80377B64
+/* 803772FC 00372F5C 2C 03 00 00 */ cmpwi r3, 0
+/* 80377300 00372F60 40 82 00 0C */ bne lbl_8037730C
+/* 80377304 00372F64 38 60 00 00 */ li r3, 0
+/* 80377308 00372F68 48 00 00 C8 */ b lbl_803773D0
+lbl_8037730C:
+/* 8037730C 00372F6C 83 81 00 0C */ lwz r28, 0xc(r1)
+/* 80377310 00372F70 2C 1C 00 00 */ cmpwi r28, 0
+/* 80377314 00372F74 41 82 00 98 */ beq lbl_803773AC
+/* 80377318 00372F78 88 1C 00 00 */ lbz r0, 0(r28)
+/* 8037731C 00372F7C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377320 00372F80 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80377324 00372F84 83 C1 00 10 */ lwz r30, 0x10(r1)
+/* 80377328 00372F88 40 82 00 08 */ bne lbl_80377330
+/* 8037732C 00372F8C 48 00 00 54 */ b lbl_80377380
+lbl_80377330:
+/* 80377330 00372F90 7F 83 E3 78 */ mr r3, r28
+/* 80377334 00372F94 4B E4 F8 31 */ bl strlen
+/* 80377338 00372F98 7C 7F 1B 78 */ mr r31, r3
+/* 8037733C 00372F9C 38 79 00 08 */ addi r3, r25, 8
+/* 80377340 00372FA0 4B E4 F8 25 */ bl strlen
+/* 80377344 00372FA4 7C 1F 1A 14 */ add r0, r31, r3
+/* 80377348 00372FA8 7C 65 1B 78 */ mr r5, r3
+/* 8037734C 00372FAC 28 00 01 00 */ cmplwi r0, 0x100
+/* 80377350 00372FB0 41 80 00 0C */ blt lbl_8037735C
+/* 80377354 00372FB4 38 60 00 00 */ li r3, 0
+/* 80377358 00372FB8 48 00 00 78 */ b lbl_803773D0
+lbl_8037735C:
+/* 8037735C 00372FBC 38 61 00 20 */ addi r3, r1, 0x20
+/* 80377360 00372FC0 38 99 00 08 */ addi r4, r25, 8
+/* 80377364 00372FC4 38 A5 00 01 */ addi r5, r5, 1
+/* 80377368 00372FC8 4B E5 70 29 */ bl func_801CE390
+/* 8037736C 00372FCC 7F 84 E3 78 */ mr r4, r28
+/* 80377370 00372FD0 38 61 00 20 */ addi r3, r1, 0x20
+/* 80377374 00372FD4 38 BF 00 01 */ addi r5, r31, 1
+/* 80377378 00372FD8 4B E5 70 89 */ bl func_801CE400
+/* 8037737C 00372FDC 3B 81 00 20 */ addi r28, r1, 0x20
+lbl_80377380:
+/* 80377380 00372FE0 81 99 00 00 */ lwz r12, 0(r25)
+/* 80377384 00372FE4 7F 23 CB 78 */ mr r3, r25
+/* 80377388 00372FE8 7F 44 D3 78 */ mr r4, r26
+/* 8037738C 00372FEC 7F 65 DB 78 */ mr r5, r27
+/* 80377390 00372FF0 81 8C 00 1C */ lwz r12, 0x1c(r12)
+/* 80377394 00372FF4 7F 86 E3 78 */ mr r6, r28
+/* 80377398 00372FF8 7F C7 F3 78 */ mr r7, r30
+/* 8037739C 00372FFC 7F A8 EB 78 */ mr r8, r29
+/* 803773A0 00373000 7D 89 03 A6 */ mtctr r12
+/* 803773A4 00373004 4E 80 04 21 */ bctrl
+/* 803773A8 00373008 48 00 00 28 */ b lbl_803773D0
+lbl_803773AC:
+/* 803773AC 0037300C 81 99 00 00 */ lwz r12, 0(r25)
+/* 803773B0 00373010 7F 23 CB 78 */ mr r3, r25
+/* 803773B4 00373014 7F 44 D3 78 */ mr r4, r26
+/* 803773B8 00373018 7F 65 DB 78 */ mr r5, r27
+/* 803773BC 0037301C 81 8C 00 18 */ lwz r12, 0x18(r12)
+/* 803773C0 00373020 80 C1 00 10 */ lwz r6, 0x10(r1)
+/* 803773C4 00373024 80 E1 00 14 */ lwz r7, 0x14(r1)
+/* 803773C8 00373028 7D 89 03 A6 */ mtctr r12
+/* 803773CC 0037302C 4E 80 04 21 */ bctrl
+lbl_803773D0:
+/* 803773D0 00373030 39 61 01 40 */ addi r11, r1, 0x140
+/* 803773D4 00373034 4B E4 FD 99 */ bl func_801C716C
+/* 803773D8 00373038 80 01 01 44 */ lwz r0, 0x144(r1)
+/* 803773DC 0037303C 7C 08 03 A6 */ mtlr r0
+/* 803773E0 00373040 38 21 01 40 */ addi r1, r1, 0x140
+/* 803773E4 00373044 4E 80 00 20 */ blr
+
+.global detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi
+detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
+/* 803773E8 00373048 94 21 FE C0 */ stwu r1, -0x140(r1)
+/* 803773EC 0037304C 7C 08 02 A6 */ mflr r0
+/* 803773F0 00373050 90 01 01 44 */ stw r0, 0x144(r1)
+/* 803773F4 00373054 39 61 01 40 */ addi r11, r1, 0x140
+/* 803773F8 00373058 4B E4 FD 29 */ bl _savegpr_25
+/* 803773FC 0037305C 7C 79 1B 78 */ mr r25, r3
+/* 80377400 00373060 80 63 00 04 */ lwz r3, 4(r3)
+/* 80377404 00373064 7C BA 2B 78 */ mr r26, r5
+/* 80377408 00373068 7C DB 33 78 */ mr r27, r6
+/* 8037740C 0037306C 38 A1 00 08 */ addi r5, r1, 8
+/* 80377410 00373070 48 00 07 55 */ bl func_80377B64
+/* 80377414 00373074 2C 03 00 00 */ cmpwi r3, 0
+/* 80377418 00373078 40 82 00 0C */ bne lbl_80377424
+/* 8037741C 0037307C 38 60 00 00 */ li r3, 0
+/* 80377420 00373080 48 00 00 C8 */ b lbl_803774E8
+lbl_80377424:
+/* 80377424 00373084 83 81 00 0C */ lwz r28, 0xc(r1)
+/* 80377428 00373088 2C 1C 00 00 */ cmpwi r28, 0
+/* 8037742C 0037308C 41 82 00 98 */ beq lbl_803774C4
+/* 80377430 00373090 88 1C 00 00 */ lbz r0, 0(r28)
+/* 80377434 00373094 83 A1 00 1C */ lwz r29, 0x1c(r1)
+/* 80377438 00373098 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 8037743C 0037309C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80377440 003730A0 40 82 00 08 */ bne lbl_80377448
+/* 80377444 003730A4 48 00 00 54 */ b lbl_80377498
+lbl_80377448:
+/* 80377448 003730A8 7F 83 E3 78 */ mr r3, r28
+/* 8037744C 003730AC 4B E4 F7 19 */ bl strlen
+/* 80377450 003730B0 7C 7F 1B 78 */ mr r31, r3
+/* 80377454 003730B4 38 79 00 08 */ addi r3, r25, 8
+/* 80377458 003730B8 4B E4 F7 0D */ bl strlen
+/* 8037745C 003730BC 7C 1F 1A 14 */ add r0, r31, r3
+/* 80377460 003730C0 7C 65 1B 78 */ mr r5, r3
+/* 80377464 003730C4 28 00 01 00 */ cmplwi r0, 0x100
+/* 80377468 003730C8 41 80 00 0C */ blt lbl_80377474
+/* 8037746C 003730CC 38 60 00 00 */ li r3, 0
+/* 80377470 003730D0 48 00 00 78 */ b lbl_803774E8
+lbl_80377474:
+/* 80377474 003730D4 38 61 00 20 */ addi r3, r1, 0x20
+/* 80377478 003730D8 38 99 00 08 */ addi r4, r25, 8
+/* 8037747C 003730DC 38 A5 00 01 */ addi r5, r5, 1
+/* 80377480 003730E0 4B E5 6F 11 */ bl func_801CE390
+/* 80377484 003730E4 7F 84 E3 78 */ mr r4, r28
+/* 80377488 003730E8 38 61 00 20 */ addi r3, r1, 0x20
+/* 8037748C 003730EC 38 BF 00 01 */ addi r5, r31, 1
+/* 80377490 003730F0 4B E5 6F 71 */ bl func_801CE400
+/* 80377494 003730F4 3B 81 00 20 */ addi r28, r1, 0x20
+lbl_80377498:
+/* 80377498 003730F8 81 99 00 00 */ lwz r12, 0(r25)
+/* 8037749C 003730FC 7F 23 CB 78 */ mr r3, r25
+/* 803774A0 00373100 7F 44 D3 78 */ mr r4, r26
+/* 803774A4 00373104 7F 65 DB 78 */ mr r5, r27
+/* 803774A8 00373108 81 8C 00 1C */ lwz r12, 0x1c(r12)
+/* 803774AC 0037310C 7F 86 E3 78 */ mr r6, r28
+/* 803774B0 00373110 7F C7 F3 78 */ mr r7, r30
+/* 803774B4 00373114 7F A8 EB 78 */ mr r8, r29
+/* 803774B8 00373118 7D 89 03 A6 */ mtctr r12
+/* 803774BC 0037311C 4E 80 04 21 */ bctrl
+/* 803774C0 00373120 48 00 00 28 */ b lbl_803774E8
+lbl_803774C4:
+/* 803774C4 00373124 81 99 00 00 */ lwz r12, 0(r25)
+/* 803774C8 00373128 7F 23 CB 78 */ mr r3, r25
+/* 803774CC 0037312C 7F 44 D3 78 */ mr r4, r26
+/* 803774D0 00373130 7F 65 DB 78 */ mr r5, r27
+/* 803774D4 00373134 81 8C 00 18 */ lwz r12, 0x18(r12)
+/* 803774D8 00373138 80 C1 00 18 */ lwz r6, 0x18(r1)
+/* 803774DC 0037313C 80 E1 00 1C */ lwz r7, 0x1c(r1)
+/* 803774E0 00373140 7D 89 03 A6 */ mtctr r12
+/* 803774E4 00373144 4E 80 04 21 */ bctrl
+lbl_803774E8:
+/* 803774E8 00373148 39 61 01 40 */ addi r11, r1, 0x140
+/* 803774EC 0037314C 4B E4 FC 81 */ bl func_801C716C
+/* 803774F0 00373150 80 01 01 44 */ lwz r0, 0x144(r1)
+/* 803774F4 00373154 7C 08 03 A6 */ mtlr r0
+/* 803774F8 00373158 38 21 01 40 */ addi r1, r1, 0x140
+/* 803774FC 0037315C 4E 80 00 20 */ blr
+
+.global SetExternalFileRoot__Q34nw4r3snd12SoundArchiveFPCc
+SetExternalFileRoot__Q34nw4r3snd12SoundArchiveFPCc:
+/* 80377500 00373160 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80377504 00373164 7C 08 02 A6 */ mflr r0
+/* 80377508 00373168 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037750C 0037316C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80377510 00373170 7C 9F 23 78 */ mr r31, r4
+/* 80377514 00373174 93 C1 00 08 */ stw r30, 8(r1)
+/* 80377518 00373178 7C 7E 1B 78 */ mr r30, r3
+/* 8037751C 0037317C 7F E3 FB 78 */ mr r3, r31
+/* 80377520 00373180 4B E4 F6 45 */ bl strlen
+/* 80377524 00373184 7C 9F 1A 14 */ add r4, r31, r3
+/* 80377528 00373188 88 04 FF FF */ lbz r0, -1(r4)
+/* 8037752C 0037318C 7C 64 1B 78 */ mr r4, r3
+/* 80377530 00373190 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80377534 00373194 41 82 00 14 */ beq lbl_80377548
+/* 80377538 00373198 7C 9E 1A 14 */ add r4, r30, r3
+/* 8037753C 0037319C 38 00 00 2F */ li r0, 0x2f
+/* 80377540 003731A0 98 04 00 08 */ stb r0, 8(r4)
+/* 80377544 003731A4 38 83 00 01 */ addi r4, r3, 1
+lbl_80377548:
+/* 80377548 003731A8 7C 9E 22 14 */ add r4, r30, r4
+/* 8037754C 003731AC 38 00 00 00 */ li r0, 0
+/* 80377550 003731B0 98 04 00 08 */ stb r0, 8(r4)
+/* 80377554 003731B4 7C 65 1B 78 */ mr r5, r3
+/* 80377558 003731B8 7F E4 FB 78 */ mr r4, r31
+/* 8037755C 003731BC 38 7E 00 08 */ addi r3, r30, 8
+/* 80377560 003731C0 4B E5 6E 31 */ bl func_801CE390
+/* 80377564 003731C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80377568 003731C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037756C 003731CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80377570 003731D0 7C 08 03 A6 */ mtlr r0
+/* 80377574 003731D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80377578 003731D8 4E 80 00 20 */ blr
|