summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-09-26 12:16:14 -0400
committerMax <mparisi@stevens.edu>2020-09-26 12:16:14 -0400
commitdb213ae9be5f619ea44a21941d4cc7de9e4fd590 (patch)
treecd1b897b84dc99a81ab37005359c3f294a85be93
parenta63cc1788ff717b0381f7f2d9db92e67b36e21b8 (diff)
split snd_StrmChannel and snd_StrmFile
-rw-r--r--asm/nw4r/snd/detail/snd_StrmChannel.s159
-rw-r--r--asm/nw4r/snd/detail/snd_StrmFile.s412
-rw-r--r--asm/nw4r/snd/snd_SoundArchivePlayer.s4
-rw-r--r--asm/text_10_6.s583
-rw-r--r--obj_files.mk2
5 files changed, 584 insertions, 576 deletions
diff --git a/asm/nw4r/snd/detail/snd_StrmChannel.s b/asm/nw4r/snd/detail/snd_StrmChannel.s
new file mode 100644
index 0000000..69e627d
--- /dev/null
+++ b/asm/nw4r/snd/detail/snd_StrmChannel.s
@@ -0,0 +1,159 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global Setup__Q44nw4r3snd6detail14StrmBufferPoolFPvUli
+Setup__Q44nw4r3snd6detail14StrmBufferPoolFPvUli:
+/* 8037CAC4 00378724 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8037CAC8 00378728 7C 08 02 A6 */ mflr r0
+/* 8037CACC 0037872C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037CAD0 00378730 39 61 00 20 */ addi r11, r1, 0x20
+/* 8037CAD4 00378734 4B E4 A6 55 */ bl _savegpr_27
+/* 8037CAD8 00378738 2C 06 00 00 */ cmpwi r6, 0
+/* 8037CADC 0037873C 7C 7B 1B 78 */ mr r27, r3
+/* 8037CAE0 00378740 7C 9C 23 78 */ mr r28, r4
+/* 8037CAE4 00378744 7C BD 2B 78 */ mr r29, r5
+/* 8037CAE8 00378748 7C DE 33 78 */ mr r30, r6
+/* 8037CAEC 0037874C 41 82 00 40 */ beq lbl_8037CB2C
+/* 8037CAF0 00378750 4B EF 1C 6D */ bl OSDisableInterrupts
+/* 8037CAF4 00378754 7C 9D F3 96 */ divwu r4, r29, r30
+/* 8037CAF8 00378758 38 00 00 00 */ li r0, 0
+/* 8037CAFC 0037875C 7C 7F 1B 78 */ mr r31, r3
+/* 8037CB00 00378760 93 9B 00 00 */ stw r28, 0(r27)
+/* 8037CB04 00378764 38 7B 00 14 */ addi r3, r27, 0x14
+/* 8037CB08 00378768 93 BB 00 04 */ stw r29, 4(r27)
+/* 8037CB0C 0037876C 90 9B 00 08 */ stw r4, 8(r27)
+/* 8037CB10 00378770 38 80 00 00 */ li r4, 0
+/* 8037CB14 00378774 38 A0 00 04 */ li r5, 4
+/* 8037CB18 00378778 93 DB 00 0C */ stw r30, 0xc(r27)
+/* 8037CB1C 0037877C 90 1B 00 10 */ stw r0, 0x10(r27)
+/* 8037CB20 00378780 4B C8 75 E5 */ bl memset
+/* 8037CB24 00378784 7F E3 FB 78 */ mr r3, r31
+/* 8037CB28 00378788 4B EF 1C 5D */ bl OSRestoreInterrupts
+lbl_8037CB2C:
+/* 8037CB2C 0037878C 39 61 00 20 */ addi r11, r1, 0x20
+/* 8037CB30 00378790 4B E4 A6 45 */ bl _restgpr_27
+/* 8037CB34 00378794 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8037CB38 00378798 7C 08 03 A6 */ mtlr r0
+/* 8037CB3C 0037879C 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037CB40 003787A0 4E 80 00 20 */ blr
+
+.global Shutdown__Q44nw4r3snd6detail14StrmBufferPoolFv
+Shutdown__Q44nw4r3snd6detail14StrmBufferPoolFv:
+/* 8037CB44 003787A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037CB48 003787A8 7C 08 02 A6 */ mflr r0
+/* 8037CB4C 003787AC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037CB50 003787B0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037CB54 003787B4 7C 7F 1B 78 */ mr r31, r3
+/* 8037CB58 003787B8 4B EF 1C 05 */ bl OSDisableInterrupts
+/* 8037CB5C 003787BC 38 00 00 00 */ li r0, 0
+/* 8037CB60 003787C0 90 1F 00 00 */ stw r0, 0(r31)
+/* 8037CB64 003787C4 90 1F 00 04 */ stw r0, 4(r31)
+/* 8037CB68 003787C8 90 1F 00 08 */ stw r0, 8(r31)
+/* 8037CB6C 003787CC 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8037CB70 003787D0 4B EF 1C 15 */ bl OSRestoreInterrupts
+/* 8037CB74 003787D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037CB78 003787D8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037CB7C 003787DC 7C 08 03 A6 */ mtlr r0
+/* 8037CB80 003787E0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037CB84 003787E4 4E 80 00 20 */ blr
+
+.global Alloc__Q44nw4r3snd6detail14StrmBufferPoolFv
+Alloc__Q44nw4r3snd6detail14StrmBufferPoolFv:
+/* 8037CB88 003787E8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037CB8C 003787EC 7C 08 02 A6 */ mflr r0
+/* 8037CB90 003787F0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037CB94 003787F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037CB98 003787F8 7C 7F 1B 78 */ mr r31, r3
+/* 8037CB9C 003787FC 4B EF 1B C1 */ bl OSDisableInterrupts
+/* 8037CBA0 00378800 80 9F 00 0C */ lwz r4, 0xc(r31)
+/* 8037CBA4 00378804 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 8037CBA8 00378808 7C 00 20 00 */ cmpw r0, r4
+/* 8037CBAC 0037880C 41 80 00 10 */ blt lbl_8037CBBC
+/* 8037CBB0 00378810 4B EF 1B D5 */ bl OSRestoreInterrupts
+/* 8037CBB4 00378814 38 60 00 00 */ li r3, 0
+/* 8037CBB8 00378818 48 00 00 A0 */ b lbl_8037CC58
+lbl_8037CBBC:
+/* 8037CBBC 0037881C 38 04 00 07 */ addi r0, r4, 7
+/* 8037CBC0 00378820 39 00 00 00 */ li r8, 0
+/* 8037CBC4 00378824 54 04 00 38 */ rlwinm r4, r0, 0, 0, 0x1c
+/* 8037CBC8 00378828 7C 84 1E 70 */ srawi r4, r4, 3
+/* 8037CBCC 0037882C 38 00 00 08 */ li r0, 8
+/* 8037CBD0 00378830 7C E4 01 94 */ addze r7, r4
+/* 8037CBD4 00378834 48 00 00 74 */ b lbl_8037CC48
+lbl_8037CBD8:
+/* 8037CBD8 00378838 7C DF 42 14 */ add r6, r31, r8
+/* 8037CBDC 0037883C 88 A6 00 14 */ lbz r5, 0x14(r6)
+/* 8037CBE0 00378840 28 05 00 FF */ cmplwi r5, 0xff
+/* 8037CBE4 00378844 41 82 00 60 */ beq lbl_8037CC44
+/* 8037CBE8 00378848 39 20 00 01 */ li r9, 1
+/* 8037CBEC 0037884C 39 40 00 00 */ li r10, 0
+/* 8037CBF0 00378850 7C 09 03 A6 */ mtctr r0
+lbl_8037CBF4:
+/* 8037CBF4 00378854 7C A4 48 39 */ and. r4, r5, r9
+/* 8037CBF8 00378858 40 82 00 40 */ bne lbl_8037CC38
+/* 8037CBFC 0037885C 88 86 00 14 */ lbz r4, 0x14(r6)
+/* 8037CC00 00378860 55 00 18 38 */ slwi r0, r8, 3
+/* 8037CC04 00378864 7C 0A 02 14 */ add r0, r10, r0
+/* 8037CC08 00378868 7C 84 4B 78 */ or r4, r4, r9
+/* 8037CC0C 0037886C 98 86 00 14 */ stb r4, 0x14(r6)
+/* 8037CC10 00378870 80 9F 00 08 */ lwz r4, 8(r31)
+/* 8037CC14 00378874 80 BF 00 10 */ lwz r5, 0x10(r31)
+/* 8037CC18 00378878 7C 84 01 D6 */ mullw r4, r4, r0
+/* 8037CC1C 0037887C 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8037CC20 00378880 38 A5 00 01 */ addi r5, r5, 1
+/* 8037CC24 00378884 90 BF 00 10 */ stw r5, 0x10(r31)
+/* 8037CC28 00378888 7F E4 02 14 */ add r31, r4, r0
+/* 8037CC2C 0037888C 4B EF 1B 59 */ bl OSRestoreInterrupts
+/* 8037CC30 00378890 7F E3 FB 78 */ mr r3, r31
+/* 8037CC34 00378894 48 00 00 24 */ b lbl_8037CC58
+lbl_8037CC38:
+/* 8037CC38 00378898 55 29 0E 3C */ rlwinm r9, r9, 1, 0x18, 0x1e
+/* 8037CC3C 0037889C 39 4A 00 01 */ addi r10, r10, 1
+/* 8037CC40 003788A0 42 00 FF B4 */ bdnz lbl_8037CBF4
+lbl_8037CC44:
+/* 8037CC44 003788A4 39 08 00 01 */ addi r8, r8, 1
+lbl_8037CC48:
+/* 8037CC48 003788A8 7C 08 38 00 */ cmpw r8, r7
+/* 8037CC4C 003788AC 41 80 FF 8C */ blt lbl_8037CBD8
+/* 8037CC50 003788B0 4B EF 1B 35 */ bl OSRestoreInterrupts
+/* 8037CC54 003788B4 38 60 00 00 */ li r3, 0
+lbl_8037CC58:
+/* 8037CC58 003788B8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037CC5C 003788BC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037CC60 003788C0 7C 08 03 A6 */ mtlr r0
+/* 8037CC64 003788C4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037CC68 003788C8 4E 80 00 20 */ blr
+
+.global Free__Q44nw4r3snd6detail14StrmBufferPoolFPv
+Free__Q44nw4r3snd6detail14StrmBufferPoolFPv:
+/* 8037CC6C 003788CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037CC70 003788D0 7C 08 02 A6 */ mflr r0
+/* 8037CC74 003788D4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037CC78 003788D8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037CC7C 003788DC 7C 9F 23 78 */ mr r31, r4
+/* 8037CC80 003788E0 93 C1 00 08 */ stw r30, 8(r1)
+/* 8037CC84 003788E4 7C 7E 1B 78 */ mr r30, r3
+/* 8037CC88 003788E8 4B EF 1A D5 */ bl OSDisableInterrupts
+/* 8037CC8C 003788EC 80 BE 00 00 */ lwz r5, 0(r30)
+/* 8037CC90 003788F0 38 80 00 01 */ li r4, 1
+/* 8037CC94 003788F4 80 1E 00 08 */ lwz r0, 8(r30)
+/* 8037CC98 003788F8 7C A5 F8 50 */ subf r5, r5, r31
+/* 8037CC9C 003788FC 7C A5 03 96 */ divwu r5, r5, r0
+/* 8037CCA0 00378900 54 A0 E8 FE */ srwi r0, r5, 3
+/* 8037CCA4 00378904 7C DE 02 14 */ add r6, r30, r0
+/* 8037CCA8 00378908 54 A0 07 7E */ clrlwi r0, r5, 0x1d
+/* 8037CCAC 0037890C 88 A6 00 14 */ lbz r5, 0x14(r6)
+/* 8037CCB0 00378910 7C 80 00 30 */ slw r0, r4, r0
+/* 8037CCB4 00378914 7C A0 00 78 */ andc r0, r5, r0
+/* 8037CCB8 00378918 98 06 00 14 */ stb r0, 0x14(r6)
+/* 8037CCBC 0037891C 80 9E 00 10 */ lwz r4, 0x10(r30)
+/* 8037CCC0 00378920 38 04 FF FF */ addi r0, r4, -1
+/* 8037CCC4 00378924 90 1E 00 10 */ stw r0, 0x10(r30)
+/* 8037CCC8 00378928 4B EF 1A BD */ bl OSRestoreInterrupts
+/* 8037CCCC 0037892C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037CCD0 00378930 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037CCD4 00378934 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8037CCD8 00378938 7C 08 03 A6 */ mtlr r0
+/* 8037CCDC 0037893C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037CCE0 00378940 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/detail/snd_StrmFile.s b/asm/nw4r/snd/detail/snd_StrmFile.s
new file mode 100644
index 0000000..f48301a
--- /dev/null
+++ b/asm/nw4r/snd/detail/snd_StrmFile.s
@@ -0,0 +1,412 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail14StrmFileReaderFv
+__ct__Q44nw4r3snd6detail14StrmFileReaderFv:
+/* 8037CCE4 00378944 38 00 00 00 */ li r0, 0
+/* 8037CCE8 00378948 90 03 00 00 */ stw r0, 0(r3)
+/* 8037CCEC 0037894C 90 03 00 04 */ stw r0, 4(r3)
+/* 8037CCF0 00378950 4E 80 00 20 */ blr
+
+.global ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail8StrmInfo
+ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail8StrmInfo:
+/* 8037CCF4 00378954 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037CCF8 00378958 7C 08 02 A6 */ mflr r0
+/* 8037CCFC 0037895C 80 63 00 04 */ lwz r3, 4(r3)
+/* 8037CD00 00378960 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037CD04 00378964 38 A3 00 08 */ addi r5, r3, 8
+/* 8037CD08 00378968 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037CD0C 0037896C 7C 9F 23 78 */ mr r31, r4
+/* 8037CD10 00378970 88 63 00 08 */ lbz r3, 8(r3)
+/* 8037CD14 00378974 80 85 00 04 */ lwz r4, 4(r5)
+/* 8037CD18 00378978 48 00 66 D1 */ bl func_803833E8
+/* 8037CD1C 0037897C 88 03 00 00 */ lbz r0, 0(r3)
+/* 8037CD20 00378980 98 1F 00 00 */ stb r0, 0(r31)
+/* 8037CD24 00378984 88 03 00 01 */ lbz r0, 1(r3)
+/* 8037CD28 00378988 98 1F 00 01 */ stb r0, 1(r31)
+/* 8037CD2C 0037898C 88 03 00 02 */ lbz r0, 2(r3)
+/* 8037CD30 00378990 98 1F 00 02 */ stb r0, 2(r31)
+/* 8037CD34 00378994 88 83 00 03 */ lbz r4, 3(r3)
+/* 8037CD38 00378998 A0 03 00 04 */ lhz r0, 4(r3)
+/* 8037CD3C 0037899C 54 84 80 1E */ slwi r4, r4, 0x10
+/* 8037CD40 003789A0 7C 04 02 14 */ add r0, r4, r0
+/* 8037CD44 003789A4 90 1F 00 04 */ stw r0, 4(r31)
+/* 8037CD48 003789A8 A0 03 00 06 */ lhz r0, 6(r3)
+/* 8037CD4C 003789AC B0 1F 00 08 */ sth r0, 8(r31)
+/* 8037CD50 003789B0 80 03 00 08 */ lwz r0, 8(r3)
+/* 8037CD54 003789B4 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8037CD58 003789B8 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8037CD5C 003789BC 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 8037CD60 003789C0 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 8037CD64 003789C4 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 8037CD68 003789C8 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 8037CD6C 003789CC 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 8037CD70 003789D0 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8037CD74 003789D4 90 1F 00 1C */ stw r0, 0x1c(r31)
+/* 8037CD78 003789D8 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8037CD7C 003789DC 90 1F 00 20 */ stw r0, 0x20(r31)
+/* 8037CD80 003789E0 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8037CD84 003789E4 90 1F 00 24 */ stw r0, 0x24(r31)
+/* 8037CD88 003789E8 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 8037CD8C 003789EC 90 1F 00 28 */ stw r0, 0x28(r31)
+/* 8037CD90 003789F0 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 8037CD94 003789F4 90 1F 00 2C */ stw r0, 0x2c(r31)
+/* 8037CD98 003789F8 80 03 00 2C */ lwz r0, 0x2c(r3)
+/* 8037CD9C 003789FC 90 1F 00 30 */ stw r0, 0x30(r31)
+/* 8037CDA0 00378A00 80 03 00 30 */ lwz r0, 0x30(r3)
+/* 8037CDA4 00378A04 38 60 00 01 */ li r3, 1
+/* 8037CDA8 00378A08 90 1F 00 34 */ stw r0, 0x34(r31)
+/* 8037CDAC 00378A0C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037CDB0 00378A10 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037CDB4 00378A14 7C 08 03 A6 */ mtlr r0
+/* 8037CDB8 00378A18 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037CDBC 00378A1C 4E 80 00 20 */ blr
+
+.global ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail9AdpcmInfoi
+ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail9AdpcmInfoi:
+/* 8037CDC0 00378A20 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8037CDC4 00378A24 7C 08 02 A6 */ mflr r0
+/* 8037CDC8 00378A28 80 C3 00 04 */ lwz r6, 4(r3)
+/* 8037CDCC 00378A2C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037CDD0 00378A30 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8037CDD4 00378A34 7C 9F 23 78 */ mr r31, r4
+/* 8037CDD8 00378A38 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037CDDC 00378A3C 7C BE 2B 78 */ mr r30, r5
+/* 8037CDE0 00378A40 38 A6 00 08 */ addi r5, r6, 8
+/* 8037CDE4 00378A44 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8037CDE8 00378A48 7C 7D 1B 78 */ mr r29, r3
+/* 8037CDEC 00378A4C 88 66 00 08 */ lbz r3, 8(r6)
+/* 8037CDF0 00378A50 80 86 00 0C */ lwz r4, 0xc(r6)
+/* 8037CDF4 00378A54 48 00 65 F5 */ bl func_803833E8
+/* 8037CDF8 00378A58 88 03 00 00 */ lbz r0, 0(r3)
+/* 8037CDFC 00378A5C 28 00 00 02 */ cmplwi r0, 2
+/* 8037CE00 00378A60 41 82 00 0C */ beq lbl_8037CE0C
+/* 8037CE04 00378A64 38 60 00 00 */ li r3, 0
+/* 8037CE08 00378A68 48 00 01 24 */ b lbl_8037CF2C
+lbl_8037CE0C:
+/* 8037CE0C 00378A6C 80 9D 00 04 */ lwz r4, 4(r29)
+/* 8037CE10 00378A70 88 64 00 18 */ lbz r3, 0x18(r4)
+/* 8037CE14 00378A74 38 A4 00 08 */ addi r5, r4, 8
+/* 8037CE18 00378A78 80 84 00 1C */ lwz r4, 0x1c(r4)
+/* 8037CE1C 00378A7C 48 00 65 CD */ bl func_803833E8
+/* 8037CE20 00378A80 88 03 00 00 */ lbz r0, 0(r3)
+/* 8037CE24 00378A84 7C 1E 00 00 */ cmpw r30, r0
+/* 8037CE28 00378A88 41 80 00 0C */ blt lbl_8037CE34
+/* 8037CE2C 00378A8C 38 60 00 00 */ li r3, 0
+/* 8037CE30 00378A90 48 00 00 FC */ b lbl_8037CF2C
+lbl_8037CE34:
+/* 8037CE34 00378A94 57 C0 18 38 */ slwi r0, r30, 3
+/* 8037CE38 00378A98 80 9D 00 04 */ lwz r4, 4(r29)
+/* 8037CE3C 00378A9C 7C C3 02 14 */ add r6, r3, r0
+/* 8037CE40 00378AA0 38 A4 00 08 */ addi r5, r4, 8
+/* 8037CE44 00378AA4 88 66 00 04 */ lbz r3, 4(r6)
+/* 8037CE48 00378AA8 80 86 00 08 */ lwz r4, 8(r6)
+/* 8037CE4C 00378AAC 48 00 65 9D */ bl func_803833E8
+/* 8037CE50 00378AB0 7C 64 1B 78 */ mr r4, r3
+/* 8037CE54 00378AB4 80 BD 00 04 */ lwz r5, 4(r29)
+/* 8037CE58 00378AB8 88 63 00 00 */ lbz r3, 0(r3)
+/* 8037CE5C 00378ABC 80 84 00 04 */ lwz r4, 4(r4)
+/* 8037CE60 00378AC0 38 A5 00 08 */ addi r5, r5, 8
+/* 8037CE64 00378AC4 48 00 65 85 */ bl func_803833E8
+/* 8037CE68 00378AC8 A0 83 00 00 */ lhz r4, 0(r3)
+/* 8037CE6C 00378ACC A0 03 00 02 */ lhz r0, 2(r3)
+/* 8037CE70 00378AD0 B0 9F 00 00 */ sth r4, 0(r31)
+/* 8037CE74 00378AD4 B0 1F 00 02 */ sth r0, 2(r31)
+/* 8037CE78 00378AD8 A0 83 00 04 */ lhz r4, 4(r3)
+/* 8037CE7C 00378ADC A0 03 00 06 */ lhz r0, 6(r3)
+/* 8037CE80 00378AE0 B0 9F 00 04 */ sth r4, 4(r31)
+/* 8037CE84 00378AE4 B0 1F 00 06 */ sth r0, 6(r31)
+/* 8037CE88 00378AE8 A0 83 00 08 */ lhz r4, 8(r3)
+/* 8037CE8C 00378AEC A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 8037CE90 00378AF0 B0 9F 00 08 */ sth r4, 8(r31)
+/* 8037CE94 00378AF4 B0 1F 00 0A */ sth r0, 0xa(r31)
+/* 8037CE98 00378AF8 A0 83 00 0C */ lhz r4, 0xc(r3)
+/* 8037CE9C 00378AFC A0 03 00 0E */ lhz r0, 0xe(r3)
+/* 8037CEA0 00378B00 B0 9F 00 0C */ sth r4, 0xc(r31)
+/* 8037CEA4 00378B04 B0 1F 00 0E */ sth r0, 0xe(r31)
+/* 8037CEA8 00378B08 A0 83 00 10 */ lhz r4, 0x10(r3)
+/* 8037CEAC 00378B0C A0 03 00 12 */ lhz r0, 0x12(r3)
+/* 8037CEB0 00378B10 B0 9F 00 10 */ sth r4, 0x10(r31)
+/* 8037CEB4 00378B14 B0 1F 00 12 */ sth r0, 0x12(r31)
+/* 8037CEB8 00378B18 A0 83 00 14 */ lhz r4, 0x14(r3)
+/* 8037CEBC 00378B1C A0 03 00 16 */ lhz r0, 0x16(r3)
+/* 8037CEC0 00378B20 B0 9F 00 14 */ sth r4, 0x14(r31)
+/* 8037CEC4 00378B24 B0 1F 00 16 */ sth r0, 0x16(r31)
+/* 8037CEC8 00378B28 A0 83 00 18 */ lhz r4, 0x18(r3)
+/* 8037CECC 00378B2C A0 03 00 1A */ lhz r0, 0x1a(r3)
+/* 8037CED0 00378B30 B0 9F 00 18 */ sth r4, 0x18(r31)
+/* 8037CED4 00378B34 B0 1F 00 1A */ sth r0, 0x1a(r31)
+/* 8037CED8 00378B38 A0 83 00 1C */ lhz r4, 0x1c(r3)
+/* 8037CEDC 00378B3C A0 03 00 1E */ lhz r0, 0x1e(r3)
+/* 8037CEE0 00378B40 B0 9F 00 1C */ sth r4, 0x1c(r31)
+/* 8037CEE4 00378B44 B0 1F 00 1E */ sth r0, 0x1e(r31)
+/* 8037CEE8 00378B48 A0 83 00 20 */ lhz r4, 0x20(r3)
+/* 8037CEEC 00378B4C A0 03 00 22 */ lhz r0, 0x22(r3)
+/* 8037CEF0 00378B50 B0 9F 00 20 */ sth r4, 0x20(r31)
+/* 8037CEF4 00378B54 B0 1F 00 22 */ sth r0, 0x22(r31)
+/* 8037CEF8 00378B58 A0 83 00 24 */ lhz r4, 0x24(r3)
+/* 8037CEFC 00378B5C A0 03 00 26 */ lhz r0, 0x26(r3)
+/* 8037CF00 00378B60 B0 9F 00 24 */ sth r4, 0x24(r31)
+/* 8037CF04 00378B64 B0 1F 00 26 */ sth r0, 0x26(r31)
+/* 8037CF08 00378B68 A0 03 00 28 */ lhz r0, 0x28(r3)
+/* 8037CF0C 00378B6C B0 1F 00 28 */ sth r0, 0x28(r31)
+/* 8037CF10 00378B70 A0 03 00 2A */ lhz r0, 0x2a(r3)
+/* 8037CF14 00378B74 B0 1F 00 2A */ sth r0, 0x2a(r31)
+/* 8037CF18 00378B78 A0 03 00 2C */ lhz r0, 0x2c(r3)
+/* 8037CF1C 00378B7C B0 1F 00 2C */ sth r0, 0x2c(r31)
+/* 8037CF20 00378B80 A0 03 00 2E */ lhz r0, 0x2e(r3)
+/* 8037CF24 00378B84 38 60 00 01 */ li r3, 1
+/* 8037CF28 00378B88 B0 1F 00 2E */ sth r0, 0x2e(r31)
+lbl_8037CF2C:
+/* 8037CF2C 00378B8C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8037CF30 00378B90 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8037CF34 00378B94 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8037CF38 00378B98 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8037CF3C 00378B9C 7C 08 03 A6 */ mtlr r0
+/* 8037CF40 00378BA0 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037CF44 00378BA4 4E 80 00 20 */ blr
+
+.global LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl
+LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl:
+/* 8037CF48 00378BA8 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 8037CF4C 00378BAC 7C 08 02 A6 */ mflr r0
+/* 8037CF50 00378BB0 90 01 00 84 */ stw r0, 0x84(r1)
+/* 8037CF54 00378BB4 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 8037CF58 00378BB8 7C 9F 23 78 */ mr r31, r4
+/* 8037CF5C 00378BBC 38 80 00 00 */ li r4, 0
+/* 8037CF60 00378BC0 93 C1 00 78 */ stw r30, 0x78(r1)
+/* 8037CF64 00378BC4 7C 7E 1B 78 */ mr r30, r3
+/* 8037CF68 00378BC8 93 A1 00 74 */ stw r29, 0x74(r1)
+/* 8037CF6C 00378BCC 93 81 00 70 */ stw r28, 0x70(r1)
+/* 8037CF70 00378BD0 7C BC 2B 78 */ mr r28, r5
+/* 8037CF74 00378BD4 38 A0 00 00 */ li r5, 0
+/* 8037CF78 00378BD8 80 63 00 00 */ lwz r3, 0(r3)
+/* 8037CF7C 00378BDC 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037CF80 00378BE0 81 8C 00 44 */ lwz r12, 0x44(r12)
+/* 8037CF84 00378BE4 7D 89 03 A6 */ mtctr r12
+/* 8037CF88 00378BE8 4E 80 04 21 */ bctrl
+/* 8037CF8C 00378BEC 80 7E 00 00 */ lwz r3, 0(r30)
+/* 8037CF90 00378BF0 38 01 00 27 */ addi r0, r1, 0x27
+/* 8037CF94 00378BF4 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
+/* 8037CF98 00378BF8 38 A0 00 40 */ li r5, 0x40
+/* 8037CF9C 00378BFC 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037CFA0 00378C00 7F A4 EB 78 */ mr r4, r29
+/* 8037CFA4 00378C04 81 8C 00 14 */ lwz r12, 0x14(r12)
+/* 8037CFA8 00378C08 7D 89 03 A6 */ mtctr r12
+/* 8037CFAC 00378C0C 4E 80 04 21 */ bctrl
+/* 8037CFB0 00378C10 28 03 00 40 */ cmplwi r3, 0x40
+/* 8037CFB4 00378C14 41 82 00 0C */ beq lbl_8037CFC0
+/* 8037CFB8 00378C18 38 60 00 00 */ li r3, 0
+/* 8037CFBC 00378C1C 48 00 01 30 */ b lbl_8037D0EC
+lbl_8037CFC0:
+/* 8037CFC0 00378C20 80 7D 00 00 */ lwz r3, 0(r29)
+/* 8037CFC4 00378C24 3C 03 AD AD */ addis r0, r3, 0xadad
+/* 8037CFC8 00378C28 28 00 54 4D */ cmplwi r0, 0x544d
+/* 8037CFCC 00378C2C 41 82 00 0C */ beq lbl_8037CFD8
+/* 8037CFD0 00378C30 38 00 00 00 */ li r0, 0
+/* 8037CFD4 00378C34 48 00 00 30 */ b lbl_8037D004
+lbl_8037CFD8:
+/* 8037CFD8 00378C38 A0 9D 00 06 */ lhz r4, 6(r29)
+/* 8037CFDC 00378C3C 28 04 01 00 */ cmplwi r4, 0x100
+/* 8037CFE0 00378C40 40 80 00 0C */ bge lbl_8037CFEC
+/* 8037CFE4 00378C44 38 00 00 00 */ li r0, 0
+/* 8037CFE8 00378C48 48 00 00 1C */ b lbl_8037D004
+lbl_8037CFEC:
+/* 8037CFEC 00378C4C 20 04 01 00 */ subfic r0, r4, 0x100
+/* 8037CFF0 00378C50 38 60 01 00 */ li r3, 0x100
+/* 8037CFF4 00378C54 7C 63 23 38 */ orc r3, r3, r4
+/* 8037CFF8 00378C58 54 00 F8 7E */ srwi r0, r0, 1
+/* 8037CFFC 00378C5C 7C 00 18 50 */ subf r0, r0, r3
+/* 8037D000 00378C60 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_8037D004:
+/* 8037D004 00378C64 2C 00 00 00 */ cmpwi r0, 0
+/* 8037D008 00378C68 40 82 00 0C */ bne lbl_8037D014
+/* 8037D00C 00378C6C 38 60 00 00 */ li r3, 0
+/* 8037D010 00378C70 48 00 00 DC */ b lbl_8037D0EC
+lbl_8037D014:
+/* 8037D014 00378C74 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 8037D018 00378C78 7C 00 E0 40 */ cmplw r0, r28
+/* 8037D01C 00378C7C 40 81 00 0C */ ble lbl_8037D028
+/* 8037D020 00378C80 38 60 00 00 */ li r3, 0
+/* 8037D024 00378C84 48 00 00 C8 */ b lbl_8037D0EC
+lbl_8037D028:
+/* 8037D028 00378C88 80 7E 00 00 */ lwz r3, 0(r30)
+/* 8037D02C 00378C8C 38 80 00 00 */ li r4, 0
+/* 8037D030 00378C90 80 DD 00 10 */ lwz r6, 0x10(r29)
+/* 8037D034 00378C94 38 A0 00 00 */ li r5, 0
+/* 8037D038 00378C98 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037D03C 00378C9C 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 8037D040 00378CA0 81 8C 00 44 */ lwz r12, 0x44(r12)
+/* 8037D044 00378CA4 7F A6 02 14 */ add r29, r6, r0
+/* 8037D048 00378CA8 7D 89 03 A6 */ mtctr r12
+/* 8037D04C 00378CAC 4E 80 04 21 */ bctrl
+/* 8037D050 00378CB0 80 7E 00 00 */ lwz r3, 0(r30)
+/* 8037D054 00378CB4 7F E4 FB 78 */ mr r4, r31
+/* 8037D058 00378CB8 7F A5 EB 78 */ mr r5, r29
+/* 8037D05C 00378CBC 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037D060 00378CC0 81 8C 00 14 */ lwz r12, 0x14(r12)
+/* 8037D064 00378CC4 7D 89 03 A6 */ mtctr r12
+/* 8037D068 00378CC8 4E 80 04 21 */ bctrl
+/* 8037D06C 00378CCC 7C 03 E8 40 */ cmplw r3, r29
+/* 8037D070 00378CD0 41 82 00 0C */ beq lbl_8037D07C
+/* 8037D074 00378CD4 38 60 00 00 */ li r3, 0
+/* 8037D078 00378CD8 48 00 00 74 */ b lbl_8037D0EC
+lbl_8037D07C:
+/* 8037D07C 00378CDC 80 7F 00 00 */ lwz r3, 0(r31)
+/* 8037D080 00378CE0 3C 03 AD AD */ addis r0, r3, 0xadad
+/* 8037D084 00378CE4 28 00 54 4D */ cmplwi r0, 0x544d
+/* 8037D088 00378CE8 41 82 00 0C */ beq lbl_8037D094
+/* 8037D08C 00378CEC 38 00 00 00 */ li r0, 0
+/* 8037D090 00378CF0 48 00 00 30 */ b lbl_8037D0C0
+lbl_8037D094:
+/* 8037D094 00378CF4 A0 9F 00 06 */ lhz r4, 6(r31)
+/* 8037D098 00378CF8 28 04 01 00 */ cmplwi r4, 0x100
+/* 8037D09C 00378CFC 40 80 00 0C */ bge lbl_8037D0A8
+/* 8037D0A0 00378D00 38 00 00 00 */ li r0, 0
+/* 8037D0A4 00378D04 48 00 00 1C */ b lbl_8037D0C0
+lbl_8037D0A8:
+/* 8037D0A8 00378D08 20 04 01 00 */ subfic r0, r4, 0x100
+/* 8037D0AC 00378D0C 38 60 01 00 */ li r3, 0x100
+/* 8037D0B0 00378D10 7C 63 23 38 */ orc r3, r3, r4
+/* 8037D0B4 00378D14 54 00 F8 7E */ srwi r0, r0, 1
+/* 8037D0B8 00378D18 7C 00 18 50 */ subf r0, r0, r3
+/* 8037D0BC 00378D1C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_8037D0C0:
+/* 8037D0C0 00378D20 2C 00 00 00 */ cmpwi r0, 0
+/* 8037D0C4 00378D24 41 82 00 24 */ beq lbl_8037D0E8
+/* 8037D0C8 00378D28 93 FE 00 04 */ stw r31, 4(r30)
+/* 8037D0CC 00378D2C 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 8037D0D0 00378D30 7C 60 FA 14 */ add r3, r0, r31
+/* 8037D0D4 00378D34 90 7E 00 08 */ stw r3, 8(r30)
+/* 8037D0D8 00378D38 38 A3 00 08 */ addi r5, r3, 8
+/* 8037D0DC 00378D3C 88 63 00 08 */ lbz r3, 8(r3)
+/* 8037D0E0 00378D40 80 85 00 04 */ lwz r4, 4(r5)
+/* 8037D0E4 00378D44 48 00 63 05 */ bl func_803833E8
+lbl_8037D0E8:
+/* 8037D0E8 00378D48 38 60 00 01 */ li r3, 1
+lbl_8037D0EC:
+/* 8037D0EC 00378D4C 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 8037D0F0 00378D50 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 8037D0F4 00378D54 83 C1 00 78 */ lwz r30, 0x78(r1)
+/* 8037D0F8 00378D58 83 A1 00 74 */ lwz r29, 0x74(r1)
+/* 8037D0FC 00378D5C 83 81 00 70 */ lwz r28, 0x70(r1)
+/* 8037D100 00378D60 7C 08 03 A6 */ mtlr r0
+/* 8037D104 00378D64 38 21 00 80 */ addi r1, r1, 0x80
+/* 8037D108 00378D68 4E 80 00 20 */ blr
+
+.global ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii
+ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii:
+/* 8037D10C 00378D6C 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 8037D110 00378D70 7C 2C 0B 78 */ mr r12, r1
+/* 8037D114 00378D74 21 6B FF A0 */ subfic r11, r11, -96
+/* 8037D118 00378D78 7C 21 59 6E */ stwux r1, r1, r11
+/* 8037D11C 00378D7C 7C 08 02 A6 */ mflr r0
+/* 8037D120 00378D80 90 0C 00 04 */ stw r0, 4(r12)
+/* 8037D124 00378D84 93 EC FF FC */ stw r31, -4(r12)
+/* 8037D128 00378D88 7C FF 3B 78 */ mr r31, r7
+/* 8037D12C 00378D8C 93 CC FF F8 */ stw r30, -8(r12)
+/* 8037D130 00378D90 7C BE 2B 78 */ mr r30, r5
+/* 8037D134 00378D94 93 AC FF F4 */ stw r29, -0xc(r12)
+/* 8037D138 00378D98 7C 9D 23 78 */ mr r29, r4
+/* 8037D13C 00378D9C 93 8C FF F0 */ stw r28, -0x10(r12)
+/* 8037D140 00378DA0 7C 7C 1B 78 */ mr r28, r3
+/* 8037D144 00378DA4 81 03 00 04 */ lwz r8, 4(r3)
+/* 8037D148 00378DA8 7C 08 00 D0 */ neg r0, r8
+/* 8037D14C 00378DAC 7C 00 43 78 */ or r0, r0, r8
+/* 8037D150 00378DB0 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
+/* 8037D154 00378DB4 40 82 00 0C */ bne lbl_8037D160
+/* 8037D158 00378DB8 38 60 00 00 */ li r3, 0
+/* 8037D15C 00378DBC 48 00 01 30 */ b lbl_8037D28C
+lbl_8037D160:
+/* 8037D160 00378DC0 41 82 00 0C */ beq lbl_8037D16C
+/* 8037D164 00378DC4 80 88 00 18 */ lwz r4, 0x18(r8)
+/* 8037D168 00378DC8 48 00 00 08 */ b lbl_8037D170
+lbl_8037D16C:
+/* 8037D16C 00378DCC 38 80 00 00 */ li r4, 0
+lbl_8037D170:
+/* 8037D170 00378DD0 7C 06 39 D6 */ mullw r0, r6, r7
+/* 8037D174 00378DD4 80 63 00 00 */ lwz r3, 0(r3)
+/* 8037D178 00378DD8 38 A0 00 00 */ li r5, 0
+/* 8037D17C 00378DDC 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037D180 00378DE0 81 8C 00 44 */ lwz r12, 0x44(r12)
+/* 8037D184 00378DE4 54 00 10 3A */ slwi r0, r0, 2
+/* 8037D188 00378DE8 7C 84 02 14 */ add r4, r4, r0
+/* 8037D18C 00378DEC 38 84 00 08 */ addi r4, r4, 8
+/* 8037D190 00378DF0 7D 89 03 A6 */ mtctr r12
+/* 8037D194 00378DF4 4E 80 04 21 */ bctrl
+/* 8037D198 00378DF8 80 7C 00 00 */ lwz r3, 0(r28)
+/* 8037D19C 00378DFC 38 81 00 20 */ addi r4, r1, 0x20
+/* 8037D1A0 00378E00 38 A0 00 20 */ li r5, 0x20
+/* 8037D1A4 00378E04 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037D1A8 00378E08 81 8C 00 14 */ lwz r12, 0x14(r12)
+/* 8037D1AC 00378E0C 7D 89 03 A6 */ mtctr r12
+/* 8037D1B0 00378E10 4E 80 04 21 */ bctrl
+/* 8037D1B4 00378E14 2C 1F 00 00 */ cmpwi r31, 0
+/* 8037D1B8 00378E18 38 C1 00 20 */ addi r6, r1, 0x20
+/* 8037D1BC 00378E1C 38 60 00 00 */ li r3, 0
+/* 8037D1C0 00378E20 38 80 00 00 */ li r4, 0
+/* 8037D1C4 00378E24 40 81 00 C4 */ ble lbl_8037D288
+/* 8037D1C8 00378E28 57 E0 F0 BF */ rlwinm. r0, r31, 0x1e, 2, 0x1f
+/* 8037D1CC 00378E2C 7C 09 03 A6 */ mtctr r0
+/* 8037D1D0 00378E30 41 82 00 90 */ beq lbl_8037D260
+lbl_8037D1D4:
+/* 8037D1D4 00378E34 7C A6 1A 2E */ lhzx r5, r6, r3
+/* 8037D1D8 00378E38 38 04 00 01 */ addi r0, r4, 1
+/* 8037D1DC 00378E3C 54 00 08 3C */ slwi r0, r0, 1
+/* 8037D1E0 00378E40 38 63 00 04 */ addi r3, r3, 4
+/* 8037D1E4 00378E44 7C BD 23 2E */ sthx r5, r29, r4
+/* 8037D1E8 00378E48 7C 06 02 2E */ lhzx r0, r6, r0
+/* 8037D1EC 00378E4C 7C 1E 23 2E */ sthx r0, r30, r4
+/* 8037D1F0 00378E50 38 04 00 03 */ addi r0, r4, 3
+/* 8037D1F4 00378E54 38 84 00 02 */ addi r4, r4, 2
+/* 8037D1F8 00378E58 7C A6 1A 2E */ lhzx r5, r6, r3
+/* 8037D1FC 00378E5C 54 00 08 3C */ slwi r0, r0, 1
+/* 8037D200 00378E60 38 63 00 04 */ addi r3, r3, 4
+/* 8037D204 00378E64 7C BD 23 2E */ sthx r5, r29, r4
+/* 8037D208 00378E68 7C 06 02 2E */ lhzx r0, r6, r0
+/* 8037D20C 00378E6C 7C 1E 23 2E */ sthx r0, r30, r4
+/* 8037D210 00378E70 38 04 00 03 */ addi r0, r4, 3
+/* 8037D214 00378E74 38 84 00 02 */ addi r4, r4, 2
+/* 8037D218 00378E78 7C A6 1A 2E */ lhzx r5, r6, r3
+/* 8037D21C 00378E7C 54 00 08 3C */ slwi r0, r0, 1
+/* 8037D220 00378E80 38 63 00 04 */ addi r3, r3, 4
+/* 8037D224 00378E84 7C BD 23 2E */ sthx r5, r29, r4
+/* 8037D228 00378E88 7C 06 02 2E */ lhzx r0, r6, r0
+/* 8037D22C 00378E8C 7C 1E 23 2E */ sthx r0, r30, r4
+/* 8037D230 00378E90 38 04 00 03 */ addi r0, r4, 3
+/* 8037D234 00378E94 38 84 00 02 */ addi r4, r4, 2
+/* 8037D238 00378E98 7C A6 1A 2E */ lhzx r5, r6, r3
+/* 8037D23C 00378E9C 54 00 08 3C */ slwi r0, r0, 1
+/* 8037D240 00378EA0 38 63 00 04 */ addi r3, r3, 4
+/* 8037D244 00378EA4 7C BD 23 2E */ sthx r5, r29, r4
+/* 8037D248 00378EA8 7C 06 02 2E */ lhzx r0, r6, r0
+/* 8037D24C 00378EAC 7C 1E 23 2E */ sthx r0, r30, r4
+/* 8037D250 00378EB0 38 84 00 02 */ addi r4, r4, 2
+/* 8037D254 00378EB4 42 00 FF 80 */ bdnz lbl_8037D1D4
+/* 8037D258 00378EB8 73 FF 00 03 */ andi. r31, r31, 3
+/* 8037D25C 00378EBC 41 82 00 2C */ beq lbl_8037D288
+lbl_8037D260:
+/* 8037D260 00378EC0 7F E9 03 A6 */ mtctr r31
+lbl_8037D264:
+/* 8037D264 00378EC4 7C A6 1A 2E */ lhzx r5, r6, r3
+/* 8037D268 00378EC8 38 04 00 01 */ addi r0, r4, 1
+/* 8037D26C 00378ECC 54 00 08 3C */ slwi r0, r0, 1
+/* 8037D270 00378ED0 38 63 00 04 */ addi r3, r3, 4
+/* 8037D274 00378ED4 7C BD 23 2E */ sthx r5, r29, r4
+/* 8037D278 00378ED8 7C 06 02 2E */ lhzx r0, r6, r0
+/* 8037D27C 00378EDC 7C 1E 23 2E */ sthx r0, r30, r4
+/* 8037D280 00378EE0 38 84 00 02 */ addi r4, r4, 2
+/* 8037D284 00378EE4 42 00 FF E0 */ bdnz lbl_8037D264
+lbl_8037D288:
+/* 8037D288 00378EE8 38 60 00 01 */ li r3, 1
+lbl_8037D28C:
+/* 8037D28C 00378EEC 81 41 00 00 */ lwz r10, 0(r1)
+/* 8037D290 00378EF0 80 0A 00 04 */ lwz r0, 4(r10)
+/* 8037D294 00378EF4 83 EA FF FC */ lwz r31, -4(r10)
+/* 8037D298 00378EF8 83 CA FF F8 */ lwz r30, -8(r10)
+/* 8037D29C 00378EFC 83 AA FF F4 */ lwz r29, -0xc(r10)
+/* 8037D2A0 00378F00 83 8A FF F0 */ lwz r28, -0x10(r10)
+/* 8037D2A4 00378F04 7C 08 03 A6 */ mtlr r0
+/* 8037D2A8 00378F08 7D 41 53 78 */ mr r1, r10
+/* 8037D2AC 00378F0C 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_SoundArchivePlayer.s b/asm/nw4r/snd/snd_SoundArchivePlayer.s
index a0a64c4..0e72064 100644
--- a/asm/nw4r/snd/snd_SoundArchivePlayer.s
+++ b/asm/nw4r/snd/snd_SoundArchivePlayer.s
@@ -331,7 +331,7 @@ lbl_80378E00:
/* 80378E04 00374A64 7F C5 F3 78 */ mr r5, r30
/* 80378E08 00374A68 7F E6 FB 78 */ mr r6, r31
/* 80378E0C 00374A6C 38 7B 00 BC */ addi r3, r27, 0xbc
-/* 80378E10 00374A70 48 00 3C B5 */ bl func_8037CAC4
+/* 80378E10 00374A70 48 00 3C B5 */ bl Setup__Q44nw4r3snd6detail14StrmBufferPoolFPvUli
/* 80378E14 00374A74 38 00 00 01 */ li r0, 1
lbl_80378E18:
/* 80378E18 00374A78 2C 00 00 00 */ cmpwi r0, 0
@@ -416,7 +416,7 @@ lbl_80378E94:
/* 80378F38 00374B98 80 BB 00 DC */ lwz r5, 0xdc(r27)
/* 80378F3C 00374B9C 4B FF 9F BD */ bl Destroy__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
/* 80378F40 00374BA0 38 7B 00 BC */ addi r3, r27, 0xbc
-/* 80378F44 00374BA4 48 00 3C 01 */ bl func_8037CB44
+/* 80378F44 00374BA4 48 00 3C 01 */ bl Shutdown__Q44nw4r3snd6detail14StrmBufferPoolFv
/* 80378F48 00374BA8 93 DB 00 D8 */ stw r30, 0xd8(r27)
/* 80378F4C 00374BAC 39 61 00 20 */ addi r11, r1, 0x20
/* 80378F50 00374BB0 93 DB 00 DC */ stw r30, 0xdc(r27)
diff --git a/asm/text_10_6.s b/asm/text_10_6.s
index 2dcc5d1..c3a29f8 100644
--- a/asm/text_10_6.s
+++ b/asm/text_10_6.s
@@ -2,571 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_8037CAC4
-func_8037CAC4:
-/* 8037CAC4 00378724 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8037CAC8 00378728 7C 08 02 A6 */ mflr r0
-/* 8037CACC 0037872C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037CAD0 00378730 39 61 00 20 */ addi r11, r1, 0x20
-/* 8037CAD4 00378734 4B E4 A6 55 */ bl _savegpr_27
-/* 8037CAD8 00378738 2C 06 00 00 */ cmpwi r6, 0
-/* 8037CADC 0037873C 7C 7B 1B 78 */ mr r27, r3
-/* 8037CAE0 00378740 7C 9C 23 78 */ mr r28, r4
-/* 8037CAE4 00378744 7C BD 2B 78 */ mr r29, r5
-/* 8037CAE8 00378748 7C DE 33 78 */ mr r30, r6
-/* 8037CAEC 0037874C 41 82 00 40 */ beq lbl_8037CB2C
-/* 8037CAF0 00378750 4B EF 1C 6D */ bl OSDisableInterrupts
-/* 8037CAF4 00378754 7C 9D F3 96 */ divwu r4, r29, r30
-/* 8037CAF8 00378758 38 00 00 00 */ li r0, 0
-/* 8037CAFC 0037875C 7C 7F 1B 78 */ mr r31, r3
-/* 8037CB00 00378760 93 9B 00 00 */ stw r28, 0(r27)
-/* 8037CB04 00378764 38 7B 00 14 */ addi r3, r27, 0x14
-/* 8037CB08 00378768 93 BB 00 04 */ stw r29, 4(r27)
-/* 8037CB0C 0037876C 90 9B 00 08 */ stw r4, 8(r27)
-/* 8037CB10 00378770 38 80 00 00 */ li r4, 0
-/* 8037CB14 00378774 38 A0 00 04 */ li r5, 4
-/* 8037CB18 00378778 93 DB 00 0C */ stw r30, 0xc(r27)
-/* 8037CB1C 0037877C 90 1B 00 10 */ stw r0, 0x10(r27)
-/* 8037CB20 00378780 4B C8 75 E5 */ bl memset
-/* 8037CB24 00378784 7F E3 FB 78 */ mr r3, r31
-/* 8037CB28 00378788 4B EF 1C 5D */ bl OSRestoreInterrupts
-lbl_8037CB2C:
-/* 8037CB2C 0037878C 39 61 00 20 */ addi r11, r1, 0x20
-/* 8037CB30 00378790 4B E4 A6 45 */ bl _restgpr_27
-/* 8037CB34 00378794 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8037CB38 00378798 7C 08 03 A6 */ mtlr r0
-/* 8037CB3C 0037879C 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037CB40 003787A0 4E 80 00 20 */ blr
-
-.global func_8037CB44
-func_8037CB44:
-/* 8037CB44 003787A4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037CB48 003787A8 7C 08 02 A6 */ mflr r0
-/* 8037CB4C 003787AC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037CB50 003787B0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037CB54 003787B4 7C 7F 1B 78 */ mr r31, r3
-/* 8037CB58 003787B8 4B EF 1C 05 */ bl OSDisableInterrupts
-/* 8037CB5C 003787BC 38 00 00 00 */ li r0, 0
-/* 8037CB60 003787C0 90 1F 00 00 */ stw r0, 0(r31)
-/* 8037CB64 003787C4 90 1F 00 04 */ stw r0, 4(r31)
-/* 8037CB68 003787C8 90 1F 00 08 */ stw r0, 8(r31)
-/* 8037CB6C 003787CC 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 8037CB70 003787D0 4B EF 1C 15 */ bl OSRestoreInterrupts
-/* 8037CB74 003787D4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037CB78 003787D8 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037CB7C 003787DC 7C 08 03 A6 */ mtlr r0
-/* 8037CB80 003787E0 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037CB84 003787E4 4E 80 00 20 */ blr
-
-.global func_8037CB88
-func_8037CB88:
-/* 8037CB88 003787E8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037CB8C 003787EC 7C 08 02 A6 */ mflr r0
-/* 8037CB90 003787F0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037CB94 003787F4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037CB98 003787F8 7C 7F 1B 78 */ mr r31, r3
-/* 8037CB9C 003787FC 4B EF 1B C1 */ bl OSDisableInterrupts
-/* 8037CBA0 00378800 80 9F 00 0C */ lwz r4, 0xc(r31)
-/* 8037CBA4 00378804 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 8037CBA8 00378808 7C 00 20 00 */ cmpw r0, r4
-/* 8037CBAC 0037880C 41 80 00 10 */ blt lbl_8037CBBC
-/* 8037CBB0 00378810 4B EF 1B D5 */ bl OSRestoreInterrupts
-/* 8037CBB4 00378814 38 60 00 00 */ li r3, 0
-/* 8037CBB8 00378818 48 00 00 A0 */ b lbl_8037CC58
-lbl_8037CBBC:
-/* 8037CBBC 0037881C 38 04 00 07 */ addi r0, r4, 7
-/* 8037CBC0 00378820 39 00 00 00 */ li r8, 0
-/* 8037CBC4 00378824 54 04 00 38 */ rlwinm r4, r0, 0, 0, 0x1c
-/* 8037CBC8 00378828 7C 84 1E 70 */ srawi r4, r4, 3
-/* 8037CBCC 0037882C 38 00 00 08 */ li r0, 8
-/* 8037CBD0 00378830 7C E4 01 94 */ addze r7, r4
-/* 8037CBD4 00378834 48 00 00 74 */ b lbl_8037CC48
-lbl_8037CBD8:
-/* 8037CBD8 00378838 7C DF 42 14 */ add r6, r31, r8
-/* 8037CBDC 0037883C 88 A6 00 14 */ lbz r5, 0x14(r6)
-/* 8037CBE0 00378840 28 05 00 FF */ cmplwi r5, 0xff
-/* 8037CBE4 00378844 41 82 00 60 */ beq lbl_8037CC44
-/* 8037CBE8 00378848 39 20 00 01 */ li r9, 1
-/* 8037CBEC 0037884C 39 40 00 00 */ li r10, 0
-/* 8037CBF0 00378850 7C 09 03 A6 */ mtctr r0
-lbl_8037CBF4:
-/* 8037CBF4 00378854 7C A4 48 39 */ and. r4, r5, r9
-/* 8037CBF8 00378858 40 82 00 40 */ bne lbl_8037CC38
-/* 8037CBFC 0037885C 88 86 00 14 */ lbz r4, 0x14(r6)
-/* 8037CC00 00378860 55 00 18 38 */ slwi r0, r8, 3
-/* 8037CC04 00378864 7C 0A 02 14 */ add r0, r10, r0
-/* 8037CC08 00378868 7C 84 4B 78 */ or r4, r4, r9
-/* 8037CC0C 0037886C 98 86 00 14 */ stb r4, 0x14(r6)
-/* 8037CC10 00378870 80 9F 00 08 */ lwz r4, 8(r31)
-/* 8037CC14 00378874 80 BF 00 10 */ lwz r5, 0x10(r31)
-/* 8037CC18 00378878 7C 84 01 D6 */ mullw r4, r4, r0
-/* 8037CC1C 0037887C 80 1F 00 00 */ lwz r0, 0(r31)
-/* 8037CC20 00378880 38 A5 00 01 */ addi r5, r5, 1
-/* 8037CC24 00378884 90 BF 00 10 */ stw r5, 0x10(r31)
-/* 8037CC28 00378888 7F E4 02 14 */ add r31, r4, r0
-/* 8037CC2C 0037888C 4B EF 1B 59 */ bl OSRestoreInterrupts
-/* 8037CC30 00378890 7F E3 FB 78 */ mr r3, r31
-/* 8037CC34 00378894 48 00 00 24 */ b lbl_8037CC58
-lbl_8037CC38:
-/* 8037CC38 00378898 55 29 0E 3C */ rlwinm r9, r9, 1, 0x18, 0x1e
-/* 8037CC3C 0037889C 39 4A 00 01 */ addi r10, r10, 1
-/* 8037CC40 003788A0 42 00 FF B4 */ bdnz lbl_8037CBF4
-lbl_8037CC44:
-/* 8037CC44 003788A4 39 08 00 01 */ addi r8, r8, 1
-lbl_8037CC48:
-/* 8037CC48 003788A8 7C 08 38 00 */ cmpw r8, r7
-/* 8037CC4C 003788AC 41 80 FF 8C */ blt lbl_8037CBD8
-/* 8037CC50 003788B0 4B EF 1B 35 */ bl OSRestoreInterrupts
-/* 8037CC54 003788B4 38 60 00 00 */ li r3, 0
-lbl_8037CC58:
-/* 8037CC58 003788B8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037CC5C 003788BC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037CC60 003788C0 7C 08 03 A6 */ mtlr r0
-/* 8037CC64 003788C4 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037CC68 003788C8 4E 80 00 20 */ blr
-
-.global func_8037CC6C
-func_8037CC6C:
-/* 8037CC6C 003788CC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037CC70 003788D0 7C 08 02 A6 */ mflr r0
-/* 8037CC74 003788D4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037CC78 003788D8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037CC7C 003788DC 7C 9F 23 78 */ mr r31, r4
-/* 8037CC80 003788E0 93 C1 00 08 */ stw r30, 8(r1)
-/* 8037CC84 003788E4 7C 7E 1B 78 */ mr r30, r3
-/* 8037CC88 003788E8 4B EF 1A D5 */ bl OSDisableInterrupts
-/* 8037CC8C 003788EC 80 BE 00 00 */ lwz r5, 0(r30)
-/* 8037CC90 003788F0 38 80 00 01 */ li r4, 1
-/* 8037CC94 003788F4 80 1E 00 08 */ lwz r0, 8(r30)
-/* 8037CC98 003788F8 7C A5 F8 50 */ subf r5, r5, r31
-/* 8037CC9C 003788FC 7C A5 03 96 */ divwu r5, r5, r0
-/* 8037CCA0 00378900 54 A0 E8 FE */ srwi r0, r5, 3
-/* 8037CCA4 00378904 7C DE 02 14 */ add r6, r30, r0
-/* 8037CCA8 00378908 54 A0 07 7E */ clrlwi r0, r5, 0x1d
-/* 8037CCAC 0037890C 88 A6 00 14 */ lbz r5, 0x14(r6)
-/* 8037CCB0 00378910 7C 80 00 30 */ slw r0, r4, r0
-/* 8037CCB4 00378914 7C A0 00 78 */ andc r0, r5, r0
-/* 8037CCB8 00378918 98 06 00 14 */ stb r0, 0x14(r6)
-/* 8037CCBC 0037891C 80 9E 00 10 */ lwz r4, 0x10(r30)
-/* 8037CCC0 00378920 38 04 FF FF */ addi r0, r4, -1
-/* 8037CCC4 00378924 90 1E 00 10 */ stw r0, 0x10(r30)
-/* 8037CCC8 00378928 4B EF 1A BD */ bl OSRestoreInterrupts
-/* 8037CCCC 0037892C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037CCD0 00378930 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037CCD4 00378934 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8037CCD8 00378938 7C 08 03 A6 */ mtlr r0
-/* 8037CCDC 0037893C 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037CCE0 00378940 4E 80 00 20 */ blr
-
-.global nlListContainer_P8SaveData____ct
-nlListContainer_P8SaveData____ct:
-/* 8037CCE4 00378944 38 00 00 00 */ li r0, 0
-/* 8037CCE8 00378948 90 03 00 00 */ stw r0, 0(r3)
-/* 8037CCEC 0037894C 90 03 00 04 */ stw r0, 4(r3)
-/* 8037CCF0 00378950 4E 80 00 20 */ blr
-
-.global func_8037CCF4
-func_8037CCF4:
-/* 8037CCF4 00378954 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037CCF8 00378958 7C 08 02 A6 */ mflr r0
-/* 8037CCFC 0037895C 80 63 00 04 */ lwz r3, 4(r3)
-/* 8037CD00 00378960 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037CD04 00378964 38 A3 00 08 */ addi r5, r3, 8
-/* 8037CD08 00378968 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037CD0C 0037896C 7C 9F 23 78 */ mr r31, r4
-/* 8037CD10 00378970 88 63 00 08 */ lbz r3, 8(r3)
-/* 8037CD14 00378974 80 85 00 04 */ lwz r4, 4(r5)
-/* 8037CD18 00378978 48 00 66 D1 */ bl func_803833E8
-/* 8037CD1C 0037897C 88 03 00 00 */ lbz r0, 0(r3)
-/* 8037CD20 00378980 98 1F 00 00 */ stb r0, 0(r31)
-/* 8037CD24 00378984 88 03 00 01 */ lbz r0, 1(r3)
-/* 8037CD28 00378988 98 1F 00 01 */ stb r0, 1(r31)
-/* 8037CD2C 0037898C 88 03 00 02 */ lbz r0, 2(r3)
-/* 8037CD30 00378990 98 1F 00 02 */ stb r0, 2(r31)
-/* 8037CD34 00378994 88 83 00 03 */ lbz r4, 3(r3)
-/* 8037CD38 00378998 A0 03 00 04 */ lhz r0, 4(r3)
-/* 8037CD3C 0037899C 54 84 80 1E */ slwi r4, r4, 0x10
-/* 8037CD40 003789A0 7C 04 02 14 */ add r0, r4, r0
-/* 8037CD44 003789A4 90 1F 00 04 */ stw r0, 4(r31)
-/* 8037CD48 003789A8 A0 03 00 06 */ lhz r0, 6(r3)
-/* 8037CD4C 003789AC B0 1F 00 08 */ sth r0, 8(r31)
-/* 8037CD50 003789B0 80 03 00 08 */ lwz r0, 8(r3)
-/* 8037CD54 003789B4 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 8037CD58 003789B8 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 8037CD5C 003789BC 90 1F 00 10 */ stw r0, 0x10(r31)
-/* 8037CD60 003789C0 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 8037CD64 003789C4 90 1F 00 14 */ stw r0, 0x14(r31)
-/* 8037CD68 003789C8 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 8037CD6C 003789CC 90 1F 00 18 */ stw r0, 0x18(r31)
-/* 8037CD70 003789D0 80 03 00 18 */ lwz r0, 0x18(r3)
-/* 8037CD74 003789D4 90 1F 00 1C */ stw r0, 0x1c(r31)
-/* 8037CD78 003789D8 80 03 00 1C */ lwz r0, 0x1c(r3)
-/* 8037CD7C 003789DC 90 1F 00 20 */ stw r0, 0x20(r31)
-/* 8037CD80 003789E0 80 03 00 20 */ lwz r0, 0x20(r3)
-/* 8037CD84 003789E4 90 1F 00 24 */ stw r0, 0x24(r31)
-/* 8037CD88 003789E8 80 03 00 24 */ lwz r0, 0x24(r3)
-/* 8037CD8C 003789EC 90 1F 00 28 */ stw r0, 0x28(r31)
-/* 8037CD90 003789F0 80 03 00 28 */ lwz r0, 0x28(r3)
-/* 8037CD94 003789F4 90 1F 00 2C */ stw r0, 0x2c(r31)
-/* 8037CD98 003789F8 80 03 00 2C */ lwz r0, 0x2c(r3)
-/* 8037CD9C 003789FC 90 1F 00 30 */ stw r0, 0x30(r31)
-/* 8037CDA0 00378A00 80 03 00 30 */ lwz r0, 0x30(r3)
-/* 8037CDA4 00378A04 38 60 00 01 */ li r3, 1
-/* 8037CDA8 00378A08 90 1F 00 34 */ stw r0, 0x34(r31)
-/* 8037CDAC 00378A0C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037CDB0 00378A10 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037CDB4 00378A14 7C 08 03 A6 */ mtlr r0
-/* 8037CDB8 00378A18 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037CDBC 00378A1C 4E 80 00 20 */ blr
-
-.global func_8037CDC0
-func_8037CDC0:
-/* 8037CDC0 00378A20 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8037CDC4 00378A24 7C 08 02 A6 */ mflr r0
-/* 8037CDC8 00378A28 80 C3 00 04 */ lwz r6, 4(r3)
-/* 8037CDCC 00378A2C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037CDD0 00378A30 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8037CDD4 00378A34 7C 9F 23 78 */ mr r31, r4
-/* 8037CDD8 00378A38 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037CDDC 00378A3C 7C BE 2B 78 */ mr r30, r5
-/* 8037CDE0 00378A40 38 A6 00 08 */ addi r5, r6, 8
-/* 8037CDE4 00378A44 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8037CDE8 00378A48 7C 7D 1B 78 */ mr r29, r3
-/* 8037CDEC 00378A4C 88 66 00 08 */ lbz r3, 8(r6)
-/* 8037CDF0 00378A50 80 86 00 0C */ lwz r4, 0xc(r6)
-/* 8037CDF4 00378A54 48 00 65 F5 */ bl func_803833E8
-/* 8037CDF8 00378A58 88 03 00 00 */ lbz r0, 0(r3)
-/* 8037CDFC 00378A5C 28 00 00 02 */ cmplwi r0, 2
-/* 8037CE00 00378A60 41 82 00 0C */ beq lbl_8037CE0C
-/* 8037CE04 00378A64 38 60 00 00 */ li r3, 0
-/* 8037CE08 00378A68 48 00 01 24 */ b lbl_8037CF2C
-lbl_8037CE0C:
-/* 8037CE0C 00378A6C 80 9D 00 04 */ lwz r4, 4(r29)
-/* 8037CE10 00378A70 88 64 00 18 */ lbz r3, 0x18(r4)
-/* 8037CE14 00378A74 38 A4 00 08 */ addi r5, r4, 8
-/* 8037CE18 00378A78 80 84 00 1C */ lwz r4, 0x1c(r4)
-/* 8037CE1C 00378A7C 48 00 65 CD */ bl func_803833E8
-/* 8037CE20 00378A80 88 03 00 00 */ lbz r0, 0(r3)
-/* 8037CE24 00378A84 7C 1E 00 00 */ cmpw r30, r0
-/* 8037CE28 00378A88 41 80 00 0C */ blt lbl_8037CE34
-/* 8037CE2C 00378A8C 38 60 00 00 */ li r3, 0
-/* 8037CE30 00378A90 48 00 00 FC */ b lbl_8037CF2C
-lbl_8037CE34:
-/* 8037CE34 00378A94 57 C0 18 38 */ slwi r0, r30, 3
-/* 8037CE38 00378A98 80 9D 00 04 */ lwz r4, 4(r29)
-/* 8037CE3C 00378A9C 7C C3 02 14 */ add r6, r3, r0
-/* 8037CE40 00378AA0 38 A4 00 08 */ addi r5, r4, 8
-/* 8037CE44 00378AA4 88 66 00 04 */ lbz r3, 4(r6)
-/* 8037CE48 00378AA8 80 86 00 08 */ lwz r4, 8(r6)
-/* 8037CE4C 00378AAC 48 00 65 9D */ bl func_803833E8
-/* 8037CE50 00378AB0 7C 64 1B 78 */ mr r4, r3
-/* 8037CE54 00378AB4 80 BD 00 04 */ lwz r5, 4(r29)
-/* 8037CE58 00378AB8 88 63 00 00 */ lbz r3, 0(r3)
-/* 8037CE5C 00378ABC 80 84 00 04 */ lwz r4, 4(r4)
-/* 8037CE60 00378AC0 38 A5 00 08 */ addi r5, r5, 8
-/* 8037CE64 00378AC4 48 00 65 85 */ bl func_803833E8
-/* 8037CE68 00378AC8 A0 83 00 00 */ lhz r4, 0(r3)
-/* 8037CE6C 00378ACC A0 03 00 02 */ lhz r0, 2(r3)
-/* 8037CE70 00378AD0 B0 9F 00 00 */ sth r4, 0(r31)
-/* 8037CE74 00378AD4 B0 1F 00 02 */ sth r0, 2(r31)
-/* 8037CE78 00378AD8 A0 83 00 04 */ lhz r4, 4(r3)
-/* 8037CE7C 00378ADC A0 03 00 06 */ lhz r0, 6(r3)
-/* 8037CE80 00378AE0 B0 9F 00 04 */ sth r4, 4(r31)
-/* 8037CE84 00378AE4 B0 1F 00 06 */ sth r0, 6(r31)
-/* 8037CE88 00378AE8 A0 83 00 08 */ lhz r4, 8(r3)
-/* 8037CE8C 00378AEC A0 03 00 0A */ lhz r0, 0xa(r3)
-/* 8037CE90 00378AF0 B0 9F 00 08 */ sth r4, 8(r31)
-/* 8037CE94 00378AF4 B0 1F 00 0A */ sth r0, 0xa(r31)
-/* 8037CE98 00378AF8 A0 83 00 0C */ lhz r4, 0xc(r3)
-/* 8037CE9C 00378AFC A0 03 00 0E */ lhz r0, 0xe(r3)
-/* 8037CEA0 00378B00 B0 9F 00 0C */ sth r4, 0xc(r31)
-/* 8037CEA4 00378B04 B0 1F 00 0E */ sth r0, 0xe(r31)
-/* 8037CEA8 00378B08 A0 83 00 10 */ lhz r4, 0x10(r3)
-/* 8037CEAC 00378B0C A0 03 00 12 */ lhz r0, 0x12(r3)
-/* 8037CEB0 00378B10 B0 9F 00 10 */ sth r4, 0x10(r31)
-/* 8037CEB4 00378B14 B0 1F 00 12 */ sth r0, 0x12(r31)
-/* 8037CEB8 00378B18 A0 83 00 14 */ lhz r4, 0x14(r3)
-/* 8037CEBC 00378B1C A0 03 00 16 */ lhz r0, 0x16(r3)
-/* 8037CEC0 00378B20 B0 9F 00 14 */ sth r4, 0x14(r31)
-/* 8037CEC4 00378B24 B0 1F 00 16 */ sth r0, 0x16(r31)
-/* 8037CEC8 00378B28 A0 83 00 18 */ lhz r4, 0x18(r3)
-/* 8037CECC 00378B2C A0 03 00 1A */ lhz r0, 0x1a(r3)
-/* 8037CED0 00378B30 B0 9F 00 18 */ sth r4, 0x18(r31)
-/* 8037CED4 00378B34 B0 1F 00 1A */ sth r0, 0x1a(r31)
-/* 8037CED8 00378B38 A0 83 00 1C */ lhz r4, 0x1c(r3)
-/* 8037CEDC 00378B3C A0 03 00 1E */ lhz r0, 0x1e(r3)
-/* 8037CEE0 00378B40 B0 9F 00 1C */ sth r4, 0x1c(r31)
-/* 8037CEE4 00378B44 B0 1F 00 1E */ sth r0, 0x1e(r31)
-/* 8037CEE8 00378B48 A0 83 00 20 */ lhz r4, 0x20(r3)
-/* 8037CEEC 00378B4C A0 03 00 22 */ lhz r0, 0x22(r3)
-/* 8037CEF0 00378B50 B0 9F 00 20 */ sth r4, 0x20(r31)
-/* 8037CEF4 00378B54 B0 1F 00 22 */ sth r0, 0x22(r31)
-/* 8037CEF8 00378B58 A0 83 00 24 */ lhz r4, 0x24(r3)
-/* 8037CEFC 00378B5C A0 03 00 26 */ lhz r0, 0x26(r3)
-/* 8037CF00 00378B60 B0 9F 00 24 */ sth r4, 0x24(r31)
-/* 8037CF04 00378B64 B0 1F 00 26 */ sth r0, 0x26(r31)
-/* 8037CF08 00378B68 A0 03 00 28 */ lhz r0, 0x28(r3)
-/* 8037CF0C 00378B6C B0 1F 00 28 */ sth r0, 0x28(r31)
-/* 8037CF10 00378B70 A0 03 00 2A */ lhz r0, 0x2a(r3)
-/* 8037CF14 00378B74 B0 1F 00 2A */ sth r0, 0x2a(r31)
-/* 8037CF18 00378B78 A0 03 00 2C */ lhz r0, 0x2c(r3)
-/* 8037CF1C 00378B7C B0 1F 00 2C */ sth r0, 0x2c(r31)
-/* 8037CF20 00378B80 A0 03 00 2E */ lhz r0, 0x2e(r3)
-/* 8037CF24 00378B84 38 60 00 01 */ li r3, 1
-/* 8037CF28 00378B88 B0 1F 00 2E */ sth r0, 0x2e(r31)
-lbl_8037CF2C:
-/* 8037CF2C 00378B8C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8037CF30 00378B90 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8037CF34 00378B94 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8037CF38 00378B98 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8037CF3C 00378B9C 7C 08 03 A6 */ mtlr r0
-/* 8037CF40 00378BA0 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037CF44 00378BA4 4E 80 00 20 */ blr
-
-.global func_8037CF48
-func_8037CF48:
-/* 8037CF48 00378BA8 94 21 FF 80 */ stwu r1, -0x80(r1)
-/* 8037CF4C 00378BAC 7C 08 02 A6 */ mflr r0
-/* 8037CF50 00378BB0 90 01 00 84 */ stw r0, 0x84(r1)
-/* 8037CF54 00378BB4 93 E1 00 7C */ stw r31, 0x7c(r1)
-/* 8037CF58 00378BB8 7C 9F 23 78 */ mr r31, r4
-/* 8037CF5C 00378BBC 38 80 00 00 */ li r4, 0
-/* 8037CF60 00378BC0 93 C1 00 78 */ stw r30, 0x78(r1)
-/* 8037CF64 00378BC4 7C 7E 1B 78 */ mr r30, r3
-/* 8037CF68 00378BC8 93 A1 00 74 */ stw r29, 0x74(r1)
-/* 8037CF6C 00378BCC 93 81 00 70 */ stw r28, 0x70(r1)
-/* 8037CF70 00378BD0 7C BC 2B 78 */ mr r28, r5
-/* 8037CF74 00378BD4 38 A0 00 00 */ li r5, 0
-/* 8037CF78 00378BD8 80 63 00 00 */ lwz r3, 0(r3)
-/* 8037CF7C 00378BDC 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037CF80 00378BE0 81 8C 00 44 */ lwz r12, 0x44(r12)
-/* 8037CF84 00378BE4 7D 89 03 A6 */ mtctr r12
-/* 8037CF88 00378BE8 4E 80 04 21 */ bctrl
-/* 8037CF8C 00378BEC 80 7E 00 00 */ lwz r3, 0(r30)
-/* 8037CF90 00378BF0 38 01 00 27 */ addi r0, r1, 0x27
-/* 8037CF94 00378BF4 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
-/* 8037CF98 00378BF8 38 A0 00 40 */ li r5, 0x40
-/* 8037CF9C 00378BFC 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037CFA0 00378C00 7F A4 EB 78 */ mr r4, r29
-/* 8037CFA4 00378C04 81 8C 00 14 */ lwz r12, 0x14(r12)
-/* 8037CFA8 00378C08 7D 89 03 A6 */ mtctr r12
-/* 8037CFAC 00378C0C 4E 80 04 21 */ bctrl
-/* 8037CFB0 00378C10 28 03 00 40 */ cmplwi r3, 0x40
-/* 8037CFB4 00378C14 41 82 00 0C */ beq lbl_8037CFC0
-/* 8037CFB8 00378C18 38 60 00 00 */ li r3, 0
-/* 8037CFBC 00378C1C 48 00 01 30 */ b lbl_8037D0EC
-lbl_8037CFC0:
-/* 8037CFC0 00378C20 80 7D 00 00 */ lwz r3, 0(r29)
-/* 8037CFC4 00378C24 3C 03 AD AD */ addis r0, r3, 0xadad
-/* 8037CFC8 00378C28 28 00 54 4D */ cmplwi r0, 0x544d
-/* 8037CFCC 00378C2C 41 82 00 0C */ beq lbl_8037CFD8
-/* 8037CFD0 00378C30 38 00 00 00 */ li r0, 0
-/* 8037CFD4 00378C34 48 00 00 30 */ b lbl_8037D004
-lbl_8037CFD8:
-/* 8037CFD8 00378C38 A0 9D 00 06 */ lhz r4, 6(r29)
-/* 8037CFDC 00378C3C 28 04 01 00 */ cmplwi r4, 0x100
-/* 8037CFE0 00378C40 40 80 00 0C */ bge lbl_8037CFEC
-/* 8037CFE4 00378C44 38 00 00 00 */ li r0, 0
-/* 8037CFE8 00378C48 48 00 00 1C */ b lbl_8037D004
-lbl_8037CFEC:
-/* 8037CFEC 00378C4C 20 04 01 00 */ subfic r0, r4, 0x100
-/* 8037CFF0 00378C50 38 60 01 00 */ li r3, 0x100
-/* 8037CFF4 00378C54 7C 63 23 38 */ orc r3, r3, r4
-/* 8037CFF8 00378C58 54 00 F8 7E */ srwi r0, r0, 1
-/* 8037CFFC 00378C5C 7C 00 18 50 */ subf r0, r0, r3
-/* 8037D000 00378C60 54 00 0F FE */ srwi r0, r0, 0x1f
-lbl_8037D004:
-/* 8037D004 00378C64 2C 00 00 00 */ cmpwi r0, 0
-/* 8037D008 00378C68 40 82 00 0C */ bne lbl_8037D014
-/* 8037D00C 00378C6C 38 60 00 00 */ li r3, 0
-/* 8037D010 00378C70 48 00 00 DC */ b lbl_8037D0EC
-lbl_8037D014:
-/* 8037D014 00378C74 80 1D 00 18 */ lwz r0, 0x18(r29)
-/* 8037D018 00378C78 7C 00 E0 40 */ cmplw r0, r28
-/* 8037D01C 00378C7C 40 81 00 0C */ ble lbl_8037D028
-/* 8037D020 00378C80 38 60 00 00 */ li r3, 0
-/* 8037D024 00378C84 48 00 00 C8 */ b lbl_8037D0EC
-lbl_8037D028:
-/* 8037D028 00378C88 80 7E 00 00 */ lwz r3, 0(r30)
-/* 8037D02C 00378C8C 38 80 00 00 */ li r4, 0
-/* 8037D030 00378C90 80 DD 00 10 */ lwz r6, 0x10(r29)
-/* 8037D034 00378C94 38 A0 00 00 */ li r5, 0
-/* 8037D038 00378C98 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037D03C 00378C9C 80 1D 00 14 */ lwz r0, 0x14(r29)
-/* 8037D040 00378CA0 81 8C 00 44 */ lwz r12, 0x44(r12)
-/* 8037D044 00378CA4 7F A6 02 14 */ add r29, r6, r0
-/* 8037D048 00378CA8 7D 89 03 A6 */ mtctr r12
-/* 8037D04C 00378CAC 4E 80 04 21 */ bctrl
-/* 8037D050 00378CB0 80 7E 00 00 */ lwz r3, 0(r30)
-/* 8037D054 00378CB4 7F E4 FB 78 */ mr r4, r31
-/* 8037D058 00378CB8 7F A5 EB 78 */ mr r5, r29
-/* 8037D05C 00378CBC 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037D060 00378CC0 81 8C 00 14 */ lwz r12, 0x14(r12)
-/* 8037D064 00378CC4 7D 89 03 A6 */ mtctr r12
-/* 8037D068 00378CC8 4E 80 04 21 */ bctrl
-/* 8037D06C 00378CCC 7C 03 E8 40 */ cmplw r3, r29
-/* 8037D070 00378CD0 41 82 00 0C */ beq lbl_8037D07C
-/* 8037D074 00378CD4 38 60 00 00 */ li r3, 0
-/* 8037D078 00378CD8 48 00 00 74 */ b lbl_8037D0EC
-lbl_8037D07C:
-/* 8037D07C 00378CDC 80 7F 00 00 */ lwz r3, 0(r31)
-/* 8037D080 00378CE0 3C 03 AD AD */ addis r0, r3, 0xadad
-/* 8037D084 00378CE4 28 00 54 4D */ cmplwi r0, 0x544d
-/* 8037D088 00378CE8 41 82 00 0C */ beq lbl_8037D094
-/* 8037D08C 00378CEC 38 00 00 00 */ li r0, 0
-/* 8037D090 00378CF0 48 00 00 30 */ b lbl_8037D0C0
-lbl_8037D094:
-/* 8037D094 00378CF4 A0 9F 00 06 */ lhz r4, 6(r31)
-/* 8037D098 00378CF8 28 04 01 00 */ cmplwi r4, 0x100
-/* 8037D09C 00378CFC 40 80 00 0C */ bge lbl_8037D0A8
-/* 8037D0A0 00378D00 38 00 00 00 */ li r0, 0
-/* 8037D0A4 00378D04 48 00 00 1C */ b lbl_8037D0C0
-lbl_8037D0A8:
-/* 8037D0A8 00378D08 20 04 01 00 */ subfic r0, r4, 0x100
-/* 8037D0AC 00378D0C 38 60 01 00 */ li r3, 0x100
-/* 8037D0B0 00378D10 7C 63 23 38 */ orc r3, r3, r4
-/* 8037D0B4 00378D14 54 00 F8 7E */ srwi r0, r0, 1
-/* 8037D0B8 00378D18 7C 00 18 50 */ subf r0, r0, r3
-/* 8037D0BC 00378D1C 54 00 0F FE */ srwi r0, r0, 0x1f
-lbl_8037D0C0:
-/* 8037D0C0 00378D20 2C 00 00 00 */ cmpwi r0, 0
-/* 8037D0C4 00378D24 41 82 00 24 */ beq lbl_8037D0E8
-/* 8037D0C8 00378D28 93 FE 00 04 */ stw r31, 4(r30)
-/* 8037D0CC 00378D2C 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 8037D0D0 00378D30 7C 60 FA 14 */ add r3, r0, r31
-/* 8037D0D4 00378D34 90 7E 00 08 */ stw r3, 8(r30)
-/* 8037D0D8 00378D38 38 A3 00 08 */ addi r5, r3, 8
-/* 8037D0DC 00378D3C 88 63 00 08 */ lbz r3, 8(r3)
-/* 8037D0E0 00378D40 80 85 00 04 */ lwz r4, 4(r5)
-/* 8037D0E4 00378D44 48 00 63 05 */ bl func_803833E8
-lbl_8037D0E8:
-/* 8037D0E8 00378D48 38 60 00 01 */ li r3, 1
-lbl_8037D0EC:
-/* 8037D0EC 00378D4C 80 01 00 84 */ lwz r0, 0x84(r1)
-/* 8037D0F0 00378D50 83 E1 00 7C */ lwz r31, 0x7c(r1)
-/* 8037D0F4 00378D54 83 C1 00 78 */ lwz r30, 0x78(r1)
-/* 8037D0F8 00378D58 83 A1 00 74 */ lwz r29, 0x74(r1)
-/* 8037D0FC 00378D5C 83 81 00 70 */ lwz r28, 0x70(r1)
-/* 8037D100 00378D60 7C 08 03 A6 */ mtlr r0
-/* 8037D104 00378D64 38 21 00 80 */ addi r1, r1, 0x80
-/* 8037D108 00378D68 4E 80 00 20 */ blr
-
-.global func_8037D10C
-func_8037D10C:
-/* 8037D10C 00378D6C 54 2B 06 FE */ clrlwi r11, r1, 0x1b
-/* 8037D110 00378D70 7C 2C 0B 78 */ mr r12, r1
-/* 8037D114 00378D74 21 6B FF A0 */ subfic r11, r11, -96
-/* 8037D118 00378D78 7C 21 59 6E */ stwux r1, r1, r11
-/* 8037D11C 00378D7C 7C 08 02 A6 */ mflr r0
-/* 8037D120 00378D80 90 0C 00 04 */ stw r0, 4(r12)
-/* 8037D124 00378D84 93 EC FF FC */ stw r31, -4(r12)
-/* 8037D128 00378D88 7C FF 3B 78 */ mr r31, r7
-/* 8037D12C 00378D8C 93 CC FF F8 */ stw r30, -8(r12)
-/* 8037D130 00378D90 7C BE 2B 78 */ mr r30, r5
-/* 8037D134 00378D94 93 AC FF F4 */ stw r29, -0xc(r12)
-/* 8037D138 00378D98 7C 9D 23 78 */ mr r29, r4
-/* 8037D13C 00378D9C 93 8C FF F0 */ stw r28, -0x10(r12)
-/* 8037D140 00378DA0 7C 7C 1B 78 */ mr r28, r3
-/* 8037D144 00378DA4 81 03 00 04 */ lwz r8, 4(r3)
-/* 8037D148 00378DA8 7C 08 00 D0 */ neg r0, r8
-/* 8037D14C 00378DAC 7C 00 43 78 */ or r0, r0, r8
-/* 8037D150 00378DB0 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
-/* 8037D154 00378DB4 40 82 00 0C */ bne lbl_8037D160
-/* 8037D158 00378DB8 38 60 00 00 */ li r3, 0
-/* 8037D15C 00378DBC 48 00 01 30 */ b lbl_8037D28C
-lbl_8037D160:
-/* 8037D160 00378DC0 41 82 00 0C */ beq lbl_8037D16C
-/* 8037D164 00378DC4 80 88 00 18 */ lwz r4, 0x18(r8)
-/* 8037D168 00378DC8 48 00 00 08 */ b lbl_8037D170
-lbl_8037D16C:
-/* 8037D16C 00378DCC 38 80 00 00 */ li r4, 0
-lbl_8037D170:
-/* 8037D170 00378DD0 7C 06 39 D6 */ mullw r0, r6, r7
-/* 8037D174 00378DD4 80 63 00 00 */ lwz r3, 0(r3)
-/* 8037D178 00378DD8 38 A0 00 00 */ li r5, 0
-/* 8037D17C 00378DDC 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037D180 00378DE0 81 8C 00 44 */ lwz r12, 0x44(r12)
-/* 8037D184 00378DE4 54 00 10 3A */ slwi r0, r0, 2
-/* 8037D188 00378DE8 7C 84 02 14 */ add r4, r4, r0
-/* 8037D18C 00378DEC 38 84 00 08 */ addi r4, r4, 8
-/* 8037D190 00378DF0 7D 89 03 A6 */ mtctr r12
-/* 8037D194 00378DF4 4E 80 04 21 */ bctrl
-/* 8037D198 00378DF8 80 7C 00 00 */ lwz r3, 0(r28)
-/* 8037D19C 00378DFC 38 81 00 20 */ addi r4, r1, 0x20
-/* 8037D1A0 00378E00 38 A0 00 20 */ li r5, 0x20
-/* 8037D1A4 00378E04 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037D1A8 00378E08 81 8C 00 14 */ lwz r12, 0x14(r12)
-/* 8037D1AC 00378E0C 7D 89 03 A6 */ mtctr r12
-/* 8037D1B0 00378E10 4E 80 04 21 */ bctrl
-/* 8037D1B4 00378E14 2C 1F 00 00 */ cmpwi r31, 0
-/* 8037D1B8 00378E18 38 C1 00 20 */ addi r6, r1, 0x20
-/* 8037D1BC 00378E1C 38 60 00 00 */ li r3, 0
-/* 8037D1C0 00378E20 38 80 00 00 */ li r4, 0
-/* 8037D1C4 00378E24 40 81 00 C4 */ ble lbl_8037D288
-/* 8037D1C8 00378E28 57 E0 F0 BF */ rlwinm. r0, r31, 0x1e, 2, 0x1f
-/* 8037D1CC 00378E2C 7C 09 03 A6 */ mtctr r0
-/* 8037D1D0 00378E30 41 82 00 90 */ beq lbl_8037D260
-lbl_8037D1D4:
-/* 8037D1D4 00378E34 7C A6 1A 2E */ lhzx r5, r6, r3
-/* 8037D1D8 00378E38 38 04 00 01 */ addi r0, r4, 1
-/* 8037D1DC 00378E3C 54 00 08 3C */ slwi r0, r0, 1
-/* 8037D1E0 00378E40 38 63 00 04 */ addi r3, r3, 4
-/* 8037D1E4 00378E44 7C BD 23 2E */ sthx r5, r29, r4
-/* 8037D1E8 00378E48 7C 06 02 2E */ lhzx r0, r6, r0
-/* 8037D1EC 00378E4C 7C 1E 23 2E */ sthx r0, r30, r4
-/* 8037D1F0 00378E50 38 04 00 03 */ addi r0, r4, 3
-/* 8037D1F4 00378E54 38 84 00 02 */ addi r4, r4, 2
-/* 8037D1F8 00378E58 7C A6 1A 2E */ lhzx r5, r6, r3
-/* 8037D1FC 00378E5C 54 00 08 3C */ slwi r0, r0, 1
-/* 8037D200 00378E60 38 63 00 04 */ addi r3, r3, 4
-/* 8037D204 00378E64 7C BD 23 2E */ sthx r5, r29, r4
-/* 8037D208 00378E68 7C 06 02 2E */ lhzx r0, r6, r0
-/* 8037D20C 00378E6C 7C 1E 23 2E */ sthx r0, r30, r4
-/* 8037D210 00378E70 38 04 00 03 */ addi r0, r4, 3
-/* 8037D214 00378E74 38 84 00 02 */ addi r4, r4, 2
-/* 8037D218 00378E78 7C A6 1A 2E */ lhzx r5, r6, r3
-/* 8037D21C 00378E7C 54 00 08 3C */ slwi r0, r0, 1
-/* 8037D220 00378E80 38 63 00 04 */ addi r3, r3, 4
-/* 8037D224 00378E84 7C BD 23 2E */ sthx r5, r29, r4
-/* 8037D228 00378E88 7C 06 02 2E */ lhzx r0, r6, r0
-/* 8037D22C 00378E8C 7C 1E 23 2E */ sthx r0, r30, r4
-/* 8037D230 00378E90 38 04 00 03 */ addi r0, r4, 3
-/* 8037D234 00378E94 38 84 00 02 */ addi r4, r4, 2
-/* 8037D238 00378E98 7C A6 1A 2E */ lhzx r5, r6, r3
-/* 8037D23C 00378E9C 54 00 08 3C */ slwi r0, r0, 1
-/* 8037D240 00378EA0 38 63 00 04 */ addi r3, r3, 4
-/* 8037D244 00378EA4 7C BD 23 2E */ sthx r5, r29, r4
-/* 8037D248 00378EA8 7C 06 02 2E */ lhzx r0, r6, r0
-/* 8037D24C 00378EAC 7C 1E 23 2E */ sthx r0, r30, r4
-/* 8037D250 00378EB0 38 84 00 02 */ addi r4, r4, 2
-/* 8037D254 00378EB4 42 00 FF 80 */ bdnz lbl_8037D1D4
-/* 8037D258 00378EB8 73 FF 00 03 */ andi. r31, r31, 3
-/* 8037D25C 00378EBC 41 82 00 2C */ beq lbl_8037D288
-lbl_8037D260:
-/* 8037D260 00378EC0 7F E9 03 A6 */ mtctr r31
-lbl_8037D264:
-/* 8037D264 00378EC4 7C A6 1A 2E */ lhzx r5, r6, r3
-/* 8037D268 00378EC8 38 04 00 01 */ addi r0, r4, 1
-/* 8037D26C 00378ECC 54 00 08 3C */ slwi r0, r0, 1
-/* 8037D270 00378ED0 38 63 00 04 */ addi r3, r3, 4
-/* 8037D274 00378ED4 7C BD 23 2E */ sthx r5, r29, r4
-/* 8037D278 00378ED8 7C 06 02 2E */ lhzx r0, r6, r0
-/* 8037D27C 00378EDC 7C 1E 23 2E */ sthx r0, r30, r4
-/* 8037D280 00378EE0 38 84 00 02 */ addi r4, r4, 2
-/* 8037D284 00378EE4 42 00 FF E0 */ bdnz lbl_8037D264
-lbl_8037D288:
-/* 8037D288 00378EE8 38 60 00 01 */ li r3, 1
-lbl_8037D28C:
-/* 8037D28C 00378EEC 81 41 00 00 */ lwz r10, 0(r1)
-/* 8037D290 00378EF0 80 0A 00 04 */ lwz r0, 4(r10)
-/* 8037D294 00378EF4 83 EA FF FC */ lwz r31, -4(r10)
-/* 8037D298 00378EF8 83 CA FF F8 */ lwz r30, -8(r10)
-/* 8037D29C 00378EFC 83 AA FF F4 */ lwz r29, -0xc(r10)
-/* 8037D2A0 00378F00 83 8A FF F0 */ lwz r28, -0x10(r10)
-/* 8037D2A4 00378F04 7C 08 03 A6 */ mtlr r0
-/* 8037D2A8 00378F08 7D 41 53 78 */ mr r1, r10
-/* 8037D2AC 00378F0C 4E 80 00 20 */ blr
-
.global func_8037D2B0
func_8037D2B0:
/* 8037D2B0 00378F10 94 21 FF F0 */ stwu r1, -0x10(r1)
@@ -1253,12 +688,12 @@ func_8037DC4C:
/* 8037DC7C 003798DC 4B EF 1C CD */ bl func_8026F948
/* 8037DC80 003798E0 93 01 00 08 */ stw r24, 8(r1)
/* 8037DC84 003798E4 38 61 00 0C */ addi r3, r1, 0xc
-/* 8037DC88 003798E8 4B FF F0 5D */ bl nlListContainer_P8SaveData____ct
+/* 8037DC88 003798E8 4B FF F0 5D */ bl __ct__Q44nw4r3snd6detail14StrmFileReaderFv
/* 8037DC8C 003798EC 3C 80 80 64 */ lis r4, lbl_80638D60@ha
/* 8037DC90 003798F0 38 61 00 08 */ addi r3, r1, 8
/* 8037DC94 003798F4 38 84 8D 60 */ addi r4, r4, lbl_80638D60@l
/* 8037DC98 003798F8 38 A0 02 00 */ li r5, 0x200
-/* 8037DC9C 003798FC 4B FF F2 AD */ bl func_8037CF48
+/* 8037DC9C 003798FC 4B FF F2 AD */ bl LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl
/* 8037DCA0 00379900 2C 03 00 00 */ cmpwi r3, 0
/* 8037DCA4 00379904 40 82 00 14 */ bne lbl_8037DCB8
/* 8037DCA8 00379908 7F E3 FB 78 */ mr r3, r31
@@ -1275,7 +710,7 @@ lbl_8037DCB8:
lbl_8037DCD0:
/* 8037DCD0 00379930 38 61 00 0C */ addi r3, r1, 0xc
/* 8037DCD4 00379934 38 81 00 18 */ addi r4, r1, 0x18
-/* 8037DCD8 00379938 4B FF F0 1D */ bl func_8037CCF4
+/* 8037DCD8 00379938 4B FF F0 1D */ bl ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail8StrmInfo
lbl_8037DCDC:
/* 8037DCDC 0037993C 3B 00 00 00 */ li r24, 0
/* 8037DCE0 00379940 3B 60 00 00 */ li r27, 0
@@ -1292,7 +727,7 @@ lbl_8037DD00:
/* 8037DD04 00379964 7F 05 C3 78 */ mr r5, r24
/* 8037DD08 00379968 38 61 00 0C */ addi r3, r1, 0xc
/* 8037DD0C 0037996C 7C 84 DA 14 */ add r4, r4, r27
-/* 8037DD10 00379970 4B FF F0 B1 */ bl func_8037CDC0
+/* 8037DD10 00379970 4B FF F0 B1 */ bl ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail9AdpcmInfoi
lbl_8037DD14:
/* 8037DD14 00379974 3B 18 00 01 */ addi r24, r24, 1
/* 8037DD18 00379978 3B 7B 00 30 */ addi r27, r27, 0x30
@@ -1388,7 +823,7 @@ lbl_8037DE4C:
/* 8037DE58 00379AB8 38 81 01 D0 */ addi r4, r1, 0x1d0
/* 8037DE5C 00379ABC 7C DE 03 D6 */ divw r6, r30, r0
/* 8037DE60 00379AC0 38 A1 01 E0 */ addi r5, r1, 0x1e0
-/* 8037DE64 00379AC4 4B FF F2 A9 */ bl func_8037D10C
+/* 8037DE64 00379AC4 4B FF F2 A9 */ bl ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii
lbl_8037DE68:
/* 8037DE68 00379AC8 7F E3 FB 78 */ mr r3, r31
/* 8037DE6C 00379ACC 4B EF 1B B9 */ bl func_8026FA24
@@ -1797,7 +1232,7 @@ func_8037E3E8:
/* 8037E418 0037A078 48 00 00 64 */ b lbl_8037E47C
lbl_8037E41C:
/* 8037E41C 0037A07C 80 7A 07 B8 */ lwz r3, 0x7b8(r26)
-/* 8037E420 0037A080 4B FF E7 69 */ bl func_8037CB88
+/* 8037E420 0037A080 4B FF E7 69 */ bl Alloc__Q44nw4r3snd6detail14StrmBufferPoolFv
/* 8037E424 0037A084 2C 03 00 00 */ cmpwi r3, 0
/* 8037E428 0037A088 40 82 00 3C */ bne lbl_8037E464
/* 8037E42C 0037A08C 7F 5E D3 78 */ mr r30, r26
@@ -1806,7 +1241,7 @@ lbl_8037E41C:
lbl_8037E438:
/* 8037E438 0037A098 80 7A 07 B8 */ lwz r3, 0x7b8(r26)
/* 8037E43C 0037A09C 80 9E 07 CC */ lwz r4, 0x7cc(r30)
-/* 8037E440 0037A0A0 4B FF E8 2D */ bl func_8037CC6C
+/* 8037E440 0037A0A0 4B FF E8 2D */ bl Free__Q44nw4r3snd6detail14StrmBufferPoolFPv
/* 8037E444 0037A0A4 3B DE 00 38 */ addi r30, r30, 0x38
/* 8037E448 0037A0A8 3B 9C 00 01 */ addi r28, r28, 1
lbl_8037E44C:
@@ -1842,7 +1277,7 @@ lbl_8037E47C:
lbl_8037E4B8:
/* 8037E4B8 0037A118 80 7A 07 B8 */ lwz r3, 0x7b8(r26)
/* 8037E4BC 0037A11C 80 9E 07 CC */ lwz r4, 0x7cc(r30)
-/* 8037E4C0 0037A120 4B FF E7 AD */ bl func_8037CC6C
+/* 8037E4C0 0037A120 4B FF E7 AD */ bl Free__Q44nw4r3snd6detail14StrmBufferPoolFPv
/* 8037E4C4 0037A124 3B DE 00 38 */ addi r30, r30, 0x38
/* 8037E4C8 0037A128 3B 9C 00 01 */ addi r28, r28, 1
lbl_8037E4CC:
@@ -1884,7 +1319,7 @@ lbl_8037E53C:
/* 8037E540 0037A1A0 2C 04 00 00 */ cmpwi r4, 0
/* 8037E544 0037A1A4 41 82 00 14 */ beq lbl_8037E558
/* 8037E548 0037A1A8 80 7B 07 B8 */ lwz r3, 0x7b8(r27)
-/* 8037E54C 0037A1AC 4B FF E7 21 */ bl func_8037CC6C
+/* 8037E54C 0037A1AC 4B FF E7 21 */ bl Free__Q44nw4r3snd6detail14StrmBufferPoolFPv
/* 8037E550 0037A1B0 93 DD 07 CC */ stw r30, 0x7cc(r29)
/* 8037E554 0037A1B4 93 DD 07 D0 */ stw r30, 0x7d0(r29)
lbl_8037E558:
diff --git a/obj_files.mk b/obj_files.mk
index 55a8f5d..80509d7 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -149,6 +149,8 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/snd_SoundStartable.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_SoundSystem.o \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_SoundThread.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_StrmChannel.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_StrmFile.o \
$(BUILD_DIR)/asm/text_10_6.o \
$(BUILD_DIR)/asm/text_11.o