summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-09-25 19:33:53 -0400
committerMax <mparisi@stevens.edu>2020-09-25 19:33:53 -0400
commit8b600c23d0582dbfe299734dd0cac53c49ac155f (patch)
tree26a7675b30135186b7ba55e5fd902896a2b394fd
parentf29369f0c821618a517aba172ca444b29cda98c4 (diff)
split snd_SoundArchiveFile.s
-rw-r--r--asm/nw4r/snd/detail/snd_SoundArchive.s (renamed from asm/nw4r/snd/snd_SoundArchive.s)44
-rw-r--r--asm/nw4r/snd/detail/snd_SoundArchiveFile.s1041
-rw-r--r--asm/nw4r/snd/snd_DvdSoundArchive.s6
-rw-r--r--asm/text_10_6.s1038
-rw-r--r--obj_files.mk3
5 files changed, 1068 insertions, 1064 deletions
diff --git a/asm/nw4r/snd/snd_SoundArchive.s b/asm/nw4r/snd/detail/snd_SoundArchive.s
index 0920938..c1a20ee 100644
--- a/asm/nw4r/snd/snd_SoundArchive.s
+++ b/asm/nw4r/snd/detail/snd_SoundArchive.s
@@ -59,84 +59,84 @@ Shutdown__Q34nw4r3snd12SoundArchiveFv:
.global func_80377024
func_80377024:
/* 80377024 00372C84 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377028 00372C88 48 00 0E 08 */ b lbl_80377E30
+/* 80377028 00372C88 48 00 0E 08 */ b GetSoundCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
.global func_8037702C
func_8037702C:
/* 8037702C 00372C8C 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377030 00372C90 48 00 0E 40 */ b lbl_80377E70
+/* 80377030 00372C90 48 00 0E 40 */ b GetPlayerCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
.global func_80377034
func_80377034:
/* 80377034 00372C94 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377038 00372C98 48 00 0E 78 */ b lbl_80377EB0
+/* 80377038 00372C98 48 00 0E 78 */ b GetGroupCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
.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
+/* 80377048 00372CA8 48 00 10 CC */ b ConvertLabelStringToId__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPCQ54nw4r3snd6detail16SoundArchiveFile10StringTreePCc
.global func_8037704C
func_8037704C:
/* 8037704C 00372CAC 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377050 00372CB0 48 00 06 0C */ b lbl_8037765C
+/* 80377050 00372CB0 48 00 06 0C */ b GetSoundType__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
.global func_80377054
func_80377054:
/* 80377054 00372CB4 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377058 00372CB8 48 00 06 F4 */ b lbl_8037774C
+/* 80377058 00372CB8 48 00 06 F4 */ b ReadSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9SoundInfo
.global func_8037705C
func_8037705C:
/* 8037705C 00372CBC 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377060 00372CC0 48 00 08 0C */ b lbl_8037786C
+/* 80377060 00372CC0 48 00 08 0C */ b ReadSeqSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive12SeqSoundInfo
.global func_80377064
func_80377064:
/* 80377064 00372CC4 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377068 00372CC8 48 00 08 B0 */ b lbl_80377918
+/* 80377068 00372CC8 48 00 08 B0 */ b ReadStrmSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13StrmSoundInfo
.global func_8037706C
func_8037706C:
/* 8037706C 00372CCC 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377070 00372CD0 48 00 08 F4 */ b lbl_80377964
+/* 80377070 00372CD0 48 00 08 F4 */ b ReadWaveSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13WaveSoundInfo
.global func_80377074
func_80377074:
/* 80377074 00372CD4 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377078 00372CD8 48 00 0A 34 */ b lbl_80377AAC
+/* 80377078 00372CD8 48 00 0A 34 */ b ReadPlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive10PlayerInfo
.global func_8037707C
func_8037707C:
/* 8037707C 00372CDC 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377080 00372CE0 48 00 0D 2C */ b lbl_80377DAC
+/* 80377080 00372CE0 48 00 0D 2C */ b ReadSoundArchivePlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPQ44nw4r3snd12SoundArchive22SoundArchivePlayerInfo
.global func_80377084
func_80377084:
/* 80377084 00372CE4 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377088 00372CE8 48 00 09 78 */ b lbl_80377A00
+/* 80377088 00372CE8 48 00 09 78 */ b ReadBankInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8BankInfo
.global func_8037708C
func_8037708C:
/* 8037708C 00372CEC 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377090 00372CF0 48 00 0A D4 */ b func_80377B64
+/* 80377090 00372CF0 48 00 0A D4 */ b ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
.global func_80377094
func_80377094:
/* 80377094 00372CF4 80 63 00 04 */ lwz r3, 4(r3)
-/* 80377098 00372CF8 48 00 0B DC */ b func_80377C74
+/* 80377098 00372CF8 48 00 0B DC */ b ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo
.global func_8037709C
func_8037709C:
/* 8037709C 00372CFC 80 63 00 04 */ lwz r3, 4(r3)
-/* 803770A0 00372D00 48 00 0E 54 */ b func_80377EF4
+/* 803770A0 00372D00 48 00 0E 54 */ b ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo
.global func_803770A4
func_803770A4:
/* 803770A4 00372D04 80 63 00 04 */ lwz r3, 4(r3)
-/* 803770A8 00372D08 48 00 0F 4C */ b func_80377FF4
+/* 803770A8 00372D08 48 00 0F 4C */ b ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos
.global detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi
detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
@@ -151,7 +151,7 @@ detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
/* 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
+/* 803770D8 00372D38 48 00 0E 1D */ bl ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo
/* 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
@@ -203,7 +203,7 @@ lbl_80377184:
/* 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
+/* 80377194 00372DF4 48 00 0E 61 */ bl ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos
/* 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
@@ -212,7 +212,7 @@ 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
+/* 803771B4 00372E14 48 00 09 B1 */ bl ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
/* 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
@@ -222,7 +222,7 @@ lbl_803771C8:
/* 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
+/* 803771D8 00372E38 48 00 0A 9D */ bl ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo
/* 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
@@ -303,7 +303,7 @@ detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
/* 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
+/* 803772F8 00372F58 48 00 08 6D */ bl ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
/* 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
@@ -382,7 +382,7 @@ detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
/* 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
+/* 80377410 00373070 48 00 07 55 */ bl ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
/* 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
diff --git a/asm/nw4r/snd/detail/snd_SoundArchiveFile.s b/asm/nw4r/snd/detail/snd_SoundArchiveFile.s
new file mode 100644
index 0000000..e55648c
--- /dev/null
+++ b/asm/nw4r/snd/detail/snd_SoundArchiveFile.s
@@ -0,0 +1,1041 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail22SoundArchiveFileReaderFv
+__ct__Q44nw4r3snd6detail22SoundArchiveFileReaderFv:
+/* 8037757C 003731DC 38 00 00 00 */ li r0, 0
+/* 80377580 003731E0 90 03 00 28 */ stw r0, 0x28(r3)
+/* 80377584 003731E4 90 03 00 2C */ stw r0, 0x2c(r3)
+/* 80377588 003731E8 90 03 00 30 */ stw r0, 0x30(r3)
+/* 8037758C 003731EC 90 03 00 34 */ stw r0, 0x34(r3)
+/* 80377590 003731F0 90 03 00 38 */ stw r0, 0x38(r3)
+/* 80377594 003731F4 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80377598 003731F8 90 03 00 40 */ stw r0, 0x40(r3)
+/* 8037759C 003731FC 4E 80 00 20 */ blr
+
+.global Init__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCv
+Init__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCv:
+/* 803775A0 00373200 80 A4 00 00 */ lwz r5, 0(r4)
+/* 803775A4 00373204 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803775A8 00373208 3C 05 AD AD */ addis r0, r5, 0xadad
+/* 803775AC 0037320C 28 00 41 52 */ cmplwi r0, 0x4152
+/* 803775B0 00373210 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803775B4 00373214 41 82 00 0C */ beq lbl_803775C0
+/* 803775B8 00373218 38 00 00 00 */ li r0, 0
+/* 803775BC 0037321C 48 00 00 30 */ b lbl_803775EC
+lbl_803775C0:
+/* 803775C0 00373220 A0 C4 00 06 */ lhz r6, 6(r4)
+/* 803775C4 00373224 28 06 01 00 */ cmplwi r6, 0x100
+/* 803775C8 00373228 40 80 00 0C */ bge lbl_803775D4
+/* 803775CC 0037322C 38 00 00 00 */ li r0, 0
+/* 803775D0 00373230 48 00 00 1C */ b lbl_803775EC
+lbl_803775D4:
+/* 803775D4 00373234 20 06 01 03 */ subfic r0, r6, 0x103
+/* 803775D8 00373238 38 A0 01 03 */ li r5, 0x103
+/* 803775DC 0037323C 7C A5 33 38 */ orc r5, r5, r6
+/* 803775E0 00373240 54 00 F8 7E */ srwi r0, r0, 1
+/* 803775E4 00373244 7C 00 28 50 */ subf r0, r0, r5
+/* 803775E8 00373248 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_803775EC:
+/* 803775EC 0037324C 2C 00 00 00 */ cmpwi r0, 0
+/* 803775F0 00373250 41 82 00 54 */ beq lbl_80377644
+/* 803775F4 00373254 83 E4 00 00 */ lwz r31, 0(r4)
+/* 803775F8 00373258 81 84 00 04 */ lwz r12, 4(r4)
+/* 803775FC 0037325C 81 64 00 08 */ lwz r11, 8(r4)
+/* 80377600 00373260 81 44 00 0C */ lwz r10, 0xc(r4)
+/* 80377604 00373264 81 24 00 10 */ lwz r9, 0x10(r4)
+/* 80377608 00373268 81 04 00 14 */ lwz r8, 0x14(r4)
+/* 8037760C 0037326C 80 E4 00 18 */ lwz r7, 0x18(r4)
+/* 80377610 00373270 80 C4 00 1C */ lwz r6, 0x1c(r4)
+/* 80377614 00373274 80 A4 00 20 */ lwz r5, 0x20(r4)
+/* 80377618 00373278 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8037761C 0037327C 93 E3 00 00 */ stw r31, 0(r3)
+/* 80377620 00373280 91 83 00 04 */ stw r12, 4(r3)
+/* 80377624 00373284 91 63 00 08 */ stw r11, 8(r3)
+/* 80377628 00373288 91 43 00 0C */ stw r10, 0xc(r3)
+/* 8037762C 0037328C 91 23 00 10 */ stw r9, 0x10(r3)
+/* 80377630 00373290 91 03 00 14 */ stw r8, 0x14(r3)
+/* 80377634 00373294 90 E3 00 18 */ stw r7, 0x18(r3)
+/* 80377638 00373298 90 C3 00 1C */ stw r6, 0x1c(r3)
+/* 8037763C 0037329C 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 80377640 003732A0 90 03 00 24 */ stw r0, 0x24(r3)
+lbl_80377644:
+/* 80377644 003732A4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80377648 003732A8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037764C 003732AC 4E 80 00 20 */ blr
+
+.global SetInfoChunk__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCvUl
+SetInfoChunk__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCvUl:
+/* 80377650 003732B0 38 04 00 08 */ addi r0, r4, 8
+/* 80377654 003732B4 90 03 00 28 */ stw r0, 0x28(r3)
+/* 80377658 003732B8 4E 80 00 20 */ blr
+
+.global GetSoundType__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
+GetSoundType__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl:
+/* 8037765C 003732BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80377660 003732C0 7C 08 02 A6 */ mflr r0
+/* 80377664 003732C4 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80377668 003732C8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037766C 003732CC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80377670 003732D0 7C 9F 23 78 */ mr r31, r4
+/* 80377674 003732D4 93 C1 00 08 */ stw r30, 8(r1)
+/* 80377678 003732D8 7C 7E 1B 78 */ mr r30, r3
+/* 8037767C 003732DC 88 65 00 00 */ lbz r3, 0(r5)
+/* 80377680 003732E0 80 85 00 04 */ lwz r4, 4(r5)
+/* 80377684 003732E4 48 00 BD 65 */ bl func_803833E8
+/* 80377688 003732E8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037768C 003732EC 40 82 00 0C */ bne lbl_80377698
+/* 80377690 003732F0 38 60 00 00 */ li r3, 0
+/* 80377694 003732F4 48 00 00 A0 */ b lbl_80377734
+lbl_80377698:
+/* 80377698 003732F8 80 03 00 00 */ lwz r0, 0(r3)
+/* 8037769C 003732FC 7C 1F 00 40 */ cmplw r31, r0
+/* 803776A0 00373300 41 80 00 0C */ blt lbl_803776AC
+/* 803776A4 00373304 38 60 00 00 */ li r3, 0
+/* 803776A8 00373308 48 00 00 8C */ b lbl_80377734
+lbl_803776AC:
+/* 803776AC 0037330C A0 1E 00 06 */ lhz r0, 6(r30)
+/* 803776B0 00373310 28 00 01 01 */ cmplwi r0, 0x101
+/* 803776B4 00373314 41 80 00 34 */ blt lbl_803776E8
+/* 803776B8 00373318 57 E0 18 38 */ slwi r0, r31, 3
+/* 803776BC 0037331C 80 BE 00 28 */ lwz r5, 0x28(r30)
+/* 803776C0 00373320 7C 83 02 14 */ add r4, r3, r0
+/* 803776C4 00373324 88 64 00 04 */ lbz r3, 4(r4)
+/* 803776C8 00373328 80 84 00 08 */ lwz r4, 8(r4)
+/* 803776CC 0037332C 48 00 BD 1D */ bl func_803833E8
+/* 803776D0 00373330 2C 03 00 00 */ cmpwi r3, 0
+/* 803776D4 00373334 40 82 00 0C */ bne lbl_803776E0
+/* 803776D8 00373338 38 60 00 00 */ li r3, 0
+/* 803776DC 0037333C 48 00 00 58 */ b lbl_80377734
+lbl_803776E0:
+/* 803776E0 00373340 88 03 00 16 */ lbz r0, 0x16(r3)
+/* 803776E4 00373344 48 00 00 10 */ b lbl_803776F4
+lbl_803776E8:
+/* 803776E8 00373348 57 E0 18 38 */ slwi r0, r31, 3
+/* 803776EC 0037334C 7C 63 02 14 */ add r3, r3, r0
+/* 803776F0 00373350 88 03 00 05 */ lbz r0, 5(r3)
+lbl_803776F4:
+/* 803776F4 00373354 2C 00 00 02 */ cmpwi r0, 2
+/* 803776F8 00373358 41 82 00 28 */ beq lbl_80377720
+/* 803776FC 0037335C 40 80 00 10 */ bge lbl_8037770C
+/* 80377700 00373360 2C 00 00 01 */ cmpwi r0, 1
+/* 80377704 00373364 40 80 00 14 */ bge lbl_80377718
+/* 80377708 00373368 48 00 00 28 */ b lbl_80377730
+lbl_8037770C:
+/* 8037770C 0037336C 2C 00 00 04 */ cmpwi r0, 4
+/* 80377710 00373370 40 80 00 20 */ bge lbl_80377730
+/* 80377714 00373374 48 00 00 14 */ b lbl_80377728
+lbl_80377718:
+/* 80377718 00373378 38 60 00 01 */ li r3, 1
+/* 8037771C 0037337C 48 00 00 18 */ b lbl_80377734
+lbl_80377720:
+/* 80377720 00373380 38 60 00 02 */ li r3, 2
+/* 80377724 00373384 48 00 00 10 */ b lbl_80377734
+lbl_80377728:
+/* 80377728 00373388 38 60 00 03 */ li r3, 3
+/* 8037772C 0037338C 48 00 00 08 */ b lbl_80377734
+lbl_80377730:
+/* 80377730 00373390 38 60 00 00 */ li r3, 0
+lbl_80377734:
+/* 80377734 00373394 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80377738 00373398 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037773C 0037339C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80377740 003733A0 7C 08 03 A6 */ mtlr r0
+/* 80377744 003733A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80377748 003733A8 4E 80 00 20 */ blr
+
+.global ReadSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9SoundInfo
+ReadSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9SoundInfo:
+/* 8037774C 003733AC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377750 003733B0 7C 08 02 A6 */ mflr r0
+/* 80377754 003733B4 80 C3 00 28 */ lwz r6, 0x28(r3)
+/* 80377758 003733B8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037775C 003733BC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377760 003733C0 7C BF 2B 78 */ mr r31, r5
+/* 80377764 003733C4 7C C5 33 78 */ mr r5, r6
+/* 80377768 003733C8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037776C 003733CC 7C 9E 23 78 */ mr r30, r4
+/* 80377770 003733D0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80377774 003733D4 7C 7D 1B 78 */ mr r29, r3
+/* 80377778 003733D8 88 66 00 00 */ lbz r3, 0(r6)
+/* 8037777C 003733DC 80 86 00 04 */ lwz r4, 4(r6)
+/* 80377780 003733E0 48 00 BC 69 */ bl func_803833E8
+/* 80377784 003733E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80377788 003733E8 40 82 00 0C */ bne lbl_80377794
+/* 8037778C 003733EC 38 60 00 00 */ li r3, 0
+/* 80377790 003733F0 48 00 00 54 */ b lbl_803777E4
+lbl_80377794:
+/* 80377794 003733F4 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377798 003733F8 7C 1E 00 40 */ cmplw r30, r0
+/* 8037779C 003733FC 41 80 00 0C */ blt lbl_803777A8
+/* 803777A0 00373400 38 60 00 00 */ li r3, 0
+/* 803777A4 00373404 48 00 00 40 */ b lbl_803777E4
+lbl_803777A8:
+/* 803777A8 00373408 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 803777AC 0037340C 28 00 01 01 */ cmplwi r0, 0x101
+/* 803777B0 00373410 41 80 00 20 */ blt lbl_803777D0
+/* 803777B4 00373414 57 C0 18 38 */ slwi r0, r30, 3
+/* 803777B8 00373418 80 BD 00 28 */ lwz r5, 0x28(r29)
+/* 803777BC 0037341C 7C 83 02 14 */ add r4, r3, r0
+/* 803777C0 00373420 88 64 00 04 */ lbz r3, 4(r4)
+/* 803777C4 00373424 80 84 00 08 */ lwz r4, 8(r4)
+/* 803777C8 00373428 48 00 BC 21 */ bl func_803833E8
+/* 803777CC 0037342C 48 00 00 18 */ b lbl_803777E4
+lbl_803777D0:
+/* 803777D0 00373430 57 C4 18 38 */ slwi r4, r30, 3
+/* 803777D4 00373434 80 1D 00 28 */ lwz r0, 0x28(r29)
+/* 803777D8 00373438 7C 63 22 14 */ add r3, r3, r4
+/* 803777DC 0037343C 80 63 00 08 */ lwz r3, 8(r3)
+/* 803777E0 00373440 7C 63 02 14 */ add r3, r3, r0
+lbl_803777E4:
+/* 803777E4 00373444 2C 03 00 00 */ cmpwi r3, 0
+/* 803777E8 00373448 40 82 00 0C */ bne lbl_803777F4
+/* 803777EC 0037344C 38 60 00 00 */ li r3, 0
+/* 803777F0 00373450 48 00 00 60 */ b lbl_80377850
+lbl_803777F4:
+/* 803777F4 00373454 80 83 00 04 */ lwz r4, 4(r3)
+/* 803777F8 00373458 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 803777FC 0037345C 90 9F 00 00 */ stw r4, 0(r31)
+/* 80377800 00373460 28 00 01 02 */ cmplwi r0, 0x102
+/* 80377804 00373464 80 03 00 08 */ lwz r0, 8(r3)
+/* 80377808 00373468 90 1F 00 04 */ stw r0, 4(r31)
+/* 8037780C 0037346C 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 80377810 00373470 90 1F 00 08 */ stw r0, 8(r31)
+/* 80377814 00373474 88 03 00 14 */ lbz r0, 0x14(r3)
+/* 80377818 00373478 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8037781C 0037347C 88 03 00 17 */ lbz r0, 0x17(r3)
+/* 80377820 00373480 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80377824 00373484 41 80 00 18 */ blt lbl_8037783C
+/* 80377828 00373488 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 8037782C 0037348C 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 80377830 00373490 88 03 00 29 */ lbz r0, 0x29(r3)
+/* 80377834 00373494 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 80377838 00373498 48 00 00 14 */ b lbl_8037784C
+lbl_8037783C:
+/* 8037783C 0037349C 38 60 00 01 */ li r3, 1
+/* 80377840 003734A0 38 00 00 00 */ li r0, 0
+/* 80377844 003734A4 90 7F 00 14 */ stw r3, 0x14(r31)
+/* 80377848 003734A8 90 1F 00 18 */ stw r0, 0x18(r31)
+lbl_8037784C:
+/* 8037784C 003734AC 38 60 00 01 */ li r3, 1
+lbl_80377850:
+/* 80377850 003734B0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377854 003734B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377858 003734B8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8037785C 003734BC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377860 003734C0 7C 08 03 A6 */ mtlr r0
+/* 80377864 003734C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377868 003734C8 4E 80 00 20 */ blr
+
+.global ReadSeqSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive12SeqSoundInfo
+ReadSeqSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive12SeqSoundInfo:
+/* 8037786C 003734CC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377870 003734D0 7C 08 02 A6 */ mflr r0
+/* 80377874 003734D4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377878 003734D8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8037787C 003734DC 7C BF 2B 78 */ mr r31, r5
+/* 80377880 003734E0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80377884 003734E4 7C 7E 1B 78 */ mr r30, r3
+/* 80377888 003734E8 48 00 09 D5 */ bl impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
+/* 8037788C 003734EC 90 61 00 08 */ stw r3, 8(r1)
+/* 80377890 003734F0 80 BE 00 28 */ lwz r5, 0x28(r30)
+/* 80377894 003734F4 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80377898 003734F8 88 61 00 08 */ lbz r3, 8(r1)
+/* 8037789C 003734FC 48 00 BB 4D */ bl func_803833E8
+/* 803778A0 00373500 2C 03 00 00 */ cmpwi r3, 0
+/* 803778A4 00373504 40 82 00 0C */ bne lbl_803778B0
+/* 803778A8 00373508 38 60 00 00 */ li r3, 0
+/* 803778AC 0037350C 48 00 00 54 */ b lbl_80377900
+lbl_803778B0:
+/* 803778B0 00373510 80 83 00 00 */ lwz r4, 0(r3)
+/* 803778B4 00373514 A0 1E 00 06 */ lhz r0, 6(r30)
+/* 803778B8 00373518 90 9F 00 00 */ stw r4, 0(r31)
+/* 803778BC 0037351C 28 00 01 03 */ cmplwi r0, 0x103
+/* 803778C0 00373520 80 03 00 04 */ lwz r0, 4(r3)
+/* 803778C4 00373524 90 1F 00 04 */ stw r0, 4(r31)
+/* 803778C8 00373528 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 803778CC 0037352C 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 803778D0 00373530 80 03 00 08 */ lwz r0, 8(r3)
+/* 803778D4 00373534 90 1F 00 08 */ stw r0, 8(r31)
+/* 803778D8 00373538 41 80 00 1C */ blt lbl_803778F4
+/* 803778DC 0037353C 88 63 00 0D */ lbz r3, 0xd(r3)
+/* 803778E0 00373540 7C 03 00 D0 */ neg r0, r3
+/* 803778E4 00373544 7C 00 1B 78 */ or r0, r0, r3
+/* 803778E8 00373548 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 803778EC 0037354C 98 1F 00 10 */ stb r0, 0x10(r31)
+/* 803778F0 00373550 48 00 00 0C */ b lbl_803778FC
+lbl_803778F4:
+/* 803778F4 00373554 38 00 00 00 */ li r0, 0
+/* 803778F8 00373558 98 1F 00 10 */ stb r0, 0x10(r31)
+lbl_803778FC:
+/* 803778FC 0037355C 38 60 00 01 */ li r3, 1
+lbl_80377900:
+/* 80377900 00373560 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377904 00373564 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377908 00373568 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8037790C 0037356C 7C 08 03 A6 */ mtlr r0
+/* 80377910 00373570 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377914 00373574 4E 80 00 20 */ blr
+
+.global ReadStrmSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13StrmSoundInfo
+ReadStrmSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13StrmSoundInfo:
+/* 80377918 00373578 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8037791C 0037357C 7C 08 02 A6 */ mflr r0
+/* 80377920 00373580 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377924 00373584 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377928 00373588 7C 7F 1B 78 */ mr r31, r3
+/* 8037792C 0037358C 48 00 09 31 */ bl impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
+/* 80377930 00373590 90 61 00 08 */ stw r3, 8(r1)
+/* 80377934 00373594 80 BF 00 28 */ lwz r5, 0x28(r31)
+/* 80377938 00373598 90 81 00 0C */ stw r4, 0xc(r1)
+/* 8037793C 0037359C 88 61 00 08 */ lbz r3, 8(r1)
+/* 80377940 003735A0 48 00 BA A9 */ bl func_803833E8
+/* 80377944 003735A4 7C 03 00 D0 */ neg r0, r3
+/* 80377948 003735A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8037794C 003735AC 7C 00 1B 78 */ or r0, r0, r3
+/* 80377950 003735B0 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80377954 003735B4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377958 003735B8 7C 08 03 A6 */ mtlr r0
+/* 8037795C 003735BC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377960 003735C0 4E 80 00 20 */ blr
+
+.global ReadWaveSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13WaveSoundInfo
+ReadWaveSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13WaveSoundInfo:
+/* 80377964 003735C4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377968 003735C8 7C 08 02 A6 */ mflr r0
+/* 8037796C 003735CC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377970 003735D0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377974 003735D4 7C BF 2B 78 */ mr r31, r5
+/* 80377978 003735D8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037797C 003735DC 7C 7E 1B 78 */ mr r30, r3
+/* 80377980 003735E0 48 00 08 DD */ bl impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
+/* 80377984 003735E4 90 61 00 08 */ stw r3, 8(r1)
+/* 80377988 003735E8 80 BE 00 28 */ lwz r5, 0x28(r30)
+/* 8037798C 003735EC 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80377990 003735F0 88 61 00 08 */ lbz r3, 8(r1)
+/* 80377994 003735F4 48 00 BA 55 */ bl func_803833E8
+/* 80377998 003735F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037799C 003735FC 40 82 00 0C */ bne lbl_803779A8
+/* 803779A0 00373600 38 60 00 00 */ li r3, 0
+/* 803779A4 00373604 48 00 00 44 */ b lbl_803779E8
+lbl_803779A8:
+/* 803779A8 00373608 80 83 00 00 */ lwz r4, 0(r3)
+/* 803779AC 0037360C A0 1E 00 06 */ lhz r0, 6(r30)
+/* 803779B0 00373610 90 9F 00 00 */ stw r4, 0(r31)
+/* 803779B4 00373614 28 00 01 03 */ cmplwi r0, 0x103
+/* 803779B8 00373618 88 03 00 08 */ lbz r0, 8(r3)
+/* 803779BC 0037361C 90 1F 00 04 */ stw r0, 4(r31)
+/* 803779C0 00373620 41 80 00 1C */ blt lbl_803779DC
+/* 803779C4 00373624 88 63 00 09 */ lbz r3, 9(r3)
+/* 803779C8 00373628 7C 03 00 D0 */ neg r0, r3
+/* 803779CC 0037362C 7C 00 1B 78 */ or r0, r0, r3
+/* 803779D0 00373630 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 803779D4 00373634 98 1F 00 08 */ stb r0, 8(r31)
+/* 803779D8 00373638 48 00 00 0C */ b lbl_803779E4
+lbl_803779DC:
+/* 803779DC 0037363C 38 00 00 00 */ li r0, 0
+/* 803779E0 00373640 98 1F 00 08 */ stb r0, 8(r31)
+lbl_803779E4:
+/* 803779E4 00373644 38 60 00 01 */ li r3, 1
+lbl_803779E8:
+/* 803779E8 00373648 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803779EC 0037364C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803779F0 00373650 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803779F4 00373654 7C 08 03 A6 */ mtlr r0
+/* 803779F8 00373658 38 21 00 20 */ addi r1, r1, 0x20
+/* 803779FC 0037365C 4E 80 00 20 */ blr
+
+.global ReadBankInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8BankInfo
+ReadBankInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8BankInfo:
+/* 80377A00 00373660 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377A04 00373664 7C 08 02 A6 */ mflr r0
+/* 80377A08 00373668 80 C3 00 28 */ lwz r6, 0x28(r3)
+/* 80377A0C 0037366C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377A10 00373670 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377A14 00373674 7C BF 2B 78 */ mr r31, r5
+/* 80377A18 00373678 7C C5 33 78 */ mr r5, r6
+/* 80377A1C 0037367C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80377A20 00373680 7C 9E 23 78 */ mr r30, r4
+/* 80377A24 00373684 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80377A28 00373688 7C 7D 1B 78 */ mr r29, r3
+/* 80377A2C 0037368C 88 66 00 08 */ lbz r3, 8(r6)
+/* 80377A30 00373690 80 86 00 0C */ lwz r4, 0xc(r6)
+/* 80377A34 00373694 48 00 B9 B5 */ bl func_803833E8
+/* 80377A38 00373698 2C 03 00 00 */ cmpwi r3, 0
+/* 80377A3C 0037369C 40 82 00 0C */ bne lbl_80377A48
+/* 80377A40 003736A0 38 60 00 00 */ li r3, 0
+/* 80377A44 003736A4 48 00 00 30 */ b lbl_80377A74
+lbl_80377A48:
+/* 80377A48 003736A8 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377A4C 003736AC 7C 1E 00 40 */ cmplw r30, r0
+/* 80377A50 003736B0 41 80 00 0C */ blt lbl_80377A5C
+/* 80377A54 003736B4 38 60 00 00 */ li r3, 0
+/* 80377A58 003736B8 48 00 00 1C */ b lbl_80377A74
+lbl_80377A5C:
+/* 80377A5C 003736BC 57 C0 18 38 */ slwi r0, r30, 3
+/* 80377A60 003736C0 80 BD 00 28 */ lwz r5, 0x28(r29)
+/* 80377A64 003736C4 7C 83 02 14 */ add r4, r3, r0
+/* 80377A68 003736C8 88 64 00 04 */ lbz r3, 4(r4)
+/* 80377A6C 003736CC 80 84 00 08 */ lwz r4, 8(r4)
+/* 80377A70 003736D0 48 00 B9 79 */ bl func_803833E8
+lbl_80377A74:
+/* 80377A74 003736D4 2C 03 00 00 */ cmpwi r3, 0
+/* 80377A78 003736D8 40 82 00 0C */ bne lbl_80377A84
+/* 80377A7C 003736DC 38 60 00 00 */ li r3, 0
+/* 80377A80 003736E0 48 00 00 10 */ b lbl_80377A90
+lbl_80377A84:
+/* 80377A84 003736E4 80 03 00 04 */ lwz r0, 4(r3)
+/* 80377A88 003736E8 38 60 00 01 */ li r3, 1
+/* 80377A8C 003736EC 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80377A90:
+/* 80377A90 003736F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377A94 003736F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377A98 003736F8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80377A9C 003736FC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377AA0 00373700 7C 08 03 A6 */ mtlr r0
+/* 80377AA4 00373704 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377AA8 00373708 4E 80 00 20 */ blr
+
+.global ReadPlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive10PlayerInfo
+ReadPlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive10PlayerInfo:
+/* 80377AAC 0037370C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377AB0 00373710 7C 08 02 A6 */ mflr r0
+/* 80377AB4 00373714 80 C3 00 28 */ lwz r6, 0x28(r3)
+/* 80377AB8 00373718 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377ABC 0037371C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377AC0 00373720 7C BF 2B 78 */ mr r31, r5
+/* 80377AC4 00373724 7C C5 33 78 */ mr r5, r6
+/* 80377AC8 00373728 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80377ACC 0037372C 7C 9E 23 78 */ mr r30, r4
+/* 80377AD0 00373730 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80377AD4 00373734 7C 7D 1B 78 */ mr r29, r3
+/* 80377AD8 00373738 88 66 00 10 */ lbz r3, 0x10(r6)
+/* 80377ADC 0037373C 80 86 00 14 */ lwz r4, 0x14(r6)
+/* 80377AE0 00373740 48 00 B9 09 */ bl func_803833E8
+/* 80377AE4 00373744 2C 03 00 00 */ cmpwi r3, 0
+/* 80377AE8 00373748 40 82 00 0C */ bne lbl_80377AF4
+/* 80377AEC 0037374C 38 80 00 00 */ li r4, 0
+/* 80377AF0 00373750 48 00 00 34 */ b lbl_80377B24
+lbl_80377AF4:
+/* 80377AF4 00373754 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377AF8 00373758 7C 1E 00 40 */ cmplw r30, r0
+/* 80377AFC 0037375C 41 80 00 0C */ blt lbl_80377B08
+/* 80377B00 00373760 38 80 00 00 */ li r4, 0
+/* 80377B04 00373764 48 00 00 20 */ b lbl_80377B24
+lbl_80377B08:
+/* 80377B08 00373768 57 C0 18 38 */ slwi r0, r30, 3
+/* 80377B0C 0037376C 80 BD 00 28 */ lwz r5, 0x28(r29)
+/* 80377B10 00373770 7C 83 02 14 */ add r4, r3, r0
+/* 80377B14 00373774 88 64 00 04 */ lbz r3, 4(r4)
+/* 80377B18 00373778 80 84 00 08 */ lwz r4, 8(r4)
+/* 80377B1C 0037377C 48 00 B8 CD */ bl func_803833E8
+/* 80377B20 00373780 7C 64 1B 78 */ mr r4, r3
+lbl_80377B24:
+/* 80377B24 00373784 2C 04 00 00 */ cmpwi r4, 0
+/* 80377B28 00373788 40 82 00 0C */ bne lbl_80377B34
+/* 80377B2C 0037378C 38 60 00 00 */ li r3, 0
+/* 80377B30 00373790 48 00 00 18 */ b lbl_80377B48
+lbl_80377B34:
+/* 80377B34 00373794 88 04 00 04 */ lbz r0, 4(r4)
+/* 80377B38 00373798 38 60 00 01 */ li r3, 1
+/* 80377B3C 0037379C 90 1F 00 00 */ stw r0, 0(r31)
+/* 80377B40 003737A0 80 04 00 08 */ lwz r0, 8(r4)
+/* 80377B44 003737A4 90 1F 00 04 */ stw r0, 4(r31)
+lbl_80377B48:
+/* 80377B48 003737A8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377B4C 003737AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377B50 003737B0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80377B54 003737B4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377B58 003737B8 7C 08 03 A6 */ mtlr r0
+/* 80377B5C 003737BC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377B60 003737C0 4E 80 00 20 */ blr
+
+.global ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
+ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo:
+/* 80377B64 003737C4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377B68 003737C8 7C 08 02 A6 */ mflr r0
+/* 80377B6C 003737CC 80 C3 00 28 */ lwz r6, 0x28(r3)
+/* 80377B70 003737D0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377B74 003737D4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377B78 003737D8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80377B7C 003737DC 7C 9E 23 78 */ mr r30, r4
+/* 80377B80 003737E0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80377B84 003737E4 7C BD 2B 78 */ mr r29, r5
+/* 80377B88 003737E8 7C C5 33 78 */ mr r5, r6
+/* 80377B8C 003737EC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80377B90 003737F0 7C 7C 1B 78 */ mr r28, r3
+/* 80377B94 003737F4 88 66 00 20 */ lbz r3, 0x20(r6)
+/* 80377B98 003737F8 80 86 00 24 */ lwz r4, 0x24(r6)
+/* 80377B9C 003737FC 48 00 B8 4D */ bl func_803833E8
+/* 80377BA0 00373800 2C 03 00 00 */ cmpwi r3, 0
+/* 80377BA4 00373804 40 82 00 0C */ bne lbl_80377BB0
+/* 80377BA8 00373808 3B C0 00 00 */ li r30, 0
+/* 80377BAC 0037380C 48 00 00 34 */ b lbl_80377BE0
+lbl_80377BB0:
+/* 80377BB0 00373810 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377BB4 00373814 7C 1E 00 40 */ cmplw r30, r0
+/* 80377BB8 00373818 41 80 00 0C */ blt lbl_80377BC4
+/* 80377BBC 0037381C 3B C0 00 00 */ li r30, 0
+/* 80377BC0 00373820 48 00 00 20 */ b lbl_80377BE0
+lbl_80377BC4:
+/* 80377BC4 00373824 57 C0 18 38 */ slwi r0, r30, 3
+/* 80377BC8 00373828 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377BCC 0037382C 7C 83 02 14 */ add r4, r3, r0
+/* 80377BD0 00373830 88 64 00 04 */ lbz r3, 4(r4)
+/* 80377BD4 00373834 80 84 00 08 */ lwz r4, 8(r4)
+/* 80377BD8 00373838 48 00 B8 11 */ bl func_803833E8
+/* 80377BDC 0037383C 7C 7E 1B 78 */ mr r30, r3
+lbl_80377BE0:
+/* 80377BE0 00373840 2C 1E 00 00 */ cmpwi r30, 0
+/* 80377BE4 00373844 40 82 00 0C */ bne lbl_80377BF0
+/* 80377BE8 00373848 38 60 00 00 */ li r3, 0
+/* 80377BEC 0037384C 48 00 00 68 */ b lbl_80377C54
+lbl_80377BF0:
+/* 80377BF0 00373850 88 7E 00 20 */ lbz r3, 0x20(r30)
+/* 80377BF4 00373854 80 9E 00 24 */ lwz r4, 0x24(r30)
+/* 80377BF8 00373858 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377BFC 0037385C 48 00 B7 ED */ bl func_803833E8
+/* 80377C00 00373860 2C 03 00 00 */ cmpwi r3, 0
+/* 80377C04 00373864 7C 7F 1B 78 */ mr r31, r3
+/* 80377C08 00373868 40 82 00 0C */ bne lbl_80377C14
+/* 80377C0C 0037386C 38 60 00 00 */ li r3, 0
+/* 80377C10 00373870 48 00 00 44 */ b lbl_80377C54
+lbl_80377C14:
+/* 80377C14 00373874 88 7E 00 08 */ lbz r3, 8(r30)
+/* 80377C18 00373878 80 9E 00 0C */ lwz r4, 0xc(r30)
+/* 80377C1C 0037387C 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377C20 00373880 48 00 B7 C9 */ bl func_803833E8
+/* 80377C24 00373884 90 7D 00 04 */ stw r3, 4(r29)
+/* 80377C28 00373888 38 60 00 01 */ li r3, 1
+/* 80377C2C 0037388C 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80377C30 00373890 90 1D 00 08 */ stw r0, 8(r29)
+/* 80377C34 00373894 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 80377C38 00373898 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 80377C3C 0037389C 80 1E 00 18 */ lwz r0, 0x18(r30)
+/* 80377C40 003738A0 90 1D 00 10 */ stw r0, 0x10(r29)
+/* 80377C44 003738A4 80 1E 00 1C */ lwz r0, 0x1c(r30)
+/* 80377C48 003738A8 90 1D 00 14 */ stw r0, 0x14(r29)
+/* 80377C4C 003738AC 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80377C50 003738B0 90 1D 00 00 */ stw r0, 0(r29)
+lbl_80377C54:
+/* 80377C54 003738B4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377C58 003738B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377C5C 003738BC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80377C60 003738C0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377C64 003738C4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80377C68 003738C8 7C 08 03 A6 */ mtlr r0
+/* 80377C6C 003738CC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377C70 003738D0 4E 80 00 20 */ blr
+
+.global ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo
+ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo:
+/* 80377C74 003738D4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377C78 003738D8 7C 08 02 A6 */ mflr r0
+/* 80377C7C 003738DC 80 E3 00 28 */ lwz r7, 0x28(r3)
+/* 80377C80 003738E0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377C84 003738E4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377C88 003738E8 7C DF 33 78 */ mr r31, r6
+/* 80377C8C 003738EC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80377C90 003738F0 7C BE 2B 78 */ mr r30, r5
+/* 80377C94 003738F4 7C E5 3B 78 */ mr r5, r7
+/* 80377C98 003738F8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80377C9C 003738FC 7C 9D 23 78 */ mr r29, r4
+/* 80377CA0 00373900 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80377CA4 00373904 7C 7C 1B 78 */ mr r28, r3
+/* 80377CA8 00373908 88 67 00 20 */ lbz r3, 0x20(r7)
+/* 80377CAC 0037390C 80 87 00 24 */ lwz r4, 0x24(r7)
+/* 80377CB0 00373910 48 00 B7 39 */ bl func_803833E8
+/* 80377CB4 00373914 2C 03 00 00 */ cmpwi r3, 0
+/* 80377CB8 00373918 40 82 00 0C */ bne lbl_80377CC4
+/* 80377CBC 0037391C 38 80 00 00 */ li r4, 0
+/* 80377CC0 00373920 48 00 00 34 */ b lbl_80377CF4
+lbl_80377CC4:
+/* 80377CC4 00373924 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377CC8 00373928 7C 1D 00 40 */ cmplw r29, r0
+/* 80377CCC 0037392C 41 80 00 0C */ blt lbl_80377CD8
+/* 80377CD0 00373930 38 80 00 00 */ li r4, 0
+/* 80377CD4 00373934 48 00 00 20 */ b lbl_80377CF4
+lbl_80377CD8:
+/* 80377CD8 00373938 57 A0 18 38 */ slwi r0, r29, 3
+/* 80377CDC 0037393C 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377CE0 00373940 7C 83 02 14 */ add r4, r3, r0
+/* 80377CE4 00373944 88 64 00 04 */ lbz r3, 4(r4)
+/* 80377CE8 00373948 80 84 00 08 */ lwz r4, 8(r4)
+/* 80377CEC 0037394C 48 00 B6 FD */ bl func_803833E8
+/* 80377CF0 00373950 7C 64 1B 78 */ mr r4, r3
+lbl_80377CF4:
+/* 80377CF4 00373954 2C 04 00 00 */ cmpwi r4, 0
+/* 80377CF8 00373958 40 82 00 0C */ bne lbl_80377D04
+/* 80377CFC 0037395C 38 60 00 00 */ li r3, 0
+/* 80377D00 00373960 48 00 00 8C */ b lbl_80377D8C
+lbl_80377D04:
+/* 80377D04 00373964 88 64 00 20 */ lbz r3, 0x20(r4)
+/* 80377D08 00373968 80 84 00 24 */ lwz r4, 0x24(r4)
+/* 80377D0C 0037396C 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377D10 00373970 48 00 B6 D9 */ bl func_803833E8
+/* 80377D14 00373974 2C 03 00 00 */ cmpwi r3, 0
+/* 80377D18 00373978 40 82 00 0C */ bne lbl_80377D24
+/* 80377D1C 0037397C 38 60 00 00 */ li r3, 0
+/* 80377D20 00373980 48 00 00 6C */ b lbl_80377D8C
+lbl_80377D24:
+/* 80377D24 00373984 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377D28 00373988 7C 1E 00 40 */ cmplw r30, r0
+/* 80377D2C 0037398C 41 80 00 0C */ blt lbl_80377D38
+/* 80377D30 00373990 38 60 00 00 */ li r3, 0
+/* 80377D34 00373994 48 00 00 58 */ b lbl_80377D8C
+lbl_80377D38:
+/* 80377D38 00373998 57 C0 18 38 */ slwi r0, r30, 3
+/* 80377D3C 0037399C 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377D40 003739A0 7C 83 02 14 */ add r4, r3, r0
+/* 80377D44 003739A4 88 64 00 04 */ lbz r3, 4(r4)
+/* 80377D48 003739A8 80 84 00 08 */ lwz r4, 8(r4)
+/* 80377D4C 003739AC 48 00 B6 9D */ bl func_803833E8
+/* 80377D50 003739B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80377D54 003739B4 40 82 00 0C */ bne lbl_80377D60
+/* 80377D58 003739B8 38 60 00 00 */ li r3, 0
+/* 80377D5C 003739BC 48 00 00 30 */ b lbl_80377D8C
+lbl_80377D60:
+/* 80377D60 003739C0 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377D64 003739C4 90 1F 00 00 */ stw r0, 0(r31)
+/* 80377D68 003739C8 80 03 00 04 */ lwz r0, 4(r3)
+/* 80377D6C 003739CC 90 1F 00 04 */ stw r0, 4(r31)
+/* 80377D70 003739D0 80 03 00 08 */ lwz r0, 8(r3)
+/* 80377D74 003739D4 90 1F 00 08 */ stw r0, 8(r31)
+/* 80377D78 003739D8 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80377D7C 003739DC 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80377D80 003739E0 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80377D84 003739E4 38 60 00 01 */ li r3, 1
+/* 80377D88 003739E8 90 1F 00 10 */ stw r0, 0x10(r31)
+lbl_80377D8C:
+/* 80377D8C 003739EC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377D90 003739F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377D94 003739F4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80377D98 003739F8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377D9C 003739FC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80377DA0 00373A00 7C 08 03 A6 */ mtlr r0
+/* 80377DA4 00373A04 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377DA8 00373A08 4E 80 00 20 */ blr
+
+.global ReadSoundArchivePlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPQ44nw4r3snd12SoundArchive22SoundArchivePlayerInfo
+ReadSoundArchivePlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPQ44nw4r3snd12SoundArchive22SoundArchivePlayerInfo:
+/* 80377DAC 00373A0C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80377DB0 00373A10 7C 08 02 A6 */ mflr r0
+/* 80377DB4 00373A14 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80377DB8 00373A18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80377DBC 00373A1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80377DC0 00373A20 7C 9F 23 78 */ mr r31, r4
+/* 80377DC4 00373A24 88 65 00 28 */ lbz r3, 0x28(r5)
+/* 80377DC8 00373A28 80 85 00 2C */ lwz r4, 0x2c(r5)
+/* 80377DCC 00373A2C 48 00 B6 1D */ bl func_803833E8
+/* 80377DD0 00373A30 2C 1F 00 00 */ cmpwi r31, 0
+/* 80377DD4 00373A34 40 82 00 0C */ bne lbl_80377DE0
+/* 80377DD8 00373A38 38 60 00 00 */ li r3, 0
+/* 80377DDC 00373A3C 48 00 00 40 */ b lbl_80377E1C
+lbl_80377DE0:
+/* 80377DE0 00373A40 A0 03 00 00 */ lhz r0, 0(r3)
+/* 80377DE4 00373A44 90 1F 00 00 */ stw r0, 0(r31)
+/* 80377DE8 00373A48 A0 03 00 02 */ lhz r0, 2(r3)
+/* 80377DEC 00373A4C 90 1F 00 04 */ stw r0, 4(r31)
+/* 80377DF0 00373A50 A0 03 00 04 */ lhz r0, 4(r3)
+/* 80377DF4 00373A54 90 1F 00 08 */ stw r0, 8(r31)
+/* 80377DF8 00373A58 A0 03 00 06 */ lhz r0, 6(r3)
+/* 80377DFC 00373A5C 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80377E00 00373A60 A0 03 00 08 */ lhz r0, 8(r3)
+/* 80377E04 00373A64 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80377E08 00373A68 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80377E0C 00373A6C 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 80377E10 00373A70 A0 03 00 0C */ lhz r0, 0xc(r3)
+/* 80377E14 00373A74 38 60 00 01 */ li r3, 1
+/* 80377E18 00373A78 90 1F 00 18 */ stw r0, 0x18(r31)
+lbl_80377E1C:
+/* 80377E1C 00373A7C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80377E20 00373A80 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80377E24 00373A84 7C 08 03 A6 */ mtlr r0
+/* 80377E28 00373A88 38 21 00 10 */ addi r1, r1, 0x10
+/* 80377E2C 00373A8C 4E 80 00 20 */ blr
+
+.global GetSoundCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
+GetSoundCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv:
+/* 80377E30 00373A90 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80377E34 00373A94 7C 08 02 A6 */ mflr r0
+/* 80377E38 00373A98 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80377E3C 00373A9C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80377E40 00373AA0 88 65 00 00 */ lbz r3, 0(r5)
+/* 80377E44 00373AA4 80 85 00 04 */ lwz r4, 4(r5)
+/* 80377E48 00373AA8 48 00 B5 A1 */ bl func_803833E8
+/* 80377E4C 00373AAC 2C 03 00 00 */ cmpwi r3, 0
+/* 80377E50 00373AB0 40 82 00 0C */ bne lbl_80377E5C
+/* 80377E54 00373AB4 38 60 00 00 */ li r3, 0
+/* 80377E58 00373AB8 48 00 00 08 */ b lbl_80377E60
+lbl_80377E5C:
+/* 80377E5C 00373ABC 80 63 00 00 */ lwz r3, 0(r3)
+lbl_80377E60:
+/* 80377E60 00373AC0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80377E64 00373AC4 7C 08 03 A6 */ mtlr r0
+/* 80377E68 00373AC8 38 21 00 10 */ addi r1, r1, 0x10
+/* 80377E6C 00373ACC 4E 80 00 20 */ blr
+
+.global GetPlayerCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
+GetPlayerCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv:
+/* 80377E70 00373AD0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80377E74 00373AD4 7C 08 02 A6 */ mflr r0
+/* 80377E78 00373AD8 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80377E7C 00373ADC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80377E80 00373AE0 88 65 00 10 */ lbz r3, 0x10(r5)
+/* 80377E84 00373AE4 80 85 00 14 */ lwz r4, 0x14(r5)
+/* 80377E88 00373AE8 48 00 B5 61 */ bl func_803833E8
+/* 80377E8C 00373AEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80377E90 00373AF0 40 82 00 0C */ bne lbl_80377E9C
+/* 80377E94 00373AF4 38 60 00 00 */ li r3, 0
+/* 80377E98 00373AF8 48 00 00 08 */ b lbl_80377EA0
+lbl_80377E9C:
+/* 80377E9C 00373AFC 80 63 00 00 */ lwz r3, 0(r3)
+lbl_80377EA0:
+/* 80377EA0 00373B00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80377EA4 00373B04 7C 08 03 A6 */ mtlr r0
+/* 80377EA8 00373B08 38 21 00 10 */ addi r1, r1, 0x10
+/* 80377EAC 00373B0C 4E 80 00 20 */ blr
+
+.global GetGroupCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
+GetGroupCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv:
+/* 80377EB0 00373B10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80377EB4 00373B14 7C 08 02 A6 */ mflr r0
+/* 80377EB8 00373B18 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80377EBC 00373B1C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80377EC0 00373B20 88 65 00 20 */ lbz r3, 0x20(r5)
+/* 80377EC4 00373B24 80 85 00 24 */ lwz r4, 0x24(r5)
+/* 80377EC8 00373B28 48 00 B5 21 */ bl func_803833E8
+/* 80377ECC 00373B2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80377ED0 00373B30 40 82 00 0C */ bne lbl_80377EDC
+/* 80377ED4 00373B34 38 60 00 00 */ li r3, 0
+/* 80377ED8 00373B38 48 00 00 0C */ b lbl_80377EE4
+lbl_80377EDC:
+/* 80377EDC 00373B3C 80 63 00 00 */ lwz r3, 0(r3)
+/* 80377EE0 00373B40 38 63 FF FF */ addi r3, r3, -1
+lbl_80377EE4:
+/* 80377EE4 00373B44 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80377EE8 00373B48 7C 08 03 A6 */ mtlr r0
+/* 80377EEC 00373B4C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80377EF0 00373B50 4E 80 00 20 */ blr
+
+.global ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo
+ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo:
+/* 80377EF4 00373B54 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377EF8 00373B58 7C 08 02 A6 */ mflr r0
+/* 80377EFC 00373B5C 80 C3 00 28 */ lwz r6, 0x28(r3)
+/* 80377F00 00373B60 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80377F04 00373B64 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80377F08 00373B68 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80377F0C 00373B6C 7C 9E 23 78 */ mr r30, r4
+/* 80377F10 00373B70 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80377F14 00373B74 7C BD 2B 78 */ mr r29, r5
+/* 80377F18 00373B78 7C C5 33 78 */ mr r5, r6
+/* 80377F1C 00373B7C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80377F20 00373B80 7C 7C 1B 78 */ mr r28, r3
+/* 80377F24 00373B84 88 66 00 18 */ lbz r3, 0x18(r6)
+/* 80377F28 00373B88 80 86 00 1C */ lwz r4, 0x1c(r6)
+/* 80377F2C 00373B8C 48 00 B4 BD */ bl func_803833E8
+/* 80377F30 00373B90 2C 03 00 00 */ cmpwi r3, 0
+/* 80377F34 00373B94 40 82 00 0C */ bne lbl_80377F40
+/* 80377F38 00373B98 38 60 00 00 */ li r3, 0
+/* 80377F3C 00373B9C 48 00 00 98 */ b lbl_80377FD4
+lbl_80377F40:
+/* 80377F40 00373BA0 80 03 00 00 */ lwz r0, 0(r3)
+/* 80377F44 00373BA4 7C 1E 00 40 */ cmplw r30, r0
+/* 80377F48 00373BA8 41 80 00 0C */ blt lbl_80377F54
+/* 80377F4C 00373BAC 38 60 00 00 */ li r3, 0
+/* 80377F50 00373BB0 48 00 00 84 */ b lbl_80377FD4
+lbl_80377F54:
+/* 80377F54 00373BB4 57 C0 18 38 */ slwi r0, r30, 3
+/* 80377F58 00373BB8 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377F5C 00373BBC 7C 83 02 14 */ add r4, r3, r0
+/* 80377F60 00373BC0 88 64 00 04 */ lbz r3, 4(r4)
+/* 80377F64 00373BC4 80 84 00 08 */ lwz r4, 8(r4)
+/* 80377F68 00373BC8 48 00 B4 81 */ bl func_803833E8
+/* 80377F6C 00373BCC 2C 03 00 00 */ cmpwi r3, 0
+/* 80377F70 00373BD0 7C 7E 1B 78 */ mr r30, r3
+/* 80377F74 00373BD4 40 82 00 0C */ bne lbl_80377F80
+/* 80377F78 00373BD8 38 60 00 00 */ li r3, 0
+/* 80377F7C 00373BDC 48 00 00 58 */ b lbl_80377FD4
+lbl_80377F80:
+/* 80377F80 00373BE0 88 63 00 14 */ lbz r3, 0x14(r3)
+/* 80377F84 00373BE4 80 9E 00 18 */ lwz r4, 0x18(r30)
+/* 80377F88 00373BE8 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377F8C 00373BEC 48 00 B4 5D */ bl func_803833E8
+/* 80377F90 00373BF0 2C 03 00 00 */ cmpwi r3, 0
+/* 80377F94 00373BF4 7C 7F 1B 78 */ mr r31, r3
+/* 80377F98 00373BF8 40 82 00 0C */ bne lbl_80377FA4
+/* 80377F9C 00373BFC 38 60 00 00 */ li r3, 0
+/* 80377FA0 00373C00 48 00 00 34 */ b lbl_80377FD4
+lbl_80377FA4:
+/* 80377FA4 00373C04 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80377FA8 00373C08 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80377FAC 00373C0C 90 1D 00 00 */ stw r0, 0(r29)
+/* 80377FB0 00373C10 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80377FB4 00373C14 90 1D 00 04 */ stw r0, 4(r29)
+/* 80377FB8 00373C18 88 7E 00 0C */ lbz r3, 0xc(r30)
+/* 80377FBC 00373C1C 80 9E 00 10 */ lwz r4, 0x10(r30)
+/* 80377FC0 00373C20 48 00 B4 29 */ bl func_803833E8
+/* 80377FC4 00373C24 90 7D 00 08 */ stw r3, 8(r29)
+/* 80377FC8 00373C28 38 60 00 01 */ li r3, 1
+/* 80377FCC 00373C2C 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80377FD0 00373C30 90 1D 00 0C */ stw r0, 0xc(r29)
+lbl_80377FD4:
+/* 80377FD4 00373C34 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80377FD8 00373C38 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80377FDC 00373C3C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80377FE0 00373C40 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80377FE4 00373C44 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80377FE8 00373C48 7C 08 03 A6 */ mtlr r0
+/* 80377FEC 00373C4C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80377FF0 00373C50 4E 80 00 20 */ blr
+
+.global ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos
+ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos:
+/* 80377FF4 00373C54 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80377FF8 00373C58 7C 08 02 A6 */ mflr r0
+/* 80377FFC 00373C5C 80 E3 00 28 */ lwz r7, 0x28(r3)
+/* 80378000 00373C60 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80378004 00373C64 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80378008 00373C68 7C DF 33 78 */ mr r31, r6
+/* 8037800C 00373C6C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80378010 00373C70 7C BE 2B 78 */ mr r30, r5
+/* 80378014 00373C74 7C E5 3B 78 */ mr r5, r7
+/* 80378018 00373C78 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8037801C 00373C7C 7C 9D 23 78 */ mr r29, r4
+/* 80378020 00373C80 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80378024 00373C84 7C 7C 1B 78 */ mr r28, r3
+/* 80378028 00373C88 88 67 00 18 */ lbz r3, 0x18(r7)
+/* 8037802C 00373C8C 80 87 00 1C */ lwz r4, 0x1c(r7)
+/* 80378030 00373C90 48 00 B3 B9 */ bl func_803833E8
+/* 80378034 00373C94 2C 03 00 00 */ cmpwi r3, 0
+/* 80378038 00373C98 40 82 00 0C */ bne lbl_80378044
+/* 8037803C 00373C9C 38 60 00 00 */ li r3, 0
+/* 80378040 00373CA0 48 00 00 B4 */ b lbl_803780F4
+lbl_80378044:
+/* 80378044 00373CA4 80 03 00 00 */ lwz r0, 0(r3)
+/* 80378048 00373CA8 7C 1D 00 40 */ cmplw r29, r0
+/* 8037804C 00373CAC 41 80 00 0C */ blt lbl_80378058
+/* 80378050 00373CB0 38 60 00 00 */ li r3, 0
+/* 80378054 00373CB4 48 00 00 A0 */ b lbl_803780F4
+lbl_80378058:
+/* 80378058 00373CB8 57 A0 18 38 */ slwi r0, r29, 3
+/* 8037805C 00373CBC 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80378060 00373CC0 7C 83 02 14 */ add r4, r3, r0
+/* 80378064 00373CC4 88 64 00 04 */ lbz r3, 4(r4)
+/* 80378068 00373CC8 80 84 00 08 */ lwz r4, 8(r4)
+/* 8037806C 00373CCC 48 00 B3 7D */ bl func_803833E8
+/* 80378070 00373CD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80378074 00373CD4 7C 64 1B 78 */ mr r4, r3
+/* 80378078 00373CD8 40 82 00 0C */ bne lbl_80378084
+/* 8037807C 00373CDC 38 60 00 00 */ li r3, 0
+/* 80378080 00373CE0 48 00 00 74 */ b lbl_803780F4
+lbl_80378084:
+/* 80378084 00373CE4 88 63 00 14 */ lbz r3, 0x14(r3)
+/* 80378088 00373CE8 80 84 00 18 */ lwz r4, 0x18(r4)
+/* 8037808C 00373CEC 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 80378090 00373CF0 48 00 B3 59 */ bl func_803833E8
+/* 80378094 00373CF4 2C 03 00 00 */ cmpwi r3, 0
+/* 80378098 00373CF8 40 82 00 0C */ bne lbl_803780A4
+/* 8037809C 00373CFC 38 60 00 00 */ li r3, 0
+/* 803780A0 00373D00 48 00 00 54 */ b lbl_803780F4
+lbl_803780A4:
+/* 803780A4 00373D04 80 03 00 00 */ lwz r0, 0(r3)
+/* 803780A8 00373D08 7C 1E 00 40 */ cmplw r30, r0
+/* 803780AC 00373D0C 41 80 00 0C */ blt lbl_803780B8
+/* 803780B0 00373D10 38 60 00 00 */ li r3, 0
+/* 803780B4 00373D14 48 00 00 40 */ b lbl_803780F4
+lbl_803780B8:
+/* 803780B8 00373D18 57 C0 18 38 */ slwi r0, r30, 3
+/* 803780BC 00373D1C 80 BC 00 28 */ lwz r5, 0x28(r28)
+/* 803780C0 00373D20 7C 83 02 14 */ add r4, r3, r0
+/* 803780C4 00373D24 88 64 00 04 */ lbz r3, 4(r4)
+/* 803780C8 00373D28 80 84 00 08 */ lwz r4, 8(r4)
+/* 803780CC 00373D2C 48 00 B3 1D */ bl func_803833E8
+/* 803780D0 00373D30 2C 03 00 00 */ cmpwi r3, 0
+/* 803780D4 00373D34 40 82 00 0C */ bne lbl_803780E0
+/* 803780D8 00373D38 38 60 00 00 */ li r3, 0
+/* 803780DC 00373D3C 48 00 00 18 */ b lbl_803780F4
+lbl_803780E0:
+/* 803780E0 00373D40 80 03 00 00 */ lwz r0, 0(r3)
+/* 803780E4 00373D44 90 1F 00 00 */ stw r0, 0(r31)
+/* 803780E8 00373D48 80 03 00 04 */ lwz r0, 4(r3)
+/* 803780EC 00373D4C 38 60 00 01 */ li r3, 1
+/* 803780F0 00373D50 90 1F 00 04 */ stw r0, 4(r31)
+lbl_803780F4:
+/* 803780F4 00373D54 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803780F8 00373D58 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803780FC 00373D5C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80378100 00373D60 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80378104 00373D64 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80378108 00373D68 7C 08 03 A6 */ mtlr r0
+/* 8037810C 00373D6C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80378110 00373D70 4E 80 00 20 */ blr
+
+.global ConvertLabelStringToId__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPCQ54nw4r3snd6detail16SoundArchiveFile10StringTreePCc
+ConvertLabelStringToId__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPCQ54nw4r3snd6detail16SoundArchiveFile10StringTreePCc:
+/* 80378114 00373D74 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80378118 00373D78 7C 08 02 A6 */ mflr r0
+/* 8037811C 00373D7C 2C 04 00 00 */ cmpwi r4, 0
+/* 80378120 00373D80 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80378124 00373D84 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80378128 00373D88 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037812C 00373D8C 7C BE 2B 78 */ mr r30, r5
+/* 80378130 00373D90 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80378134 00373D94 7C 9D 23 78 */ mr r29, r4
+/* 80378138 00373D98 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8037813C 00373D9C 7C 7C 1B 78 */ mr r28, r3
+/* 80378140 00373DA0 40 82 00 0C */ bne lbl_8037814C
+/* 80378144 00373DA4 38 60 FF FF */ li r3, -1
+/* 80378148 00373DA8 48 00 00 F4 */ b lbl_8037823C
+lbl_8037814C:
+/* 8037814C 00373DAC 80 64 00 00 */ lwz r3, 0(r4)
+/* 80378150 00373DB0 80 04 00 04 */ lwz r0, 4(r4)
+/* 80378154 00373DB4 7C 03 00 40 */ cmplw r3, r0
+/* 80378158 00373DB8 41 80 00 0C */ blt lbl_80378164
+/* 8037815C 00373DBC 38 60 FF FF */ li r3, -1
+/* 80378160 00373DC0 48 00 00 DC */ b lbl_8037823C
+lbl_80378164:
+/* 80378164 00373DC4 1C 03 00 14 */ mulli r0, r3, 0x14
+/* 80378168 00373DC8 7F C3 F3 78 */ mr r3, r30
+/* 8037816C 00373DCC 7C 84 02 14 */ add r4, r4, r0
+/* 80378170 00373DD0 3B E4 00 08 */ addi r31, r4, 8
+/* 80378174 00373DD4 4B E4 E9 F1 */ bl strlen
+/* 80378178 00373DD8 38 A0 00 01 */ li r5, 1
+/* 8037817C 00373DDC 48 00 00 48 */ b lbl_803781C4
+lbl_80378180:
+/* 80378180 00373DE0 A0 1F 00 02 */ lhz r0, 2(r31)
+/* 80378184 00373DE4 7C 04 1E 70 */ srawi r4, r0, 3
+/* 80378188 00373DE8 54 06 07 7E */ clrlwi r6, r0, 0x1d
+/* 8037818C 00373DEC 7C 04 18 00 */ cmpw r4, r3
+/* 80378190 00373DF0 40 80 00 24 */ bge lbl_803781B4
+/* 80378194 00373DF4 7C 1E 20 AE */ lbzx r0, r30, r4
+/* 80378198 00373DF8 20 86 00 07 */ subfic r4, r6, 7
+/* 8037819C 00373DFC 7C A4 20 30 */ slw r4, r5, r4
+/* 803781A0 00373E00 7C 00 07 74 */ extsb r0, r0
+/* 803781A4 00373E04 7C 80 00 39 */ and. r0, r4, r0
+/* 803781A8 00373E08 41 82 00 0C */ beq lbl_803781B4
+/* 803781AC 00373E0C 80 1F 00 08 */ lwz r0, 8(r31)
+/* 803781B0 00373E10 48 00 00 08 */ b lbl_803781B8
+lbl_803781B4:
+/* 803781B4 00373E14 80 1F 00 04 */ lwz r0, 4(r31)
+lbl_803781B8:
+/* 803781B8 00373E18 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 803781BC 00373E1C 7C 9D 02 14 */ add r4, r29, r0
+/* 803781C0 00373E20 3B E4 00 08 */ addi r31, r4, 8
+lbl_803781C4:
+/* 803781C4 00373E24 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 803781C8 00373E28 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 803781CC 00373E2C 41 82 FF B4 */ beq lbl_80378180
+/* 803781D0 00373E30 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 803781D4 00373E34 3C 03 00 01 */ addis r0, r3, 1
+/* 803781D8 00373E38 28 00 FF FF */ cmplwi r0, 0xffff
+/* 803781DC 00373E3C 40 82 00 0C */ bne lbl_803781E8
+/* 803781E0 00373E40 38 80 00 00 */ li r4, 0
+/* 803781E4 00373E44 48 00 00 3C */ b lbl_80378220
+lbl_803781E8:
+/* 803781E8 00373E48 80 BC 00 30 */ lwz r5, 0x30(r28)
+/* 803781EC 00373E4C 2C 05 00 00 */ cmpwi r5, 0
+/* 803781F0 00373E50 40 82 00 0C */ bne lbl_803781FC
+/* 803781F4 00373E54 38 80 00 00 */ li r4, 0
+/* 803781F8 00373E58 48 00 00 28 */ b lbl_80378220
+lbl_803781FC:
+/* 803781FC 00373E5C 54 60 10 3A */ slwi r0, r3, 2
+/* 80378200 00373E60 80 9C 00 2C */ lwz r4, 0x2c(r28)
+/* 80378204 00373E64 7C 65 02 14 */ add r3, r5, r0
+/* 80378208 00373E68 80 03 00 04 */ lwz r0, 4(r3)
+/* 8037820C 00373E6C 2C 00 00 00 */ cmpwi r0, 0
+/* 80378210 00373E70 40 82 00 0C */ bne lbl_8037821C
+/* 80378214 00373E74 38 80 00 00 */ li r4, 0
+/* 80378218 00373E78 48 00 00 08 */ b lbl_80378220
+lbl_8037821C:
+/* 8037821C 00373E7C 7C 80 22 14 */ add r4, r0, r4
+lbl_80378220:
+/* 80378220 00373E80 7F C3 F3 78 */ mr r3, r30
+/* 80378224 00373E84 4B E5 62 29 */ bl func_801CE44C
+/* 80378228 00373E88 2C 03 00 00 */ cmpwi r3, 0
+/* 8037822C 00373E8C 40 82 00 0C */ bne lbl_80378238
+/* 80378230 00373E90 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 80378234 00373E94 48 00 00 08 */ b lbl_8037823C
+lbl_80378238:
+/* 80378238 00373E98 38 60 FF FF */ li r3, -1
+lbl_8037823C:
+/* 8037823C 00373E9C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80378240 00373EA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80378244 00373EA4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80378248 00373EA8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8037824C 00373EAC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80378250 00373EB0 7C 08 03 A6 */ mtlr r0
+/* 80378254 00373EB4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80378258 00373EB8 4E 80 00 20 */ blr
+
+.global impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
+impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl:
+/* 8037825C 00373EBC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80378260 00373EC0 7C 08 02 A6 */ mflr r0
+/* 80378264 00373EC4 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80378268 00373EC8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037826C 00373ECC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80378270 00373ED0 7C 9F 23 78 */ mr r31, r4
+/* 80378274 00373ED4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80378278 00373ED8 7C 7E 1B 78 */ mr r30, r3
+/* 8037827C 00373EDC 88 65 00 00 */ lbz r3, 0(r5)
+/* 80378280 00373EE0 80 85 00 04 */ lwz r4, 4(r5)
+/* 80378284 00373EE4 48 00 B1 65 */ bl func_803833E8
+/* 80378288 00373EE8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037828C 00373EEC 40 82 00 10 */ bne lbl_8037829C
+/* 80378290 00373EF0 80 6D B2 68 */ lwz r3, lbl_80640528-_SDA_BASE_(r13)
+/* 80378294 00373EF4 80 8D B2 6C */ lwz r4, lbl_8064052C-_SDA_BASE_(r13)
+/* 80378298 00373EF8 48 00 00 A0 */ b lbl_80378338
+lbl_8037829C:
+/* 8037829C 00373EFC 80 03 00 00 */ lwz r0, 0(r3)
+/* 803782A0 00373F00 7C 1F 00 40 */ cmplw r31, r0
+/* 803782A4 00373F04 41 80 00 10 */ blt lbl_803782B4
+/* 803782A8 00373F08 80 6D B2 68 */ lwz r3, lbl_80640528-_SDA_BASE_(r13)
+/* 803782AC 00373F0C 80 8D B2 6C */ lwz r4, lbl_8064052C-_SDA_BASE_(r13)
+/* 803782B0 00373F10 48 00 00 88 */ b lbl_80378338
+lbl_803782B4:
+/* 803782B4 00373F14 A0 1E 00 06 */ lhz r0, 6(r30)
+/* 803782B8 00373F18 28 00 01 01 */ cmplwi r0, 0x101
+/* 803782BC 00373F1C 41 80 00 54 */ blt lbl_80378310
+/* 803782C0 00373F20 57 E0 18 38 */ slwi r0, r31, 3
+/* 803782C4 00373F24 80 BE 00 28 */ lwz r5, 0x28(r30)
+/* 803782C8 00373F28 7C 83 02 14 */ add r4, r3, r0
+/* 803782CC 00373F2C 88 64 00 04 */ lbz r3, 4(r4)
+/* 803782D0 00373F30 80 84 00 08 */ lwz r4, 8(r4)
+/* 803782D4 00373F34 48 00 B1 15 */ bl func_803833E8
+/* 803782D8 00373F38 2C 03 00 00 */ cmpwi r3, 0
+/* 803782DC 00373F3C 40 82 00 18 */ bne lbl_803782F4
+/* 803782E0 00373F40 80 6D B2 68 */ lwz r3, lbl_80640528-_SDA_BASE_(r13)
+/* 803782E4 00373F44 80 0D B2 6C */ lwz r0, lbl_8064052C-_SDA_BASE_(r13)
+/* 803782E8 00373F48 90 61 00 10 */ stw r3, 0x10(r1)
+/* 803782EC 00373F4C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803782F0 00373F50 48 00 00 14 */ b lbl_80378304
+lbl_803782F4:
+/* 803782F4 00373F54 80 83 00 18 */ lwz r4, 0x18(r3)
+/* 803782F8 00373F58 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 803782FC 00373F5C 90 81 00 10 */ stw r4, 0x10(r1)
+/* 80378300 00373F60 90 01 00 14 */ stw r0, 0x14(r1)
+lbl_80378304:
+/* 80378304 00373F64 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80378308 00373F68 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 8037830C 00373F6C 48 00 00 2C */ b lbl_80378338
+lbl_80378310:
+/* 80378310 00373F70 57 E0 18 38 */ slwi r0, r31, 3
+/* 80378314 00373F74 7C 63 02 14 */ add r3, r3, r0
+/* 80378318 00373F78 88 83 00 04 */ lbz r4, 4(r3)
+/* 8037831C 00373F7C 88 03 00 05 */ lbz r0, 5(r3)
+/* 80378320 00373F80 80 63 00 08 */ lwz r3, 8(r3)
+/* 80378324 00373F84 98 81 00 08 */ stb r4, 8(r1)
+/* 80378328 00373F88 38 83 00 1C */ addi r4, r3, 0x1c
+/* 8037832C 00373F8C 98 01 00 09 */ stb r0, 9(r1)
+/* 80378330 00373F90 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80378334 00373F94 80 61 00 08 */ lwz r3, 8(r1)
+lbl_80378338:
+/* 80378338 00373F98 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8037833C 00373F9C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80378340 00373FA0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80378344 00373FA4 7C 08 03 A6 */ mtlr r0
+/* 80378348 00373FA8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037834C 00373FAC 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_DvdSoundArchive.s b/asm/nw4r/snd/snd_DvdSoundArchive.s
index 00bfd64..03a4a45 100644
--- a/asm/nw4r/snd/snd_DvdSoundArchive.s
+++ b/asm/nw4r/snd/snd_DvdSoundArchive.s
@@ -14,7 +14,7 @@ __ct__Q34nw4r3snd15DvdSoundArchiveFv:
/* 8036F6A4 0036B304 38 7F 01 08 */ addi r3, r31, 0x108
/* 8036F6A8 0036B308 38 84 CA 08 */ addi r4, r4, lbl_8044CA08@l
/* 8036F6AC 0036B30C 90 9F 00 00 */ stw r4, 0(r31)
-/* 8036F6B0 0036B310 48 00 7E CD */ bl GLXMemoryInfo___ct
+/* 8036F6B0 0036B310 48 00 7E CD */ bl __ct__Q44nw4r3snd6detail22SoundArchiveFileReaderFv
/* 8036F6B4 0036B314 38 00 00 00 */ li r0, 0
/* 8036F6B8 0036B318 7F E3 FB 78 */ mr r3, r31
/* 8036F6BC 0036B31C 98 1F 01 88 */ stb r0, 0x188(r31)
@@ -110,7 +110,7 @@ lbl_8036F7C8:
lbl_8036F7FC:
/* 8036F7FC 0036B45C 7F E4 FB 78 */ mr r4, r31
/* 8036F800 0036B460 38 7C 01 08 */ addi r3, r28, 0x108
-/* 8036F804 0036B464 48 00 7D 9D */ bl func_803775A0
+/* 8036F804 0036B464 48 00 7D 9D */ bl Init__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCv
/* 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 Setup__Q34nw4r3snd12SoundArchiveFPQ44nw4r3snd6detail22SoundArchiveFileReader
@@ -328,7 +328,7 @@ lbl_8036FAD4:
/* 8036FAD4 0036B734 7F C4 F3 78 */ mr r4, r30
/* 8036FAD8 0036B738 7F E5 FB 78 */ mr r5, r31
/* 8036FADC 0036B73C 38 7D 01 08 */ addi r3, r29, 0x108
-/* 8036FAE0 0036B740 48 00 7B 71 */ bl func_80377650
+/* 8036FAE0 0036B740 48 00 7B 71 */ bl SetInfoChunk__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCvUl
/* 8036FAE4 0036B744 38 60 00 01 */ li r3, 1
lbl_8036FAE8:
/* 8036FAE8 0036B748 80 01 00 24 */ lwz r0, 0x24(r1)
diff --git a/asm/text_10_6.s b/asm/text_10_6.s
index f3c2481..ff5a52e 100644
--- a/asm/text_10_6.s
+++ b/asm/text_10_6.s
@@ -2,1044 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global GLXMemoryInfo___ct
-GLXMemoryInfo___ct:
-/* 8037757C 003731DC 38 00 00 00 */ li r0, 0
-/* 80377580 003731E0 90 03 00 28 */ stw r0, 0x28(r3)
-/* 80377584 003731E4 90 03 00 2C */ stw r0, 0x2c(r3)
-/* 80377588 003731E8 90 03 00 30 */ stw r0, 0x30(r3)
-/* 8037758C 003731EC 90 03 00 34 */ stw r0, 0x34(r3)
-/* 80377590 003731F0 90 03 00 38 */ stw r0, 0x38(r3)
-/* 80377594 003731F4 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80377598 003731F8 90 03 00 40 */ stw r0, 0x40(r3)
-/* 8037759C 003731FC 4E 80 00 20 */ blr
-
-.global func_803775A0
-func_803775A0:
-/* 803775A0 00373200 80 A4 00 00 */ lwz r5, 0(r4)
-/* 803775A4 00373204 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 803775A8 00373208 3C 05 AD AD */ addis r0, r5, 0xadad
-/* 803775AC 0037320C 28 00 41 52 */ cmplwi r0, 0x4152
-/* 803775B0 00373210 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 803775B4 00373214 41 82 00 0C */ beq lbl_803775C0
-/* 803775B8 00373218 38 00 00 00 */ li r0, 0
-/* 803775BC 0037321C 48 00 00 30 */ b lbl_803775EC
-lbl_803775C0:
-/* 803775C0 00373220 A0 C4 00 06 */ lhz r6, 6(r4)
-/* 803775C4 00373224 28 06 01 00 */ cmplwi r6, 0x100
-/* 803775C8 00373228 40 80 00 0C */ bge lbl_803775D4
-/* 803775CC 0037322C 38 00 00 00 */ li r0, 0
-/* 803775D0 00373230 48 00 00 1C */ b lbl_803775EC
-lbl_803775D4:
-/* 803775D4 00373234 20 06 01 03 */ subfic r0, r6, 0x103
-/* 803775D8 00373238 38 A0 01 03 */ li r5, 0x103
-/* 803775DC 0037323C 7C A5 33 38 */ orc r5, r5, r6
-/* 803775E0 00373240 54 00 F8 7E */ srwi r0, r0, 1
-/* 803775E4 00373244 7C 00 28 50 */ subf r0, r0, r5
-/* 803775E8 00373248 54 00 0F FE */ srwi r0, r0, 0x1f
-lbl_803775EC:
-/* 803775EC 0037324C 2C 00 00 00 */ cmpwi r0, 0
-/* 803775F0 00373250 41 82 00 54 */ beq lbl_80377644
-/* 803775F4 00373254 83 E4 00 00 */ lwz r31, 0(r4)
-/* 803775F8 00373258 81 84 00 04 */ lwz r12, 4(r4)
-/* 803775FC 0037325C 81 64 00 08 */ lwz r11, 8(r4)
-/* 80377600 00373260 81 44 00 0C */ lwz r10, 0xc(r4)
-/* 80377604 00373264 81 24 00 10 */ lwz r9, 0x10(r4)
-/* 80377608 00373268 81 04 00 14 */ lwz r8, 0x14(r4)
-/* 8037760C 0037326C 80 E4 00 18 */ lwz r7, 0x18(r4)
-/* 80377610 00373270 80 C4 00 1C */ lwz r6, 0x1c(r4)
-/* 80377614 00373274 80 A4 00 20 */ lwz r5, 0x20(r4)
-/* 80377618 00373278 80 04 00 24 */ lwz r0, 0x24(r4)
-/* 8037761C 0037327C 93 E3 00 00 */ stw r31, 0(r3)
-/* 80377620 00373280 91 83 00 04 */ stw r12, 4(r3)
-/* 80377624 00373284 91 63 00 08 */ stw r11, 8(r3)
-/* 80377628 00373288 91 43 00 0C */ stw r10, 0xc(r3)
-/* 8037762C 0037328C 91 23 00 10 */ stw r9, 0x10(r3)
-/* 80377630 00373290 91 03 00 14 */ stw r8, 0x14(r3)
-/* 80377634 00373294 90 E3 00 18 */ stw r7, 0x18(r3)
-/* 80377638 00373298 90 C3 00 1C */ stw r6, 0x1c(r3)
-/* 8037763C 0037329C 90 A3 00 20 */ stw r5, 0x20(r3)
-/* 80377640 003732A0 90 03 00 24 */ stw r0, 0x24(r3)
-lbl_80377644:
-/* 80377644 003732A4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80377648 003732A8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037764C 003732AC 4E 80 00 20 */ blr
-
-.global func_80377650
-func_80377650:
-/* 80377650 003732B0 38 04 00 08 */ addi r0, r4, 8
-/* 80377654 003732B4 90 03 00 28 */ stw r0, 0x28(r3)
-/* 80377658 003732B8 4E 80 00 20 */ blr
-
-.global lbl_8037765C
-lbl_8037765C:
-/* 8037765C 003732BC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80377660 003732C0 7C 08 02 A6 */ mflr r0
-/* 80377664 003732C4 80 A3 00 28 */ lwz r5, 0x28(r3)
-/* 80377668 003732C8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037766C 003732CC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80377670 003732D0 7C 9F 23 78 */ mr r31, r4
-/* 80377674 003732D4 93 C1 00 08 */ stw r30, 8(r1)
-/* 80377678 003732D8 7C 7E 1B 78 */ mr r30, r3
-/* 8037767C 003732DC 88 65 00 00 */ lbz r3, 0(r5)
-/* 80377680 003732E0 80 85 00 04 */ lwz r4, 4(r5)
-/* 80377684 003732E4 48 00 BD 65 */ bl func_803833E8
-/* 80377688 003732E8 2C 03 00 00 */ cmpwi r3, 0
-/* 8037768C 003732EC 40 82 00 0C */ bne lbl_80377698
-/* 80377690 003732F0 38 60 00 00 */ li r3, 0
-/* 80377694 003732F4 48 00 00 A0 */ b lbl_80377734
-lbl_80377698:
-/* 80377698 003732F8 80 03 00 00 */ lwz r0, 0(r3)
-/* 8037769C 003732FC 7C 1F 00 40 */ cmplw r31, r0
-/* 803776A0 00373300 41 80 00 0C */ blt lbl_803776AC
-/* 803776A4 00373304 38 60 00 00 */ li r3, 0
-/* 803776A8 00373308 48 00 00 8C */ b lbl_80377734
-lbl_803776AC:
-/* 803776AC 0037330C A0 1E 00 06 */ lhz r0, 6(r30)
-/* 803776B0 00373310 28 00 01 01 */ cmplwi r0, 0x101
-/* 803776B4 00373314 41 80 00 34 */ blt lbl_803776E8
-/* 803776B8 00373318 57 E0 18 38 */ slwi r0, r31, 3
-/* 803776BC 0037331C 80 BE 00 28 */ lwz r5, 0x28(r30)
-/* 803776C0 00373320 7C 83 02 14 */ add r4, r3, r0
-/* 803776C4 00373324 88 64 00 04 */ lbz r3, 4(r4)
-/* 803776C8 00373328 80 84 00 08 */ lwz r4, 8(r4)
-/* 803776CC 0037332C 48 00 BD 1D */ bl func_803833E8
-/* 803776D0 00373330 2C 03 00 00 */ cmpwi r3, 0
-/* 803776D4 00373334 40 82 00 0C */ bne lbl_803776E0
-/* 803776D8 00373338 38 60 00 00 */ li r3, 0
-/* 803776DC 0037333C 48 00 00 58 */ b lbl_80377734
-lbl_803776E0:
-/* 803776E0 00373340 88 03 00 16 */ lbz r0, 0x16(r3)
-/* 803776E4 00373344 48 00 00 10 */ b lbl_803776F4
-lbl_803776E8:
-/* 803776E8 00373348 57 E0 18 38 */ slwi r0, r31, 3
-/* 803776EC 0037334C 7C 63 02 14 */ add r3, r3, r0
-/* 803776F0 00373350 88 03 00 05 */ lbz r0, 5(r3)
-lbl_803776F4:
-/* 803776F4 00373354 2C 00 00 02 */ cmpwi r0, 2
-/* 803776F8 00373358 41 82 00 28 */ beq lbl_80377720
-/* 803776FC 0037335C 40 80 00 10 */ bge lbl_8037770C
-/* 80377700 00373360 2C 00 00 01 */ cmpwi r0, 1
-/* 80377704 00373364 40 80 00 14 */ bge lbl_80377718
-/* 80377708 00373368 48 00 00 28 */ b lbl_80377730
-lbl_8037770C:
-/* 8037770C 0037336C 2C 00 00 04 */ cmpwi r0, 4
-/* 80377710 00373370 40 80 00 20 */ bge lbl_80377730
-/* 80377714 00373374 48 00 00 14 */ b lbl_80377728
-lbl_80377718:
-/* 80377718 00373378 38 60 00 01 */ li r3, 1
-/* 8037771C 0037337C 48 00 00 18 */ b lbl_80377734
-lbl_80377720:
-/* 80377720 00373380 38 60 00 02 */ li r3, 2
-/* 80377724 00373384 48 00 00 10 */ b lbl_80377734
-lbl_80377728:
-/* 80377728 00373388 38 60 00 03 */ li r3, 3
-/* 8037772C 0037338C 48 00 00 08 */ b lbl_80377734
-lbl_80377730:
-/* 80377730 00373390 38 60 00 00 */ li r3, 0
-lbl_80377734:
-/* 80377734 00373394 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80377738 00373398 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037773C 0037339C 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80377740 003733A0 7C 08 03 A6 */ mtlr r0
-/* 80377744 003733A4 38 21 00 10 */ addi r1, r1, 0x10
-/* 80377748 003733A8 4E 80 00 20 */ blr
-
-.global lbl_8037774C
-lbl_8037774C:
-/* 8037774C 003733AC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377750 003733B0 7C 08 02 A6 */ mflr r0
-/* 80377754 003733B4 80 C3 00 28 */ lwz r6, 0x28(r3)
-/* 80377758 003733B8 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037775C 003733BC 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377760 003733C0 7C BF 2B 78 */ mr r31, r5
-/* 80377764 003733C4 7C C5 33 78 */ mr r5, r6
-/* 80377768 003733C8 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037776C 003733CC 7C 9E 23 78 */ mr r30, r4
-/* 80377770 003733D0 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80377774 003733D4 7C 7D 1B 78 */ mr r29, r3
-/* 80377778 003733D8 88 66 00 00 */ lbz r3, 0(r6)
-/* 8037777C 003733DC 80 86 00 04 */ lwz r4, 4(r6)
-/* 80377780 003733E0 48 00 BC 69 */ bl func_803833E8
-/* 80377784 003733E4 2C 03 00 00 */ cmpwi r3, 0
-/* 80377788 003733E8 40 82 00 0C */ bne lbl_80377794
-/* 8037778C 003733EC 38 60 00 00 */ li r3, 0
-/* 80377790 003733F0 48 00 00 54 */ b lbl_803777E4
-lbl_80377794:
-/* 80377794 003733F4 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377798 003733F8 7C 1E 00 40 */ cmplw r30, r0
-/* 8037779C 003733FC 41 80 00 0C */ blt lbl_803777A8
-/* 803777A0 00373400 38 60 00 00 */ li r3, 0
-/* 803777A4 00373404 48 00 00 40 */ b lbl_803777E4
-lbl_803777A8:
-/* 803777A8 00373408 A0 1D 00 06 */ lhz r0, 6(r29)
-/* 803777AC 0037340C 28 00 01 01 */ cmplwi r0, 0x101
-/* 803777B0 00373410 41 80 00 20 */ blt lbl_803777D0
-/* 803777B4 00373414 57 C0 18 38 */ slwi r0, r30, 3
-/* 803777B8 00373418 80 BD 00 28 */ lwz r5, 0x28(r29)
-/* 803777BC 0037341C 7C 83 02 14 */ add r4, r3, r0
-/* 803777C0 00373420 88 64 00 04 */ lbz r3, 4(r4)
-/* 803777C4 00373424 80 84 00 08 */ lwz r4, 8(r4)
-/* 803777C8 00373428 48 00 BC 21 */ bl func_803833E8
-/* 803777CC 0037342C 48 00 00 18 */ b lbl_803777E4
-lbl_803777D0:
-/* 803777D0 00373430 57 C4 18 38 */ slwi r4, r30, 3
-/* 803777D4 00373434 80 1D 00 28 */ lwz r0, 0x28(r29)
-/* 803777D8 00373438 7C 63 22 14 */ add r3, r3, r4
-/* 803777DC 0037343C 80 63 00 08 */ lwz r3, 8(r3)
-/* 803777E0 00373440 7C 63 02 14 */ add r3, r3, r0
-lbl_803777E4:
-/* 803777E4 00373444 2C 03 00 00 */ cmpwi r3, 0
-/* 803777E8 00373448 40 82 00 0C */ bne lbl_803777F4
-/* 803777EC 0037344C 38 60 00 00 */ li r3, 0
-/* 803777F0 00373450 48 00 00 60 */ b lbl_80377850
-lbl_803777F4:
-/* 803777F4 00373454 80 83 00 04 */ lwz r4, 4(r3)
-/* 803777F8 00373458 A0 1D 00 06 */ lhz r0, 6(r29)
-/* 803777FC 0037345C 90 9F 00 00 */ stw r4, 0(r31)
-/* 80377800 00373460 28 00 01 02 */ cmplwi r0, 0x102
-/* 80377804 00373464 80 03 00 08 */ lwz r0, 8(r3)
-/* 80377808 00373468 90 1F 00 04 */ stw r0, 4(r31)
-/* 8037780C 0037346C 88 03 00 15 */ lbz r0, 0x15(r3)
-/* 80377810 00373470 90 1F 00 08 */ stw r0, 8(r31)
-/* 80377814 00373474 88 03 00 14 */ lbz r0, 0x14(r3)
-/* 80377818 00373478 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 8037781C 0037347C 88 03 00 17 */ lbz r0, 0x17(r3)
-/* 80377820 00373480 90 1F 00 10 */ stw r0, 0x10(r31)
-/* 80377824 00373484 41 80 00 18 */ blt lbl_8037783C
-/* 80377828 00373488 88 03 00 28 */ lbz r0, 0x28(r3)
-/* 8037782C 0037348C 90 1F 00 14 */ stw r0, 0x14(r31)
-/* 80377830 00373490 88 03 00 29 */ lbz r0, 0x29(r3)
-/* 80377834 00373494 90 1F 00 18 */ stw r0, 0x18(r31)
-/* 80377838 00373498 48 00 00 14 */ b lbl_8037784C
-lbl_8037783C:
-/* 8037783C 0037349C 38 60 00 01 */ li r3, 1
-/* 80377840 003734A0 38 00 00 00 */ li r0, 0
-/* 80377844 003734A4 90 7F 00 14 */ stw r3, 0x14(r31)
-/* 80377848 003734A8 90 1F 00 18 */ stw r0, 0x18(r31)
-lbl_8037784C:
-/* 8037784C 003734AC 38 60 00 01 */ li r3, 1
-lbl_80377850:
-/* 80377850 003734B0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377854 003734B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377858 003734B8 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8037785C 003734BC 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80377860 003734C0 7C 08 03 A6 */ mtlr r0
-/* 80377864 003734C4 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377868 003734C8 4E 80 00 20 */ blr
-
-.global lbl_8037786C
-lbl_8037786C:
-/* 8037786C 003734CC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377870 003734D0 7C 08 02 A6 */ mflr r0
-/* 80377874 003734D4 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377878 003734D8 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8037787C 003734DC 7C BF 2B 78 */ mr r31, r5
-/* 80377880 003734E0 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80377884 003734E4 7C 7E 1B 78 */ mr r30, r3
-/* 80377888 003734E8 48 00 09 D5 */ bl func_8037825C
-/* 8037788C 003734EC 90 61 00 08 */ stw r3, 8(r1)
-/* 80377890 003734F0 80 BE 00 28 */ lwz r5, 0x28(r30)
-/* 80377894 003734F4 90 81 00 0C */ stw r4, 0xc(r1)
-/* 80377898 003734F8 88 61 00 08 */ lbz r3, 8(r1)
-/* 8037789C 003734FC 48 00 BB 4D */ bl func_803833E8
-/* 803778A0 00373500 2C 03 00 00 */ cmpwi r3, 0
-/* 803778A4 00373504 40 82 00 0C */ bne lbl_803778B0
-/* 803778A8 00373508 38 60 00 00 */ li r3, 0
-/* 803778AC 0037350C 48 00 00 54 */ b lbl_80377900
-lbl_803778B0:
-/* 803778B0 00373510 80 83 00 00 */ lwz r4, 0(r3)
-/* 803778B4 00373514 A0 1E 00 06 */ lhz r0, 6(r30)
-/* 803778B8 00373518 90 9F 00 00 */ stw r4, 0(r31)
-/* 803778BC 0037351C 28 00 01 03 */ cmplwi r0, 0x103
-/* 803778C0 00373520 80 03 00 04 */ lwz r0, 4(r3)
-/* 803778C4 00373524 90 1F 00 04 */ stw r0, 4(r31)
-/* 803778C8 00373528 88 03 00 0C */ lbz r0, 0xc(r3)
-/* 803778CC 0037352C 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 803778D0 00373530 80 03 00 08 */ lwz r0, 8(r3)
-/* 803778D4 00373534 90 1F 00 08 */ stw r0, 8(r31)
-/* 803778D8 00373538 41 80 00 1C */ blt lbl_803778F4
-/* 803778DC 0037353C 88 63 00 0D */ lbz r3, 0xd(r3)
-/* 803778E0 00373540 7C 03 00 D0 */ neg r0, r3
-/* 803778E4 00373544 7C 00 1B 78 */ or r0, r0, r3
-/* 803778E8 00373548 54 00 0F FE */ srwi r0, r0, 0x1f
-/* 803778EC 0037354C 98 1F 00 10 */ stb r0, 0x10(r31)
-/* 803778F0 00373550 48 00 00 0C */ b lbl_803778FC
-lbl_803778F4:
-/* 803778F4 00373554 38 00 00 00 */ li r0, 0
-/* 803778F8 00373558 98 1F 00 10 */ stb r0, 0x10(r31)
-lbl_803778FC:
-/* 803778FC 0037355C 38 60 00 01 */ li r3, 1
-lbl_80377900:
-/* 80377900 00373560 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377904 00373564 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377908 00373568 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8037790C 0037356C 7C 08 03 A6 */ mtlr r0
-/* 80377910 00373570 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377914 00373574 4E 80 00 20 */ blr
-
-.global lbl_80377918
-lbl_80377918:
-/* 80377918 00373578 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8037791C 0037357C 7C 08 02 A6 */ mflr r0
-/* 80377920 00373580 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377924 00373584 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377928 00373588 7C 7F 1B 78 */ mr r31, r3
-/* 8037792C 0037358C 48 00 09 31 */ bl func_8037825C
-/* 80377930 00373590 90 61 00 08 */ stw r3, 8(r1)
-/* 80377934 00373594 80 BF 00 28 */ lwz r5, 0x28(r31)
-/* 80377938 00373598 90 81 00 0C */ stw r4, 0xc(r1)
-/* 8037793C 0037359C 88 61 00 08 */ lbz r3, 8(r1)
-/* 80377940 003735A0 48 00 BA A9 */ bl func_803833E8
-/* 80377944 003735A4 7C 03 00 D0 */ neg r0, r3
-/* 80377948 003735A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8037794C 003735AC 7C 00 1B 78 */ or r0, r0, r3
-/* 80377950 003735B0 54 03 0F FE */ srwi r3, r0, 0x1f
-/* 80377954 003735B4 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377958 003735B8 7C 08 03 A6 */ mtlr r0
-/* 8037795C 003735BC 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377960 003735C0 4E 80 00 20 */ blr
-
-.global lbl_80377964
-lbl_80377964:
-/* 80377964 003735C4 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377968 003735C8 7C 08 02 A6 */ mflr r0
-/* 8037796C 003735CC 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377970 003735D0 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377974 003735D4 7C BF 2B 78 */ mr r31, r5
-/* 80377978 003735D8 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037797C 003735DC 7C 7E 1B 78 */ mr r30, r3
-/* 80377980 003735E0 48 00 08 DD */ bl func_8037825C
-/* 80377984 003735E4 90 61 00 08 */ stw r3, 8(r1)
-/* 80377988 003735E8 80 BE 00 28 */ lwz r5, 0x28(r30)
-/* 8037798C 003735EC 90 81 00 0C */ stw r4, 0xc(r1)
-/* 80377990 003735F0 88 61 00 08 */ lbz r3, 8(r1)
-/* 80377994 003735F4 48 00 BA 55 */ bl func_803833E8
-/* 80377998 003735F8 2C 03 00 00 */ cmpwi r3, 0
-/* 8037799C 003735FC 40 82 00 0C */ bne lbl_803779A8
-/* 803779A0 00373600 38 60 00 00 */ li r3, 0
-/* 803779A4 00373604 48 00 00 44 */ b lbl_803779E8
-lbl_803779A8:
-/* 803779A8 00373608 80 83 00 00 */ lwz r4, 0(r3)
-/* 803779AC 0037360C A0 1E 00 06 */ lhz r0, 6(r30)
-/* 803779B0 00373610 90 9F 00 00 */ stw r4, 0(r31)
-/* 803779B4 00373614 28 00 01 03 */ cmplwi r0, 0x103
-/* 803779B8 00373618 88 03 00 08 */ lbz r0, 8(r3)
-/* 803779BC 0037361C 90 1F 00 04 */ stw r0, 4(r31)
-/* 803779C0 00373620 41 80 00 1C */ blt lbl_803779DC
-/* 803779C4 00373624 88 63 00 09 */ lbz r3, 9(r3)
-/* 803779C8 00373628 7C 03 00 D0 */ neg r0, r3
-/* 803779CC 0037362C 7C 00 1B 78 */ or r0, r0, r3
-/* 803779D0 00373630 54 00 0F FE */ srwi r0, r0, 0x1f
-/* 803779D4 00373634 98 1F 00 08 */ stb r0, 8(r31)
-/* 803779D8 00373638 48 00 00 0C */ b lbl_803779E4
-lbl_803779DC:
-/* 803779DC 0037363C 38 00 00 00 */ li r0, 0
-/* 803779E0 00373640 98 1F 00 08 */ stb r0, 8(r31)
-lbl_803779E4:
-/* 803779E4 00373644 38 60 00 01 */ li r3, 1
-lbl_803779E8:
-/* 803779E8 00373648 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803779EC 0037364C 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803779F0 00373650 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 803779F4 00373654 7C 08 03 A6 */ mtlr r0
-/* 803779F8 00373658 38 21 00 20 */ addi r1, r1, 0x20
-/* 803779FC 0037365C 4E 80 00 20 */ blr
-
-.global lbl_80377A00
-lbl_80377A00:
-/* 80377A00 00373660 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377A04 00373664 7C 08 02 A6 */ mflr r0
-/* 80377A08 00373668 80 C3 00 28 */ lwz r6, 0x28(r3)
-/* 80377A0C 0037366C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377A10 00373670 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377A14 00373674 7C BF 2B 78 */ mr r31, r5
-/* 80377A18 00373678 7C C5 33 78 */ mr r5, r6
-/* 80377A1C 0037367C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80377A20 00373680 7C 9E 23 78 */ mr r30, r4
-/* 80377A24 00373684 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80377A28 00373688 7C 7D 1B 78 */ mr r29, r3
-/* 80377A2C 0037368C 88 66 00 08 */ lbz r3, 8(r6)
-/* 80377A30 00373690 80 86 00 0C */ lwz r4, 0xc(r6)
-/* 80377A34 00373694 48 00 B9 B5 */ bl func_803833E8
-/* 80377A38 00373698 2C 03 00 00 */ cmpwi r3, 0
-/* 80377A3C 0037369C 40 82 00 0C */ bne lbl_80377A48
-/* 80377A40 003736A0 38 60 00 00 */ li r3, 0
-/* 80377A44 003736A4 48 00 00 30 */ b lbl_80377A74
-lbl_80377A48:
-/* 80377A48 003736A8 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377A4C 003736AC 7C 1E 00 40 */ cmplw r30, r0
-/* 80377A50 003736B0 41 80 00 0C */ blt lbl_80377A5C
-/* 80377A54 003736B4 38 60 00 00 */ li r3, 0
-/* 80377A58 003736B8 48 00 00 1C */ b lbl_80377A74
-lbl_80377A5C:
-/* 80377A5C 003736BC 57 C0 18 38 */ slwi r0, r30, 3
-/* 80377A60 003736C0 80 BD 00 28 */ lwz r5, 0x28(r29)
-/* 80377A64 003736C4 7C 83 02 14 */ add r4, r3, r0
-/* 80377A68 003736C8 88 64 00 04 */ lbz r3, 4(r4)
-/* 80377A6C 003736CC 80 84 00 08 */ lwz r4, 8(r4)
-/* 80377A70 003736D0 48 00 B9 79 */ bl func_803833E8
-lbl_80377A74:
-/* 80377A74 003736D4 2C 03 00 00 */ cmpwi r3, 0
-/* 80377A78 003736D8 40 82 00 0C */ bne lbl_80377A84
-/* 80377A7C 003736DC 38 60 00 00 */ li r3, 0
-/* 80377A80 003736E0 48 00 00 10 */ b lbl_80377A90
-lbl_80377A84:
-/* 80377A84 003736E4 80 03 00 04 */ lwz r0, 4(r3)
-/* 80377A88 003736E8 38 60 00 01 */ li r3, 1
-/* 80377A8C 003736EC 90 1F 00 00 */ stw r0, 0(r31)
-lbl_80377A90:
-/* 80377A90 003736F0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377A94 003736F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377A98 003736F8 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80377A9C 003736FC 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80377AA0 00373700 7C 08 03 A6 */ mtlr r0
-/* 80377AA4 00373704 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377AA8 00373708 4E 80 00 20 */ blr
-
-.global lbl_80377AAC
-lbl_80377AAC:
-/* 80377AAC 0037370C 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377AB0 00373710 7C 08 02 A6 */ mflr r0
-/* 80377AB4 00373714 80 C3 00 28 */ lwz r6, 0x28(r3)
-/* 80377AB8 00373718 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377ABC 0037371C 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377AC0 00373720 7C BF 2B 78 */ mr r31, r5
-/* 80377AC4 00373724 7C C5 33 78 */ mr r5, r6
-/* 80377AC8 00373728 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80377ACC 0037372C 7C 9E 23 78 */ mr r30, r4
-/* 80377AD0 00373730 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80377AD4 00373734 7C 7D 1B 78 */ mr r29, r3
-/* 80377AD8 00373738 88 66 00 10 */ lbz r3, 0x10(r6)
-/* 80377ADC 0037373C 80 86 00 14 */ lwz r4, 0x14(r6)
-/* 80377AE0 00373740 48 00 B9 09 */ bl func_803833E8
-/* 80377AE4 00373744 2C 03 00 00 */ cmpwi r3, 0
-/* 80377AE8 00373748 40 82 00 0C */ bne lbl_80377AF4
-/* 80377AEC 0037374C 38 80 00 00 */ li r4, 0
-/* 80377AF0 00373750 48 00 00 34 */ b lbl_80377B24
-lbl_80377AF4:
-/* 80377AF4 00373754 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377AF8 00373758 7C 1E 00 40 */ cmplw r30, r0
-/* 80377AFC 0037375C 41 80 00 0C */ blt lbl_80377B08
-/* 80377B00 00373760 38 80 00 00 */ li r4, 0
-/* 80377B04 00373764 48 00 00 20 */ b lbl_80377B24
-lbl_80377B08:
-/* 80377B08 00373768 57 C0 18 38 */ slwi r0, r30, 3
-/* 80377B0C 0037376C 80 BD 00 28 */ lwz r5, 0x28(r29)
-/* 80377B10 00373770 7C 83 02 14 */ add r4, r3, r0
-/* 80377B14 00373774 88 64 00 04 */ lbz r3, 4(r4)
-/* 80377B18 00373778 80 84 00 08 */ lwz r4, 8(r4)
-/* 80377B1C 0037377C 48 00 B8 CD */ bl func_803833E8
-/* 80377B20 00373780 7C 64 1B 78 */ mr r4, r3
-lbl_80377B24:
-/* 80377B24 00373784 2C 04 00 00 */ cmpwi r4, 0
-/* 80377B28 00373788 40 82 00 0C */ bne lbl_80377B34
-/* 80377B2C 0037378C 38 60 00 00 */ li r3, 0
-/* 80377B30 00373790 48 00 00 18 */ b lbl_80377B48
-lbl_80377B34:
-/* 80377B34 00373794 88 04 00 04 */ lbz r0, 4(r4)
-/* 80377B38 00373798 38 60 00 01 */ li r3, 1
-/* 80377B3C 0037379C 90 1F 00 00 */ stw r0, 0(r31)
-/* 80377B40 003737A0 80 04 00 08 */ lwz r0, 8(r4)
-/* 80377B44 003737A4 90 1F 00 04 */ stw r0, 4(r31)
-lbl_80377B48:
-/* 80377B48 003737A8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377B4C 003737AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377B50 003737B0 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80377B54 003737B4 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80377B58 003737B8 7C 08 03 A6 */ mtlr r0
-/* 80377B5C 003737BC 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377B60 003737C0 4E 80 00 20 */ blr
-
-.global func_80377B64
-func_80377B64:
-/* 80377B64 003737C4 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377B68 003737C8 7C 08 02 A6 */ mflr r0
-/* 80377B6C 003737CC 80 C3 00 28 */ lwz r6, 0x28(r3)
-/* 80377B70 003737D0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377B74 003737D4 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377B78 003737D8 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80377B7C 003737DC 7C 9E 23 78 */ mr r30, r4
-/* 80377B80 003737E0 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80377B84 003737E4 7C BD 2B 78 */ mr r29, r5
-/* 80377B88 003737E8 7C C5 33 78 */ mr r5, r6
-/* 80377B8C 003737EC 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80377B90 003737F0 7C 7C 1B 78 */ mr r28, r3
-/* 80377B94 003737F4 88 66 00 20 */ lbz r3, 0x20(r6)
-/* 80377B98 003737F8 80 86 00 24 */ lwz r4, 0x24(r6)
-/* 80377B9C 003737FC 48 00 B8 4D */ bl func_803833E8
-/* 80377BA0 00373800 2C 03 00 00 */ cmpwi r3, 0
-/* 80377BA4 00373804 40 82 00 0C */ bne lbl_80377BB0
-/* 80377BA8 00373808 3B C0 00 00 */ li r30, 0
-/* 80377BAC 0037380C 48 00 00 34 */ b lbl_80377BE0
-lbl_80377BB0:
-/* 80377BB0 00373810 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377BB4 00373814 7C 1E 00 40 */ cmplw r30, r0
-/* 80377BB8 00373818 41 80 00 0C */ blt lbl_80377BC4
-/* 80377BBC 0037381C 3B C0 00 00 */ li r30, 0
-/* 80377BC0 00373820 48 00 00 20 */ b lbl_80377BE0
-lbl_80377BC4:
-/* 80377BC4 00373824 57 C0 18 38 */ slwi r0, r30, 3
-/* 80377BC8 00373828 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377BCC 0037382C 7C 83 02 14 */ add r4, r3, r0
-/* 80377BD0 00373830 88 64 00 04 */ lbz r3, 4(r4)
-/* 80377BD4 00373834 80 84 00 08 */ lwz r4, 8(r4)
-/* 80377BD8 00373838 48 00 B8 11 */ bl func_803833E8
-/* 80377BDC 0037383C 7C 7E 1B 78 */ mr r30, r3
-lbl_80377BE0:
-/* 80377BE0 00373840 2C 1E 00 00 */ cmpwi r30, 0
-/* 80377BE4 00373844 40 82 00 0C */ bne lbl_80377BF0
-/* 80377BE8 00373848 38 60 00 00 */ li r3, 0
-/* 80377BEC 0037384C 48 00 00 68 */ b lbl_80377C54
-lbl_80377BF0:
-/* 80377BF0 00373850 88 7E 00 20 */ lbz r3, 0x20(r30)
-/* 80377BF4 00373854 80 9E 00 24 */ lwz r4, 0x24(r30)
-/* 80377BF8 00373858 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377BFC 0037385C 48 00 B7 ED */ bl func_803833E8
-/* 80377C00 00373860 2C 03 00 00 */ cmpwi r3, 0
-/* 80377C04 00373864 7C 7F 1B 78 */ mr r31, r3
-/* 80377C08 00373868 40 82 00 0C */ bne lbl_80377C14
-/* 80377C0C 0037386C 38 60 00 00 */ li r3, 0
-/* 80377C10 00373870 48 00 00 44 */ b lbl_80377C54
-lbl_80377C14:
-/* 80377C14 00373874 88 7E 00 08 */ lbz r3, 8(r30)
-/* 80377C18 00373878 80 9E 00 0C */ lwz r4, 0xc(r30)
-/* 80377C1C 0037387C 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377C20 00373880 48 00 B7 C9 */ bl func_803833E8
-/* 80377C24 00373884 90 7D 00 04 */ stw r3, 4(r29)
-/* 80377C28 00373888 38 60 00 01 */ li r3, 1
-/* 80377C2C 0037388C 80 1E 00 10 */ lwz r0, 0x10(r30)
-/* 80377C30 00373890 90 1D 00 08 */ stw r0, 8(r29)
-/* 80377C34 00373894 80 1E 00 14 */ lwz r0, 0x14(r30)
-/* 80377C38 00373898 90 1D 00 0C */ stw r0, 0xc(r29)
-/* 80377C3C 0037389C 80 1E 00 18 */ lwz r0, 0x18(r30)
-/* 80377C40 003738A0 90 1D 00 10 */ stw r0, 0x10(r29)
-/* 80377C44 003738A4 80 1E 00 1C */ lwz r0, 0x1c(r30)
-/* 80377C48 003738A8 90 1D 00 14 */ stw r0, 0x14(r29)
-/* 80377C4C 003738AC 80 1F 00 00 */ lwz r0, 0(r31)
-/* 80377C50 003738B0 90 1D 00 00 */ stw r0, 0(r29)
-lbl_80377C54:
-/* 80377C54 003738B4 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377C58 003738B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377C5C 003738BC 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80377C60 003738C0 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80377C64 003738C4 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80377C68 003738C8 7C 08 03 A6 */ mtlr r0
-/* 80377C6C 003738CC 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377C70 003738D0 4E 80 00 20 */ blr
-
-.global func_80377C74
-func_80377C74:
-/* 80377C74 003738D4 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377C78 003738D8 7C 08 02 A6 */ mflr r0
-/* 80377C7C 003738DC 80 E3 00 28 */ lwz r7, 0x28(r3)
-/* 80377C80 003738E0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377C84 003738E4 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377C88 003738E8 7C DF 33 78 */ mr r31, r6
-/* 80377C8C 003738EC 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80377C90 003738F0 7C BE 2B 78 */ mr r30, r5
-/* 80377C94 003738F4 7C E5 3B 78 */ mr r5, r7
-/* 80377C98 003738F8 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80377C9C 003738FC 7C 9D 23 78 */ mr r29, r4
-/* 80377CA0 00373900 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80377CA4 00373904 7C 7C 1B 78 */ mr r28, r3
-/* 80377CA8 00373908 88 67 00 20 */ lbz r3, 0x20(r7)
-/* 80377CAC 0037390C 80 87 00 24 */ lwz r4, 0x24(r7)
-/* 80377CB0 00373910 48 00 B7 39 */ bl func_803833E8
-/* 80377CB4 00373914 2C 03 00 00 */ cmpwi r3, 0
-/* 80377CB8 00373918 40 82 00 0C */ bne lbl_80377CC4
-/* 80377CBC 0037391C 38 80 00 00 */ li r4, 0
-/* 80377CC0 00373920 48 00 00 34 */ b lbl_80377CF4
-lbl_80377CC4:
-/* 80377CC4 00373924 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377CC8 00373928 7C 1D 00 40 */ cmplw r29, r0
-/* 80377CCC 0037392C 41 80 00 0C */ blt lbl_80377CD8
-/* 80377CD0 00373930 38 80 00 00 */ li r4, 0
-/* 80377CD4 00373934 48 00 00 20 */ b lbl_80377CF4
-lbl_80377CD8:
-/* 80377CD8 00373938 57 A0 18 38 */ slwi r0, r29, 3
-/* 80377CDC 0037393C 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377CE0 00373940 7C 83 02 14 */ add r4, r3, r0
-/* 80377CE4 00373944 88 64 00 04 */ lbz r3, 4(r4)
-/* 80377CE8 00373948 80 84 00 08 */ lwz r4, 8(r4)
-/* 80377CEC 0037394C 48 00 B6 FD */ bl func_803833E8
-/* 80377CF0 00373950 7C 64 1B 78 */ mr r4, r3
-lbl_80377CF4:
-/* 80377CF4 00373954 2C 04 00 00 */ cmpwi r4, 0
-/* 80377CF8 00373958 40 82 00 0C */ bne lbl_80377D04
-/* 80377CFC 0037395C 38 60 00 00 */ li r3, 0
-/* 80377D00 00373960 48 00 00 8C */ b lbl_80377D8C
-lbl_80377D04:
-/* 80377D04 00373964 88 64 00 20 */ lbz r3, 0x20(r4)
-/* 80377D08 00373968 80 84 00 24 */ lwz r4, 0x24(r4)
-/* 80377D0C 0037396C 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377D10 00373970 48 00 B6 D9 */ bl func_803833E8
-/* 80377D14 00373974 2C 03 00 00 */ cmpwi r3, 0
-/* 80377D18 00373978 40 82 00 0C */ bne lbl_80377D24
-/* 80377D1C 0037397C 38 60 00 00 */ li r3, 0
-/* 80377D20 00373980 48 00 00 6C */ b lbl_80377D8C
-lbl_80377D24:
-/* 80377D24 00373984 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377D28 00373988 7C 1E 00 40 */ cmplw r30, r0
-/* 80377D2C 0037398C 41 80 00 0C */ blt lbl_80377D38
-/* 80377D30 00373990 38 60 00 00 */ li r3, 0
-/* 80377D34 00373994 48 00 00 58 */ b lbl_80377D8C
-lbl_80377D38:
-/* 80377D38 00373998 57 C0 18 38 */ slwi r0, r30, 3
-/* 80377D3C 0037399C 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377D40 003739A0 7C 83 02 14 */ add r4, r3, r0
-/* 80377D44 003739A4 88 64 00 04 */ lbz r3, 4(r4)
-/* 80377D48 003739A8 80 84 00 08 */ lwz r4, 8(r4)
-/* 80377D4C 003739AC 48 00 B6 9D */ bl func_803833E8
-/* 80377D50 003739B0 2C 03 00 00 */ cmpwi r3, 0
-/* 80377D54 003739B4 40 82 00 0C */ bne lbl_80377D60
-/* 80377D58 003739B8 38 60 00 00 */ li r3, 0
-/* 80377D5C 003739BC 48 00 00 30 */ b lbl_80377D8C
-lbl_80377D60:
-/* 80377D60 003739C0 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377D64 003739C4 90 1F 00 00 */ stw r0, 0(r31)
-/* 80377D68 003739C8 80 03 00 04 */ lwz r0, 4(r3)
-/* 80377D6C 003739CC 90 1F 00 04 */ stw r0, 4(r31)
-/* 80377D70 003739D0 80 03 00 08 */ lwz r0, 8(r3)
-/* 80377D74 003739D4 90 1F 00 08 */ stw r0, 8(r31)
-/* 80377D78 003739D8 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 80377D7C 003739DC 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 80377D80 003739E0 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 80377D84 003739E4 38 60 00 01 */ li r3, 1
-/* 80377D88 003739E8 90 1F 00 10 */ stw r0, 0x10(r31)
-lbl_80377D8C:
-/* 80377D8C 003739EC 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377D90 003739F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377D94 003739F4 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80377D98 003739F8 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80377D9C 003739FC 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80377DA0 00373A00 7C 08 03 A6 */ mtlr r0
-/* 80377DA4 00373A04 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377DA8 00373A08 4E 80 00 20 */ blr
-
-.global lbl_80377DAC
-lbl_80377DAC:
-/* 80377DAC 00373A0C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80377DB0 00373A10 7C 08 02 A6 */ mflr r0
-/* 80377DB4 00373A14 80 A3 00 28 */ lwz r5, 0x28(r3)
-/* 80377DB8 00373A18 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80377DBC 00373A1C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80377DC0 00373A20 7C 9F 23 78 */ mr r31, r4
-/* 80377DC4 00373A24 88 65 00 28 */ lbz r3, 0x28(r5)
-/* 80377DC8 00373A28 80 85 00 2C */ lwz r4, 0x2c(r5)
-/* 80377DCC 00373A2C 48 00 B6 1D */ bl func_803833E8
-/* 80377DD0 00373A30 2C 1F 00 00 */ cmpwi r31, 0
-/* 80377DD4 00373A34 40 82 00 0C */ bne lbl_80377DE0
-/* 80377DD8 00373A38 38 60 00 00 */ li r3, 0
-/* 80377DDC 00373A3C 48 00 00 40 */ b lbl_80377E1C
-lbl_80377DE0:
-/* 80377DE0 00373A40 A0 03 00 00 */ lhz r0, 0(r3)
-/* 80377DE4 00373A44 90 1F 00 00 */ stw r0, 0(r31)
-/* 80377DE8 00373A48 A0 03 00 02 */ lhz r0, 2(r3)
-/* 80377DEC 00373A4C 90 1F 00 04 */ stw r0, 4(r31)
-/* 80377DF0 00373A50 A0 03 00 04 */ lhz r0, 4(r3)
-/* 80377DF4 00373A54 90 1F 00 08 */ stw r0, 8(r31)
-/* 80377DF8 00373A58 A0 03 00 06 */ lhz r0, 6(r3)
-/* 80377DFC 00373A5C 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 80377E00 00373A60 A0 03 00 08 */ lhz r0, 8(r3)
-/* 80377E04 00373A64 90 1F 00 10 */ stw r0, 0x10(r31)
-/* 80377E08 00373A68 A0 03 00 0A */ lhz r0, 0xa(r3)
-/* 80377E0C 00373A6C 90 1F 00 14 */ stw r0, 0x14(r31)
-/* 80377E10 00373A70 A0 03 00 0C */ lhz r0, 0xc(r3)
-/* 80377E14 00373A74 38 60 00 01 */ li r3, 1
-/* 80377E18 00373A78 90 1F 00 18 */ stw r0, 0x18(r31)
-lbl_80377E1C:
-/* 80377E1C 00373A7C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80377E20 00373A80 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80377E24 00373A84 7C 08 03 A6 */ mtlr r0
-/* 80377E28 00373A88 38 21 00 10 */ addi r1, r1, 0x10
-/* 80377E2C 00373A8C 4E 80 00 20 */ blr
-
-.global lbl_80377E30
-lbl_80377E30:
-/* 80377E30 00373A90 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80377E34 00373A94 7C 08 02 A6 */ mflr r0
-/* 80377E38 00373A98 80 A3 00 28 */ lwz r5, 0x28(r3)
-/* 80377E3C 00373A9C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80377E40 00373AA0 88 65 00 00 */ lbz r3, 0(r5)
-/* 80377E44 00373AA4 80 85 00 04 */ lwz r4, 4(r5)
-/* 80377E48 00373AA8 48 00 B5 A1 */ bl func_803833E8
-/* 80377E4C 00373AAC 2C 03 00 00 */ cmpwi r3, 0
-/* 80377E50 00373AB0 40 82 00 0C */ bne lbl_80377E5C
-/* 80377E54 00373AB4 38 60 00 00 */ li r3, 0
-/* 80377E58 00373AB8 48 00 00 08 */ b lbl_80377E60
-lbl_80377E5C:
-/* 80377E5C 00373ABC 80 63 00 00 */ lwz r3, 0(r3)
-lbl_80377E60:
-/* 80377E60 00373AC0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80377E64 00373AC4 7C 08 03 A6 */ mtlr r0
-/* 80377E68 00373AC8 38 21 00 10 */ addi r1, r1, 0x10
-/* 80377E6C 00373ACC 4E 80 00 20 */ blr
-
-.global lbl_80377E70
-lbl_80377E70:
-/* 80377E70 00373AD0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80377E74 00373AD4 7C 08 02 A6 */ mflr r0
-/* 80377E78 00373AD8 80 A3 00 28 */ lwz r5, 0x28(r3)
-/* 80377E7C 00373ADC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80377E80 00373AE0 88 65 00 10 */ lbz r3, 0x10(r5)
-/* 80377E84 00373AE4 80 85 00 14 */ lwz r4, 0x14(r5)
-/* 80377E88 00373AE8 48 00 B5 61 */ bl func_803833E8
-/* 80377E8C 00373AEC 2C 03 00 00 */ cmpwi r3, 0
-/* 80377E90 00373AF0 40 82 00 0C */ bne lbl_80377E9C
-/* 80377E94 00373AF4 38 60 00 00 */ li r3, 0
-/* 80377E98 00373AF8 48 00 00 08 */ b lbl_80377EA0
-lbl_80377E9C:
-/* 80377E9C 00373AFC 80 63 00 00 */ lwz r3, 0(r3)
-lbl_80377EA0:
-/* 80377EA0 00373B00 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80377EA4 00373B04 7C 08 03 A6 */ mtlr r0
-/* 80377EA8 00373B08 38 21 00 10 */ addi r1, r1, 0x10
-/* 80377EAC 00373B0C 4E 80 00 20 */ blr
-
-.global lbl_80377EB0
-lbl_80377EB0:
-/* 80377EB0 00373B10 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80377EB4 00373B14 7C 08 02 A6 */ mflr r0
-/* 80377EB8 00373B18 80 A3 00 28 */ lwz r5, 0x28(r3)
-/* 80377EBC 00373B1C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80377EC0 00373B20 88 65 00 20 */ lbz r3, 0x20(r5)
-/* 80377EC4 00373B24 80 85 00 24 */ lwz r4, 0x24(r5)
-/* 80377EC8 00373B28 48 00 B5 21 */ bl func_803833E8
-/* 80377ECC 00373B2C 2C 03 00 00 */ cmpwi r3, 0
-/* 80377ED0 00373B30 40 82 00 0C */ bne lbl_80377EDC
-/* 80377ED4 00373B34 38 60 00 00 */ li r3, 0
-/* 80377ED8 00373B38 48 00 00 0C */ b lbl_80377EE4
-lbl_80377EDC:
-/* 80377EDC 00373B3C 80 63 00 00 */ lwz r3, 0(r3)
-/* 80377EE0 00373B40 38 63 FF FF */ addi r3, r3, -1
-lbl_80377EE4:
-/* 80377EE4 00373B44 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80377EE8 00373B48 7C 08 03 A6 */ mtlr r0
-/* 80377EEC 00373B4C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80377EF0 00373B50 4E 80 00 20 */ blr
-
-.global func_80377EF4
-func_80377EF4:
-/* 80377EF4 00373B54 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377EF8 00373B58 7C 08 02 A6 */ mflr r0
-/* 80377EFC 00373B5C 80 C3 00 28 */ lwz r6, 0x28(r3)
-/* 80377F00 00373B60 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80377F04 00373B64 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80377F08 00373B68 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80377F0C 00373B6C 7C 9E 23 78 */ mr r30, r4
-/* 80377F10 00373B70 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80377F14 00373B74 7C BD 2B 78 */ mr r29, r5
-/* 80377F18 00373B78 7C C5 33 78 */ mr r5, r6
-/* 80377F1C 00373B7C 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80377F20 00373B80 7C 7C 1B 78 */ mr r28, r3
-/* 80377F24 00373B84 88 66 00 18 */ lbz r3, 0x18(r6)
-/* 80377F28 00373B88 80 86 00 1C */ lwz r4, 0x1c(r6)
-/* 80377F2C 00373B8C 48 00 B4 BD */ bl func_803833E8
-/* 80377F30 00373B90 2C 03 00 00 */ cmpwi r3, 0
-/* 80377F34 00373B94 40 82 00 0C */ bne lbl_80377F40
-/* 80377F38 00373B98 38 60 00 00 */ li r3, 0
-/* 80377F3C 00373B9C 48 00 00 98 */ b lbl_80377FD4
-lbl_80377F40:
-/* 80377F40 00373BA0 80 03 00 00 */ lwz r0, 0(r3)
-/* 80377F44 00373BA4 7C 1E 00 40 */ cmplw r30, r0
-/* 80377F48 00373BA8 41 80 00 0C */ blt lbl_80377F54
-/* 80377F4C 00373BAC 38 60 00 00 */ li r3, 0
-/* 80377F50 00373BB0 48 00 00 84 */ b lbl_80377FD4
-lbl_80377F54:
-/* 80377F54 00373BB4 57 C0 18 38 */ slwi r0, r30, 3
-/* 80377F58 00373BB8 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377F5C 00373BBC 7C 83 02 14 */ add r4, r3, r0
-/* 80377F60 00373BC0 88 64 00 04 */ lbz r3, 4(r4)
-/* 80377F64 00373BC4 80 84 00 08 */ lwz r4, 8(r4)
-/* 80377F68 00373BC8 48 00 B4 81 */ bl func_803833E8
-/* 80377F6C 00373BCC 2C 03 00 00 */ cmpwi r3, 0
-/* 80377F70 00373BD0 7C 7E 1B 78 */ mr r30, r3
-/* 80377F74 00373BD4 40 82 00 0C */ bne lbl_80377F80
-/* 80377F78 00373BD8 38 60 00 00 */ li r3, 0
-/* 80377F7C 00373BDC 48 00 00 58 */ b lbl_80377FD4
-lbl_80377F80:
-/* 80377F80 00373BE0 88 63 00 14 */ lbz r3, 0x14(r3)
-/* 80377F84 00373BE4 80 9E 00 18 */ lwz r4, 0x18(r30)
-/* 80377F88 00373BE8 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377F8C 00373BEC 48 00 B4 5D */ bl func_803833E8
-/* 80377F90 00373BF0 2C 03 00 00 */ cmpwi r3, 0
-/* 80377F94 00373BF4 7C 7F 1B 78 */ mr r31, r3
-/* 80377F98 00373BF8 40 82 00 0C */ bne lbl_80377FA4
-/* 80377F9C 00373BFC 38 60 00 00 */ li r3, 0
-/* 80377FA0 00373C00 48 00 00 34 */ b lbl_80377FD4
-lbl_80377FA4:
-/* 80377FA4 00373C04 80 1E 00 00 */ lwz r0, 0(r30)
-/* 80377FA8 00373C08 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80377FAC 00373C0C 90 1D 00 00 */ stw r0, 0(r29)
-/* 80377FB0 00373C10 80 1E 00 04 */ lwz r0, 4(r30)
-/* 80377FB4 00373C14 90 1D 00 04 */ stw r0, 4(r29)
-/* 80377FB8 00373C18 88 7E 00 0C */ lbz r3, 0xc(r30)
-/* 80377FBC 00373C1C 80 9E 00 10 */ lwz r4, 0x10(r30)
-/* 80377FC0 00373C20 48 00 B4 29 */ bl func_803833E8
-/* 80377FC4 00373C24 90 7D 00 08 */ stw r3, 8(r29)
-/* 80377FC8 00373C28 38 60 00 01 */ li r3, 1
-/* 80377FCC 00373C2C 80 1F 00 00 */ lwz r0, 0(r31)
-/* 80377FD0 00373C30 90 1D 00 0C */ stw r0, 0xc(r29)
-lbl_80377FD4:
-/* 80377FD4 00373C34 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80377FD8 00373C38 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80377FDC 00373C3C 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80377FE0 00373C40 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80377FE4 00373C44 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80377FE8 00373C48 7C 08 03 A6 */ mtlr r0
-/* 80377FEC 00373C4C 38 21 00 20 */ addi r1, r1, 0x20
-/* 80377FF0 00373C50 4E 80 00 20 */ blr
-
-.global func_80377FF4
-func_80377FF4:
-/* 80377FF4 00373C54 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80377FF8 00373C58 7C 08 02 A6 */ mflr r0
-/* 80377FFC 00373C5C 80 E3 00 28 */ lwz r7, 0x28(r3)
-/* 80378000 00373C60 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80378004 00373C64 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80378008 00373C68 7C DF 33 78 */ mr r31, r6
-/* 8037800C 00373C6C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80378010 00373C70 7C BE 2B 78 */ mr r30, r5
-/* 80378014 00373C74 7C E5 3B 78 */ mr r5, r7
-/* 80378018 00373C78 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8037801C 00373C7C 7C 9D 23 78 */ mr r29, r4
-/* 80378020 00373C80 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80378024 00373C84 7C 7C 1B 78 */ mr r28, r3
-/* 80378028 00373C88 88 67 00 18 */ lbz r3, 0x18(r7)
-/* 8037802C 00373C8C 80 87 00 1C */ lwz r4, 0x1c(r7)
-/* 80378030 00373C90 48 00 B3 B9 */ bl func_803833E8
-/* 80378034 00373C94 2C 03 00 00 */ cmpwi r3, 0
-/* 80378038 00373C98 40 82 00 0C */ bne lbl_80378044
-/* 8037803C 00373C9C 38 60 00 00 */ li r3, 0
-/* 80378040 00373CA0 48 00 00 B4 */ b lbl_803780F4
-lbl_80378044:
-/* 80378044 00373CA4 80 03 00 00 */ lwz r0, 0(r3)
-/* 80378048 00373CA8 7C 1D 00 40 */ cmplw r29, r0
-/* 8037804C 00373CAC 41 80 00 0C */ blt lbl_80378058
-/* 80378050 00373CB0 38 60 00 00 */ li r3, 0
-/* 80378054 00373CB4 48 00 00 A0 */ b lbl_803780F4
-lbl_80378058:
-/* 80378058 00373CB8 57 A0 18 38 */ slwi r0, r29, 3
-/* 8037805C 00373CBC 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80378060 00373CC0 7C 83 02 14 */ add r4, r3, r0
-/* 80378064 00373CC4 88 64 00 04 */ lbz r3, 4(r4)
-/* 80378068 00373CC8 80 84 00 08 */ lwz r4, 8(r4)
-/* 8037806C 00373CCC 48 00 B3 7D */ bl func_803833E8
-/* 80378070 00373CD0 2C 03 00 00 */ cmpwi r3, 0
-/* 80378074 00373CD4 7C 64 1B 78 */ mr r4, r3
-/* 80378078 00373CD8 40 82 00 0C */ bne lbl_80378084
-/* 8037807C 00373CDC 38 60 00 00 */ li r3, 0
-/* 80378080 00373CE0 48 00 00 74 */ b lbl_803780F4
-lbl_80378084:
-/* 80378084 00373CE4 88 63 00 14 */ lbz r3, 0x14(r3)
-/* 80378088 00373CE8 80 84 00 18 */ lwz r4, 0x18(r4)
-/* 8037808C 00373CEC 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 80378090 00373CF0 48 00 B3 59 */ bl func_803833E8
-/* 80378094 00373CF4 2C 03 00 00 */ cmpwi r3, 0
-/* 80378098 00373CF8 40 82 00 0C */ bne lbl_803780A4
-/* 8037809C 00373CFC 38 60 00 00 */ li r3, 0
-/* 803780A0 00373D00 48 00 00 54 */ b lbl_803780F4
-lbl_803780A4:
-/* 803780A4 00373D04 80 03 00 00 */ lwz r0, 0(r3)
-/* 803780A8 00373D08 7C 1E 00 40 */ cmplw r30, r0
-/* 803780AC 00373D0C 41 80 00 0C */ blt lbl_803780B8
-/* 803780B0 00373D10 38 60 00 00 */ li r3, 0
-/* 803780B4 00373D14 48 00 00 40 */ b lbl_803780F4
-lbl_803780B8:
-/* 803780B8 00373D18 57 C0 18 38 */ slwi r0, r30, 3
-/* 803780BC 00373D1C 80 BC 00 28 */ lwz r5, 0x28(r28)
-/* 803780C0 00373D20 7C 83 02 14 */ add r4, r3, r0
-/* 803780C4 00373D24 88 64 00 04 */ lbz r3, 4(r4)
-/* 803780C8 00373D28 80 84 00 08 */ lwz r4, 8(r4)
-/* 803780CC 00373D2C 48 00 B3 1D */ bl func_803833E8
-/* 803780D0 00373D30 2C 03 00 00 */ cmpwi r3, 0
-/* 803780D4 00373D34 40 82 00 0C */ bne lbl_803780E0
-/* 803780D8 00373D38 38 60 00 00 */ li r3, 0
-/* 803780DC 00373D3C 48 00 00 18 */ b lbl_803780F4
-lbl_803780E0:
-/* 803780E0 00373D40 80 03 00 00 */ lwz r0, 0(r3)
-/* 803780E4 00373D44 90 1F 00 00 */ stw r0, 0(r31)
-/* 803780E8 00373D48 80 03 00 04 */ lwz r0, 4(r3)
-/* 803780EC 00373D4C 38 60 00 01 */ li r3, 1
-/* 803780F0 00373D50 90 1F 00 04 */ stw r0, 4(r31)
-lbl_803780F4:
-/* 803780F4 00373D54 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803780F8 00373D58 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803780FC 00373D5C 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80378100 00373D60 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80378104 00373D64 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80378108 00373D68 7C 08 03 A6 */ mtlr r0
-/* 8037810C 00373D6C 38 21 00 20 */ addi r1, r1, 0x20
-/* 80378110 00373D70 4E 80 00 20 */ blr
-
-.global lbl_80378114
-lbl_80378114:
-/* 80378114 00373D74 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80378118 00373D78 7C 08 02 A6 */ mflr r0
-/* 8037811C 00373D7C 2C 04 00 00 */ cmpwi r4, 0
-/* 80378120 00373D80 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80378124 00373D84 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80378128 00373D88 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037812C 00373D8C 7C BE 2B 78 */ mr r30, r5
-/* 80378130 00373D90 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80378134 00373D94 7C 9D 23 78 */ mr r29, r4
-/* 80378138 00373D98 93 81 00 10 */ stw r28, 0x10(r1)
-/* 8037813C 00373D9C 7C 7C 1B 78 */ mr r28, r3
-/* 80378140 00373DA0 40 82 00 0C */ bne lbl_8037814C
-/* 80378144 00373DA4 38 60 FF FF */ li r3, -1
-/* 80378148 00373DA8 48 00 00 F4 */ b lbl_8037823C
-lbl_8037814C:
-/* 8037814C 00373DAC 80 64 00 00 */ lwz r3, 0(r4)
-/* 80378150 00373DB0 80 04 00 04 */ lwz r0, 4(r4)
-/* 80378154 00373DB4 7C 03 00 40 */ cmplw r3, r0
-/* 80378158 00373DB8 41 80 00 0C */ blt lbl_80378164
-/* 8037815C 00373DBC 38 60 FF FF */ li r3, -1
-/* 80378160 00373DC0 48 00 00 DC */ b lbl_8037823C
-lbl_80378164:
-/* 80378164 00373DC4 1C 03 00 14 */ mulli r0, r3, 0x14
-/* 80378168 00373DC8 7F C3 F3 78 */ mr r3, r30
-/* 8037816C 00373DCC 7C 84 02 14 */ add r4, r4, r0
-/* 80378170 00373DD0 3B E4 00 08 */ addi r31, r4, 8
-/* 80378174 00373DD4 4B E4 E9 F1 */ bl strlen
-/* 80378178 00373DD8 38 A0 00 01 */ li r5, 1
-/* 8037817C 00373DDC 48 00 00 48 */ b lbl_803781C4
-lbl_80378180:
-/* 80378180 00373DE0 A0 1F 00 02 */ lhz r0, 2(r31)
-/* 80378184 00373DE4 7C 04 1E 70 */ srawi r4, r0, 3
-/* 80378188 00373DE8 54 06 07 7E */ clrlwi r6, r0, 0x1d
-/* 8037818C 00373DEC 7C 04 18 00 */ cmpw r4, r3
-/* 80378190 00373DF0 40 80 00 24 */ bge lbl_803781B4
-/* 80378194 00373DF4 7C 1E 20 AE */ lbzx r0, r30, r4
-/* 80378198 00373DF8 20 86 00 07 */ subfic r4, r6, 7
-/* 8037819C 00373DFC 7C A4 20 30 */ slw r4, r5, r4
-/* 803781A0 00373E00 7C 00 07 74 */ extsb r0, r0
-/* 803781A4 00373E04 7C 80 00 39 */ and. r0, r4, r0
-/* 803781A8 00373E08 41 82 00 0C */ beq lbl_803781B4
-/* 803781AC 00373E0C 80 1F 00 08 */ lwz r0, 8(r31)
-/* 803781B0 00373E10 48 00 00 08 */ b lbl_803781B8
-lbl_803781B4:
-/* 803781B4 00373E14 80 1F 00 04 */ lwz r0, 4(r31)
-lbl_803781B8:
-/* 803781B8 00373E18 1C 00 00 14 */ mulli r0, r0, 0x14
-/* 803781BC 00373E1C 7C 9D 02 14 */ add r4, r29, r0
-/* 803781C0 00373E20 3B E4 00 08 */ addi r31, r4, 8
-lbl_803781C4:
-/* 803781C4 00373E24 A0 1F 00 00 */ lhz r0, 0(r31)
-/* 803781C8 00373E28 54 00 07 FF */ clrlwi. r0, r0, 0x1f
-/* 803781CC 00373E2C 41 82 FF B4 */ beq lbl_80378180
-/* 803781D0 00373E30 80 7F 00 0C */ lwz r3, 0xc(r31)
-/* 803781D4 00373E34 3C 03 00 01 */ addis r0, r3, 1
-/* 803781D8 00373E38 28 00 FF FF */ cmplwi r0, 0xffff
-/* 803781DC 00373E3C 40 82 00 0C */ bne lbl_803781E8
-/* 803781E0 00373E40 38 80 00 00 */ li r4, 0
-/* 803781E4 00373E44 48 00 00 3C */ b lbl_80378220
-lbl_803781E8:
-/* 803781E8 00373E48 80 BC 00 30 */ lwz r5, 0x30(r28)
-/* 803781EC 00373E4C 2C 05 00 00 */ cmpwi r5, 0
-/* 803781F0 00373E50 40 82 00 0C */ bne lbl_803781FC
-/* 803781F4 00373E54 38 80 00 00 */ li r4, 0
-/* 803781F8 00373E58 48 00 00 28 */ b lbl_80378220
-lbl_803781FC:
-/* 803781FC 00373E5C 54 60 10 3A */ slwi r0, r3, 2
-/* 80378200 00373E60 80 9C 00 2C */ lwz r4, 0x2c(r28)
-/* 80378204 00373E64 7C 65 02 14 */ add r3, r5, r0
-/* 80378208 00373E68 80 03 00 04 */ lwz r0, 4(r3)
-/* 8037820C 00373E6C 2C 00 00 00 */ cmpwi r0, 0
-/* 80378210 00373E70 40 82 00 0C */ bne lbl_8037821C
-/* 80378214 00373E74 38 80 00 00 */ li r4, 0
-/* 80378218 00373E78 48 00 00 08 */ b lbl_80378220
-lbl_8037821C:
-/* 8037821C 00373E7C 7C 80 22 14 */ add r4, r0, r4
-lbl_80378220:
-/* 80378220 00373E80 7F C3 F3 78 */ mr r3, r30
-/* 80378224 00373E84 4B E5 62 29 */ bl func_801CE44C
-/* 80378228 00373E88 2C 03 00 00 */ cmpwi r3, 0
-/* 8037822C 00373E8C 40 82 00 0C */ bne lbl_80378238
-/* 80378230 00373E90 80 7F 00 10 */ lwz r3, 0x10(r31)
-/* 80378234 00373E94 48 00 00 08 */ b lbl_8037823C
-lbl_80378238:
-/* 80378238 00373E98 38 60 FF FF */ li r3, -1
-lbl_8037823C:
-/* 8037823C 00373E9C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80378240 00373EA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80378244 00373EA4 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80378248 00373EA8 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8037824C 00373EAC 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80378250 00373EB0 7C 08 03 A6 */ mtlr r0
-/* 80378254 00373EB4 38 21 00 20 */ addi r1, r1, 0x20
-/* 80378258 00373EB8 4E 80 00 20 */ blr
-
-.global func_8037825C
-func_8037825C:
-/* 8037825C 00373EBC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80378260 00373EC0 7C 08 02 A6 */ mflr r0
-/* 80378264 00373EC4 80 A3 00 28 */ lwz r5, 0x28(r3)
-/* 80378268 00373EC8 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037826C 00373ECC 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80378270 00373ED0 7C 9F 23 78 */ mr r31, r4
-/* 80378274 00373ED4 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80378278 00373ED8 7C 7E 1B 78 */ mr r30, r3
-/* 8037827C 00373EDC 88 65 00 00 */ lbz r3, 0(r5)
-/* 80378280 00373EE0 80 85 00 04 */ lwz r4, 4(r5)
-/* 80378284 00373EE4 48 00 B1 65 */ bl func_803833E8
-/* 80378288 00373EE8 2C 03 00 00 */ cmpwi r3, 0
-/* 8037828C 00373EEC 40 82 00 10 */ bne lbl_8037829C
-/* 80378290 00373EF0 80 6D B2 68 */ lwz r3, lbl_80640528-_SDA_BASE_(r13)
-/* 80378294 00373EF4 80 8D B2 6C */ lwz r4, lbl_8064052C-_SDA_BASE_(r13)
-/* 80378298 00373EF8 48 00 00 A0 */ b lbl_80378338
-lbl_8037829C:
-/* 8037829C 00373EFC 80 03 00 00 */ lwz r0, 0(r3)
-/* 803782A0 00373F00 7C 1F 00 40 */ cmplw r31, r0
-/* 803782A4 00373F04 41 80 00 10 */ blt lbl_803782B4
-/* 803782A8 00373F08 80 6D B2 68 */ lwz r3, lbl_80640528-_SDA_BASE_(r13)
-/* 803782AC 00373F0C 80 8D B2 6C */ lwz r4, lbl_8064052C-_SDA_BASE_(r13)
-/* 803782B0 00373F10 48 00 00 88 */ b lbl_80378338
-lbl_803782B4:
-/* 803782B4 00373F14 A0 1E 00 06 */ lhz r0, 6(r30)
-/* 803782B8 00373F18 28 00 01 01 */ cmplwi r0, 0x101
-/* 803782BC 00373F1C 41 80 00 54 */ blt lbl_80378310
-/* 803782C0 00373F20 57 E0 18 38 */ slwi r0, r31, 3
-/* 803782C4 00373F24 80 BE 00 28 */ lwz r5, 0x28(r30)
-/* 803782C8 00373F28 7C 83 02 14 */ add r4, r3, r0
-/* 803782CC 00373F2C 88 64 00 04 */ lbz r3, 4(r4)
-/* 803782D0 00373F30 80 84 00 08 */ lwz r4, 8(r4)
-/* 803782D4 00373F34 48 00 B1 15 */ bl func_803833E8
-/* 803782D8 00373F38 2C 03 00 00 */ cmpwi r3, 0
-/* 803782DC 00373F3C 40 82 00 18 */ bne lbl_803782F4
-/* 803782E0 00373F40 80 6D B2 68 */ lwz r3, lbl_80640528-_SDA_BASE_(r13)
-/* 803782E4 00373F44 80 0D B2 6C */ lwz r0, lbl_8064052C-_SDA_BASE_(r13)
-/* 803782E8 00373F48 90 61 00 10 */ stw r3, 0x10(r1)
-/* 803782EC 00373F4C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 803782F0 00373F50 48 00 00 14 */ b lbl_80378304
-lbl_803782F4:
-/* 803782F4 00373F54 80 83 00 18 */ lwz r4, 0x18(r3)
-/* 803782F8 00373F58 80 03 00 1C */ lwz r0, 0x1c(r3)
-/* 803782FC 00373F5C 90 81 00 10 */ stw r4, 0x10(r1)
-/* 80378300 00373F60 90 01 00 14 */ stw r0, 0x14(r1)
-lbl_80378304:
-/* 80378304 00373F64 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 80378308 00373F68 80 81 00 14 */ lwz r4, 0x14(r1)
-/* 8037830C 00373F6C 48 00 00 2C */ b lbl_80378338
-lbl_80378310:
-/* 80378310 00373F70 57 E0 18 38 */ slwi r0, r31, 3
-/* 80378314 00373F74 7C 63 02 14 */ add r3, r3, r0
-/* 80378318 00373F78 88 83 00 04 */ lbz r4, 4(r3)
-/* 8037831C 00373F7C 88 03 00 05 */ lbz r0, 5(r3)
-/* 80378320 00373F80 80 63 00 08 */ lwz r3, 8(r3)
-/* 80378324 00373F84 98 81 00 08 */ stb r4, 8(r1)
-/* 80378328 00373F88 38 83 00 1C */ addi r4, r3, 0x1c
-/* 8037832C 00373F8C 98 01 00 09 */ stb r0, 9(r1)
-/* 80378330 00373F90 90 81 00 0C */ stw r4, 0xc(r1)
-/* 80378334 00373F94 80 61 00 08 */ lwz r3, 8(r1)
-lbl_80378338:
-/* 80378338 00373F98 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8037833C 00373F9C 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80378340 00373FA0 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80378344 00373FA4 7C 08 03 A6 */ mtlr r0
-/* 80378348 00373FA8 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037834C 00373FAC 4E 80 00 20 */ blr
-
.global func_80378350
func_80378350:
/* 80378350 00373FB0 94 21 FF F0 */ stwu r1, -0x10(r1)
diff --git a/obj_files.mk b/obj_files.mk
index 6816857..dfcd7f5 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -139,7 +139,8 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_SeqTrack.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_Sound3DListener.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_Sound3DManager.o \
- $(BUILD_DIR)/asm/nw4r/snd/snd_SoundArchive.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_SoundArchive.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_SoundArchiveFile.o \
$(BUILD_DIR)/asm/text_10_6.o \
$(BUILD_DIR)/asm/text_11.o