summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
authorMax <34987259+mparisi20@users.noreply.github.com>2020-10-04 13:46:40 -0400
committerGitHub <noreply@github.com>2020-10-04 13:46:40 -0400
commiteb574b30bc24d82badaa10f28713648d9cbe7b87 (patch)
treede940633b2eae3a836a6f9b9981b58ce3bacece9 /asm/SDK
parentbcae721dbb421c50416eed649e17e468ba46efc0 (diff)
parentdb7f2f608adc0e77d64e5862c0e3fce12d0857de (diff)
Merge pull request #120 from mparisi20/master
Split MEM, MIX, DSP, TPL, and THP libraries
Diffstat (limited to 'asm/SDK')
-rw-r--r--asm/SDK/AX/AXOut.s12
-rw-r--r--asm/SDK/DSP/dsp.s176
-rw-r--r--asm/SDK/DSP/dsp_debug.s27
-rw-r--r--asm/SDK/DSP/dsp_task.s637
-rw-r--r--asm/SDK/HBM/HBMBase.s84
-rw-r--r--asm/SDK/HBM/HBMGUIManager.s14
-rw-r--r--asm/SDK/MEM/mem_allocator.s60
-rw-r--r--asm/SDK/MEM/mem_expHeap.s831
-rw-r--r--asm/SDK/MEM/mem_frameHeap.s225
-rw-r--r--asm/SDK/MEM/mem_heapCommon.s334
-rw-r--r--asm/SDK/MEM/mem_list.s90
-rw-r--r--asm/SDK/MIX/mix.s3635
-rw-r--r--asm/SDK/MIX/remote.s329
-rw-r--r--asm/SDK/THP/THPAudio.s326
-rw-r--r--asm/SDK/THP/THPDec.s3608
-rw-r--r--asm/SDK/TPL/TPL.s150
16 files changed, 10483 insertions, 55 deletions
diff --git a/asm/SDK/AX/AXOut.s b/asm/SDK/AX/AXOut.s
index fc309c6..9d8b255 100644
--- a/asm/SDK/AX/AXOut.s
+++ b/asm/SDK/AX/AXOut.s
@@ -37,13 +37,13 @@ lbl_80290850:
/* 80290860 0028C4C0 38 64 00 80 */ addi r3, r4, 0xBABE0080@l
/* 80290864 0028C4C4 48 00 A5 C9 */ bl DSPSendMailToDSP
lbl_80290868:
-/* 80290868 0028C4C8 48 00 A5 91 */ bl func_8029ADF8
+/* 80290868 0028C4C8 48 00 A5 91 */ bl DSPCheckMailToDSP
/* 8029086C 0028C4CC 2C 03 00 00 */ cmpwi r3, 0
/* 80290870 0028C4D0 40 82 FF F8 */ bne lbl_80290868
/* 80290874 0028C4D4 7F A3 EB 78 */ mr r3, r29
/* 80290878 0028C4D8 48 00 A5 B5 */ bl DSPSendMailToDSP
lbl_8029087C:
-/* 8029087C 0028C4DC 48 00 A5 7D */ bl func_8029ADF8
+/* 8029087C 0028C4DC 48 00 A5 7D */ bl DSPCheckMailToDSP
/* 80290880 0028C4E0 2C 03 00 00 */ cmpwi r3, 0
/* 80290884 0028C4E4 40 82 FF F8 */ bne lbl_8029087C
/* 80290888 0028C4E8 4B FF E8 21 */ bl __AXServiceCallbackStack
@@ -183,7 +183,7 @@ lbl_80290A78:
/* 80290A7C 0028C6DC 3C 60 80 52 */ lis r3, lbl_8051F9A0@ha
/* 80290A80 0028C6E0 90 0D AB B8 */ stw r0, lbl_8063FE78-_SDA_BASE_(r13)
/* 80290A84 0028C6E4 38 63 F9 A0 */ addi r3, r3, lbl_8051F9A0@l
-/* 80290A88 0028C6E8 48 00 A4 F1 */ bl func_8029AF78
+/* 80290A88 0028C6E8 48 00 A4 F1 */ bl DSPAssertTask
lbl_80290A8C:
/* 80290A8C 0028C6EC 80 0D AB 98 */ lwz r0, lbl_8063FE58-_SDA_BASE_(r13)
/* 80290A90 0028C6F0 28 00 00 01 */ cmplwi r0, 1
@@ -295,14 +295,14 @@ __AXOutInitDSP:
/* 80290C08 0028C868 90 9E 00 34 */ stw r4, 0x34(r30)
/* 80290C0C 0028C86C 91 8D AB AC */ stw r12, lbl_8063FE6C-_SDA_BASE_(r13)
/* 80290C10 0028C870 4B FE 06 D9 */ bl OSInitThreadQueue
-/* 80290C14 0028C874 48 00 A2 ED */ bl func_8029AF00
+/* 80290C14 0028C874 48 00 A2 ED */ bl DSPCheckInit
/* 80290C18 0028C878 2C 03 00 00 */ cmpwi r3, 0
/* 80290C1C 0028C87C 40 82 00 08 */ bne lbl_80290C24
-/* 80290C20 0028C880 48 00 A2 21 */ bl func_8029AE40
+/* 80290C20 0028C880 48 00 A2 21 */ bl DSPInit
lbl_80290C24:
/* 80290C24 0028C884 3C 60 80 52 */ lis r3, lbl_8051F9A0@ha
/* 80290C28 0028C888 38 63 F9 A0 */ addi r3, r3, lbl_8051F9A0@l
-/* 80290C2C 0028C88C 48 00 A2 DD */ bl func_8029AF08
+/* 80290C2C 0028C88C 48 00 A2 DD */ bl DSPAddTask
lbl_80290C30:
/* 80290C30 0028C890 80 0D AB B0 */ lwz r0, lbl_8063FE70-_SDA_BASE_(r13)
/* 80290C34 0028C894 2C 00 00 00 */ cmpwi r0, 0
diff --git a/asm/SDK/DSP/dsp.s b/asm/SDK/DSP/dsp.s
new file mode 100644
index 0000000..29e1dca
--- /dev/null
+++ b/asm/SDK/DSP/dsp.s
@@ -0,0 +1,176 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DSPCheckMailToDSP
+DSPCheckMailToDSP:
+/* 8029ADF8 00296A58 3C 60 CC 00 */ lis r3, 0xCC005000@ha
+/* 8029ADFC 00296A5C A0 03 50 00 */ lhz r0, 0xCC005000@l(r3)
+/* 8029AE00 00296A60 54 03 8F FE */ rlwinm r3, r0, 0x11, 0x1f, 0x1f
+/* 8029AE04 00296A64 4E 80 00 20 */ blr
+
+.global DSPCheckMailFromDSP
+DSPCheckMailFromDSP:
+/* 8029AE08 00296A68 3C 60 CC 00 */ lis r3, 0xCC005004@ha
+/* 8029AE0C 00296A6C A0 03 50 04 */ lhz r0, 0xCC005004@l(r3)
+/* 8029AE10 00296A70 54 03 8F FE */ rlwinm r3, r0, 0x11, 0x1f, 0x1f
+/* 8029AE14 00296A74 4E 80 00 20 */ blr
+
+.global DSPReadMailFromDSP
+DSPReadMailFromDSP:
+/* 8029AE18 00296A78 3C 60 CC 00 */ lis r3, 0xCC005004@ha
+/* 8029AE1C 00296A7C A0 03 50 04 */ lhz r0, 0xCC005004@l(r3)
+/* 8029AE20 00296A80 A0 63 50 06 */ lhz r3, 0x5006(r3)
+/* 8029AE24 00296A84 50 03 80 1E */ rlwimi r3, r0, 0x10, 0, 0xf
+/* 8029AE28 00296A88 4E 80 00 20 */ blr
+
+.global DSPSendMailToDSP
+DSPSendMailToDSP:
+/* 8029AE2C 00296A8C 3C 80 CC 00 */ lis r4, 0xCC005000@ha
+/* 8029AE30 00296A90 54 60 84 3E */ srwi r0, r3, 0x10
+/* 8029AE34 00296A94 B0 04 50 00 */ sth r0, 0xCC005000@l(r4)
+/* 8029AE38 00296A98 B0 64 50 02 */ sth r3, 0x5002(r4)
+/* 8029AE3C 00296A9C 4E 80 00 20 */ blr
+
+.global DSPInit
+DSPInit:
+/* 8029AE40 00296AA0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029AE44 00296AA4 7C 08 02 A6 */ mflr r0
+/* 8029AE48 00296AA8 3C A0 80 44 */ lis r5, lbl_8043BD00@ha
+/* 8029AE4C 00296AAC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029AE50 00296AB0 38 A5 BD 00 */ addi r5, r5, lbl_8043BD00@l
+/* 8029AE54 00296AB4 38 65 00 48 */ addi r3, r5, 0x48
+/* 8029AE58 00296AB8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029AE5C 00296ABC 38 85 00 68 */ addi r4, r5, 0x68
+/* 8029AE60 00296AC0 38 A5 00 74 */ addi r5, r5, 0x74
+/* 8029AE64 00296AC4 4C C6 31 82 */ crclr 6
+/* 8029AE68 00296AC8 48 00 01 CD */ bl __DSP_debug_printf
+/* 8029AE6C 00296ACC 80 0D AC 68 */ lwz r0, lbl_8063FF28-_SDA_BASE_(r13)
+/* 8029AE70 00296AD0 2C 00 00 01 */ cmpwi r0, 1
+/* 8029AE74 00296AD4 41 82 00 78 */ beq lbl_8029AEEC
+/* 8029AE78 00296AD8 80 6D 89 00 */ lwz r3, lbl_8063DBC0-_SDA_BASE_(r13)
+/* 8029AE7C 00296ADC 4B FC E7 D5 */ bl OSRegisterVersion
+/* 8029AE80 00296AE0 4B FD 38 DD */ bl OSDisableInterrupts
+/* 8029AE84 00296AE4 3C 80 80 2A */ lis r4, __DSPHandler@ha
+/* 8029AE88 00296AE8 7C 7F 1B 78 */ mr r31, r3
+/* 8029AE8C 00296AEC 38 84 B0 84 */ addi r4, r4, __DSPHandler@l
+/* 8029AE90 00296AF0 38 60 00 07 */ li r3, 7
+/* 8029AE94 00296AF4 4B FD 39 15 */ bl __OSSetInterruptHandler
+/* 8029AE98 00296AF8 3C 60 01 00 */ lis r3, 0x100
+/* 8029AE9C 00296AFC 4B FD 3C D1 */ bl __OSUnmaskInterrupts
+/* 8029AEA0 00296B00 3C E0 CC 00 */ lis r7, 0xCC00500A@ha
+/* 8029AEA4 00296B04 38 60 FF 57 */ li r3, -169
+/* 8029AEA8 00296B08 A0 C7 50 0A */ lhz r6, 0xCC00500A@l(r7)
+/* 8029AEAC 00296B0C 38 A0 FF 53 */ li r5, -173
+/* 8029AEB0 00296B10 38 80 00 00 */ li r4, 0
+/* 8029AEB4 00296B14 38 00 00 01 */ li r0, 1
+/* 8029AEB8 00296B18 7C C3 18 38 */ and r3, r6, r3
+/* 8029AEBC 00296B1C 60 63 08 00 */ ori r3, r3, 0x800
+/* 8029AEC0 00296B20 B0 67 50 0A */ sth r3, 0x500a(r7)
+/* 8029AEC4 00296B24 7F E3 FB 78 */ mr r3, r31
+/* 8029AEC8 00296B28 A0 C7 50 0A */ lhz r6, 0x500a(r7)
+/* 8029AECC 00296B2C 7C C5 28 38 */ and r5, r6, r5
+/* 8029AED0 00296B30 B0 A7 50 0A */ sth r5, 0x500a(r7)
+/* 8029AED4 00296B34 90 8D AC 78 */ stw r4, lbl_8063FF38-_SDA_BASE_(r13)
+/* 8029AED8 00296B38 90 8D AC 84 */ stw r4, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029AEDC 00296B3C 90 8D AC 7C */ stw r4, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029AEE0 00296B40 90 8D AC 80 */ stw r4, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029AEE4 00296B44 90 0D AC 68 */ stw r0, lbl_8063FF28-_SDA_BASE_(r13)
+/* 8029AEE8 00296B48 4B FD 38 9D */ bl OSRestoreInterrupts
+lbl_8029AEEC:
+/* 8029AEEC 00296B4C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029AEF0 00296B50 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029AEF4 00296B54 7C 08 03 A6 */ mtlr r0
+/* 8029AEF8 00296B58 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029AEFC 00296B5C 4E 80 00 20 */ blr
+
+.global DSPCheckInit
+DSPCheckInit:
+/* 8029AF00 00296B60 80 6D AC 68 */ lwz r3, lbl_8063FF28-_SDA_BASE_(r13)
+/* 8029AF04 00296B64 4E 80 00 20 */ blr
+
+.global DSPAddTask
+DSPAddTask:
+/* 8029AF08 00296B68 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029AF0C 00296B6C 7C 08 02 A6 */ mflr r0
+/* 8029AF10 00296B70 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029AF14 00296B74 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029AF18 00296B78 93 C1 00 08 */ stw r30, 8(r1)
+/* 8029AF1C 00296B7C 7C 7E 1B 78 */ mr r30, r3
+/* 8029AF20 00296B80 4B FD 38 3D */ bl OSDisableInterrupts
+/* 8029AF24 00296B84 7C 7F 1B 78 */ mr r31, r3
+/* 8029AF28 00296B88 7F C3 F3 78 */ mr r3, r30
+/* 8029AF2C 00296B8C 48 00 08 BD */ bl __DSP_insert_task
+/* 8029AF30 00296B90 38 60 00 00 */ li r3, 0
+/* 8029AF34 00296B94 38 00 00 01 */ li r0, 1
+/* 8029AF38 00296B98 90 7E 00 00 */ stw r3, 0(r30)
+/* 8029AF3C 00296B9C 7F E3 FB 78 */ mr r3, r31
+/* 8029AF40 00296BA0 90 1E 00 08 */ stw r0, 8(r30)
+/* 8029AF44 00296BA4 4B FD 38 41 */ bl OSRestoreInterrupts
+/* 8029AF48 00296BA8 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029AF4C 00296BAC 7C 1E 00 40 */ cmplw r30, r0
+/* 8029AF50 00296BB0 40 82 00 0C */ bne lbl_8029AF5C
+/* 8029AF54 00296BB4 7F C3 F3 78 */ mr r3, r30
+/* 8029AF58 00296BB8 48 00 07 05 */ bl __DSP_boot_task
+lbl_8029AF5C:
+/* 8029AF5C 00296BBC 7F C3 F3 78 */ mr r3, r30
+/* 8029AF60 00296BC0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029AF64 00296BC4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8029AF68 00296BC8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029AF6C 00296BCC 7C 08 03 A6 */ mtlr r0
+/* 8029AF70 00296BD0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029AF74 00296BD4 4E 80 00 20 */ blr
+
+.global DSPAssertTask
+DSPAssertTask:
+/* 8029AF78 00296BD8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029AF7C 00296BDC 7C 08 02 A6 */ mflr r0
+/* 8029AF80 00296BE0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029AF84 00296BE4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029AF88 00296BE8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8029AF8C 00296BEC 7C 7E 1B 78 */ mr r30, r3
+/* 8029AF90 00296BF0 4B FD 37 CD */ bl OSDisableInterrupts
+/* 8029AF94 00296BF4 80 AD AC 84 */ lwz r5, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029AF98 00296BF8 7C 7F 1B 78 */ mr r31, r3
+/* 8029AF9C 00296BFC 7C 05 F0 40 */ cmplw r5, r30
+/* 8029AFA0 00296C00 40 82 00 1C */ bne lbl_8029AFBC
+/* 8029AFA4 00296C04 38 00 00 01 */ li r0, 1
+/* 8029AFA8 00296C08 93 CD AC 74 */ stw r30, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029AFAC 00296C0C 90 0D AC 70 */ stw r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029AFB0 00296C10 4B FD 37 D5 */ bl OSRestoreInterrupts
+/* 8029AFB4 00296C14 7F C3 F3 78 */ mr r3, r30
+/* 8029AFB8 00296C18 48 00 00 64 */ b lbl_8029B01C
+lbl_8029AFBC:
+/* 8029AFBC 00296C1C 80 9E 00 04 */ lwz r4, 4(r30)
+/* 8029AFC0 00296C20 80 05 00 04 */ lwz r0, 4(r5)
+/* 8029AFC4 00296C24 7C 04 00 40 */ cmplw r4, r0
+/* 8029AFC8 00296C28 40 80 00 4C */ bge lbl_8029B014
+/* 8029AFCC 00296C2C 38 00 00 01 */ li r0, 1
+/* 8029AFD0 00296C30 93 CD AC 74 */ stw r30, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029AFD4 00296C34 90 0D AC 70 */ stw r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029AFD8 00296C38 80 05 00 00 */ lwz r0, 0(r5)
+/* 8029AFDC 00296C3C 28 00 00 01 */ cmplwi r0, 1
+/* 8029AFE0 00296C40 40 82 00 24 */ bne lbl_8029B004
+/* 8029AFE4 00296C44 4B FD 37 79 */ bl OSDisableInterrupts
+/* 8029AFE8 00296C48 3C A0 CC 00 */ lis r5, 0xCC00500A@ha
+/* 8029AFEC 00296C4C 38 00 FF 57 */ li r0, -169
+/* 8029AFF0 00296C50 A0 85 50 0A */ lhz r4, 0xCC00500A@l(r5)
+/* 8029AFF4 00296C54 7C 80 00 38 */ and r0, r4, r0
+/* 8029AFF8 00296C58 60 00 00 02 */ ori r0, r0, 2
+/* 8029AFFC 00296C5C B0 05 50 0A */ sth r0, 0x500a(r5)
+/* 8029B000 00296C60 4B FD 37 85 */ bl OSRestoreInterrupts
+lbl_8029B004:
+/* 8029B004 00296C64 7F E3 FB 78 */ mr r3, r31
+/* 8029B008 00296C68 4B FD 37 7D */ bl OSRestoreInterrupts
+/* 8029B00C 00296C6C 7F C3 F3 78 */ mr r3, r30
+/* 8029B010 00296C70 48 00 00 0C */ b lbl_8029B01C
+lbl_8029B014:
+/* 8029B014 00296C74 4B FD 37 71 */ bl OSRestoreInterrupts
+/* 8029B018 00296C78 38 60 00 00 */ li r3, 0
+lbl_8029B01C:
+/* 8029B01C 00296C7C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029B020 00296C80 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029B024 00296C84 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8029B028 00296C88 7C 08 03 A6 */ mtlr r0
+/* 8029B02C 00296C8C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029B030 00296C90 4E 80 00 20 */ blr
diff --git a/asm/SDK/DSP/dsp_debug.s b/asm/SDK/DSP/dsp_debug.s
new file mode 100644
index 0000000..57c990d
--- /dev/null
+++ b/asm/SDK/DSP/dsp_debug.s
@@ -0,0 +1,27 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __DSP_debug_printf
+__DSP_debug_printf:
+/* 8029B034 00296C94 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 8029B038 00296C98 40 86 00 24 */ bne cr1, lbl_8029B05C
+/* 8029B03C 00296C9C D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 8029B040 00296CA0 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 8029B044 00296CA4 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 8029B048 00296CA8 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 8029B04C 00296CAC D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 8029B050 00296CB0 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 8029B054 00296CB4 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 8029B058 00296CB8 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_8029B05C:
+/* 8029B05C 00296CBC 90 61 00 08 */ stw r3, 8(r1)
+/* 8029B060 00296CC0 90 81 00 0C */ stw r4, 0xc(r1)
+/* 8029B064 00296CC4 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 8029B068 00296CC8 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 8029B06C 00296CCC 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 8029B070 00296CD0 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 8029B074 00296CD4 91 21 00 20 */ stw r9, 0x20(r1)
+/* 8029B078 00296CD8 91 41 00 24 */ stw r10, 0x24(r1)
+/* 8029B07C 00296CDC 38 21 00 70 */ addi r1, r1, 0x70
+/* 8029B080 00296CE0 4E 80 00 20 */ blr
diff --git a/asm/SDK/DSP/dsp_task.s b/asm/SDK/DSP/dsp_task.s
new file mode 100644
index 0000000..1db1f3f
--- /dev/null
+++ b/asm/SDK/DSP/dsp_task.s
@@ -0,0 +1,637 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __DSPHandler
+__DSPHandler:
+/* 8029B084 00296CE4 94 21 FD 20 */ stwu r1, -0x2e0(r1)
+/* 8029B088 00296CE8 7C 08 02 A6 */ mflr r0
+/* 8029B08C 00296CEC 3C C0 CC 00 */ lis r6, 0xCC00500A@ha
+/* 8029B090 00296CF0 90 01 02 E4 */ stw r0, 0x2e4(r1)
+/* 8029B094 00296CF4 38 00 FF D7 */ li r0, -41
+/* 8029B098 00296CF8 38 61 00 08 */ addi r3, r1, 8
+/* 8029B09C 00296CFC 93 E1 02 DC */ stw r31, 0x2dc(r1)
+/* 8029B0A0 00296D00 7C 9F 23 78 */ mr r31, r4
+/* 8029B0A4 00296D04 A0 A6 50 0A */ lhz r5, 0xCC00500A@l(r6)
+/* 8029B0A8 00296D08 7C A0 00 38 */ and r0, r5, r0
+/* 8029B0AC 00296D0C 60 00 00 80 */ ori r0, r0, 0x80
+/* 8029B0B0 00296D10 B0 06 50 0A */ sth r0, 0x500a(r6)
+/* 8029B0B4 00296D14 4B FC FF DD */ bl OSClearContext
+/* 8029B0B8 00296D18 38 61 00 08 */ addi r3, r1, 8
+/* 8029B0BC 00296D1C 4B FC FD AD */ bl OSSetCurrentContext
+lbl_8029B0C0:
+/* 8029B0C0 00296D20 4B FF FD 49 */ bl DSPCheckMailFromDSP
+/* 8029B0C4 00296D24 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B0C8 00296D28 41 82 FF F8 */ beq lbl_8029B0C0
+/* 8029B0CC 00296D2C 4B FF FD 4D */ bl DSPReadMailFromDSP
+/* 8029B0D0 00296D30 80 AD AC 84 */ lwz r5, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B0D4 00296D34 80 05 00 08 */ lwz r0, 8(r5)
+/* 8029B0D8 00296D38 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8029B0DC 00296D3C 41 82 00 18 */ beq lbl_8029B0F4
+/* 8029B0E0 00296D40 3C 03 23 2F */ addis r0, r3, 0x232f
+/* 8029B0E4 00296D44 28 00 00 02 */ cmplwi r0, 2
+/* 8029B0E8 00296D48 40 82 00 0C */ bne lbl_8029B0F4
+/* 8029B0EC 00296D4C 3C 60 DC D1 */ lis r3, 0xDCD10003@ha
+/* 8029B0F0 00296D50 38 63 00 03 */ addi r3, r3, 0xDCD10003@l
+lbl_8029B0F4:
+/* 8029B0F4 00296D54 3C 80 DC D1 */ lis r4, 0xDCD10002@ha
+/* 8029B0F8 00296D58 38 04 00 02 */ addi r0, r4, 0xDCD10002@l
+/* 8029B0FC 00296D5C 7C 03 00 00 */ cmpw r3, r0
+/* 8029B100 00296D60 41 82 00 74 */ beq lbl_8029B174
+/* 8029B104 00296D64 40 80 00 14 */ bge lbl_8029B118
+/* 8029B108 00296D68 7C 03 20 00 */ cmpw r3, r4
+/* 8029B10C 00296D6C 41 82 00 20 */ beq lbl_8029B12C
+/* 8029B110 00296D70 40 80 00 40 */ bge lbl_8029B150
+/* 8029B114 00296D74 48 00 03 80 */ b lbl_8029B494
+lbl_8029B118:
+/* 8029B118 00296D78 38 04 00 04 */ addi r0, r4, 4
+/* 8029B11C 00296D7C 7C 03 00 00 */ cmpw r3, r0
+/* 8029B120 00296D80 41 82 03 5C */ beq lbl_8029B47C
+/* 8029B124 00296D84 40 80 03 70 */ bge lbl_8029B494
+/* 8029B128 00296D88 48 00 01 B4 */ b lbl_8029B2DC
+lbl_8029B12C:
+/* 8029B12C 00296D8C 38 00 00 01 */ li r0, 1
+/* 8029B130 00296D90 90 05 00 00 */ stw r0, 0(r5)
+/* 8029B134 00296D94 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B138 00296D98 81 83 00 28 */ lwz r12, 0x28(r3)
+/* 8029B13C 00296D9C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B140 00296DA0 41 82 03 54 */ beq lbl_8029B494
+/* 8029B144 00296DA4 7D 89 03 A6 */ mtctr r12
+/* 8029B148 00296DA8 4E 80 04 21 */ bctrl
+/* 8029B14C 00296DAC 48 00 03 48 */ b lbl_8029B494
+lbl_8029B150:
+/* 8029B150 00296DB0 38 00 00 01 */ li r0, 1
+/* 8029B154 00296DB4 90 05 00 00 */ stw r0, 0(r5)
+/* 8029B158 00296DB8 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B15C 00296DBC 81 83 00 2C */ lwz r12, 0x2c(r3)
+/* 8029B160 00296DC0 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B164 00296DC4 41 82 03 30 */ beq lbl_8029B494
+/* 8029B168 00296DC8 7D 89 03 A6 */ mtctr r12
+/* 8029B16C 00296DCC 4E 80 04 21 */ bctrl
+/* 8029B170 00296DD0 48 00 03 24 */ b lbl_8029B494
+lbl_8029B174:
+/* 8029B174 00296DD4 80 0D AC 70 */ lwz r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029B178 00296DD8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B17C 00296DDC 41 82 00 98 */ beq lbl_8029B214
+/* 8029B180 00296DE0 80 0D AC 74 */ lwz r0, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B184 00296DE4 7C 05 00 40 */ cmplw r5, r0
+/* 8029B188 00296DE8 40 82 00 44 */ bne lbl_8029B1CC
+/* 8029B18C 00296DEC 3C 60 CD D1 */ lis r3, 0xCDD10003@ha
+/* 8029B190 00296DF0 38 63 00 03 */ addi r3, r3, 0xCDD10003@l
+/* 8029B194 00296DF4 4B FF FC 99 */ bl DSPSendMailToDSP
+lbl_8029B198:
+/* 8029B198 00296DF8 4B FF FC 61 */ bl DSPCheckMailToDSP
+/* 8029B19C 00296DFC 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B1A0 00296E00 40 82 FF F8 */ bne lbl_8029B198
+/* 8029B1A4 00296E04 38 00 00 00 */ li r0, 0
+/* 8029B1A8 00296E08 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B1AC 00296E0C 90 0D AC 74 */ stw r0, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B1B0 00296E10 90 0D AC 70 */ stw r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029B1B4 00296E14 81 83 00 2C */ lwz r12, 0x2c(r3)
+/* 8029B1B8 00296E18 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B1BC 00296E1C 41 82 02 D8 */ beq lbl_8029B494
+/* 8029B1C0 00296E20 7D 89 03 A6 */ mtctr r12
+/* 8029B1C4 00296E24 4E 80 04 21 */ bctrl
+/* 8029B1C8 00296E28 48 00 02 CC */ b lbl_8029B494
+lbl_8029B1CC:
+/* 8029B1CC 00296E2C 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
+/* 8029B1D0 00296E30 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
+/* 8029B1D4 00296E34 4B FF FC 59 */ bl DSPSendMailToDSP
+lbl_8029B1D8:
+/* 8029B1D8 00296E38 4B FF FC 21 */ bl DSPCheckMailToDSP
+/* 8029B1DC 00296E3C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B1E0 00296E40 40 82 FF F8 */ bne lbl_8029B1D8
+/* 8029B1E4 00296E44 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B1E8 00296E48 80 8D AC 74 */ lwz r4, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B1EC 00296E4C 48 00 02 CD */ bl __DSP_exec_task
+/* 8029B1F0 00296E50 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B1F4 00296E54 38 80 00 02 */ li r4, 2
+/* 8029B1F8 00296E58 38 00 00 00 */ li r0, 0
+/* 8029B1FC 00296E5C 90 83 00 00 */ stw r4, 0(r3)
+/* 8029B200 00296E60 80 6D AC 74 */ lwz r3, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B204 00296E64 90 0D AC 70 */ stw r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029B208 00296E68 90 6D AC 84 */ stw r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B20C 00296E6C 90 0D AC 74 */ stw r0, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B210 00296E70 48 00 02 84 */ b lbl_8029B494
+lbl_8029B214:
+/* 8029B214 00296E74 80 05 00 38 */ lwz r0, 0x38(r5)
+/* 8029B218 00296E78 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B21C 00296E7C 40 82 00 80 */ bne lbl_8029B29C
+/* 8029B220 00296E80 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B224 00296E84 7C 05 00 40 */ cmplw r5, r0
+/* 8029B228 00296E88 40 82 00 38 */ bne lbl_8029B260
+/* 8029B22C 00296E8C 3C 60 CD D1 */ lis r3, 0xCDD10003@ha
+/* 8029B230 00296E90 38 63 00 03 */ addi r3, r3, 0xCDD10003@l
+/* 8029B234 00296E94 4B FF FB F9 */ bl DSPSendMailToDSP
+lbl_8029B238:
+/* 8029B238 00296E98 4B FF FB C1 */ bl DSPCheckMailToDSP
+/* 8029B23C 00296E9C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B240 00296EA0 40 82 FF F8 */ bne lbl_8029B238
+/* 8029B244 00296EA4 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B248 00296EA8 81 83 00 2C */ lwz r12, 0x2c(r3)
+/* 8029B24C 00296EAC 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B250 00296EB0 41 82 02 44 */ beq lbl_8029B494
+/* 8029B254 00296EB4 7D 89 03 A6 */ mtctr r12
+/* 8029B258 00296EB8 4E 80 04 21 */ bctrl
+/* 8029B25C 00296EBC 48 00 02 38 */ b lbl_8029B494
+lbl_8029B260:
+/* 8029B260 00296EC0 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
+/* 8029B264 00296EC4 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
+/* 8029B268 00296EC8 4B FF FB C5 */ bl DSPSendMailToDSP
+lbl_8029B26C:
+/* 8029B26C 00296ECC 4B FF FB 8D */ bl DSPCheckMailToDSP
+/* 8029B270 00296ED0 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B274 00296ED4 40 82 FF F8 */ bne lbl_8029B26C
+/* 8029B278 00296ED8 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B27C 00296EDC 80 8D AC 80 */ lwz r4, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B280 00296EE0 48 00 02 39 */ bl __DSP_exec_task
+/* 8029B284 00296EE4 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B288 00296EE8 38 00 00 02 */ li r0, 2
+/* 8029B28C 00296EEC 90 03 00 00 */ stw r0, 0(r3)
+/* 8029B290 00296EF0 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B294 00296EF4 90 0D AC 84 */ stw r0, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B298 00296EF8 48 00 01 FC */ b lbl_8029B494
+lbl_8029B29C:
+/* 8029B29C 00296EFC 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
+/* 8029B2A0 00296F00 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
+/* 8029B2A4 00296F04 4B FF FB 89 */ bl DSPSendMailToDSP
+lbl_8029B2A8:
+/* 8029B2A8 00296F08 4B FF FB 51 */ bl DSPCheckMailToDSP
+/* 8029B2AC 00296F0C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B2B0 00296F10 40 82 FF F8 */ bne lbl_8029B2A8
+/* 8029B2B4 00296F14 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B2B8 00296F18 80 83 00 38 */ lwz r4, 0x38(r3)
+/* 8029B2BC 00296F1C 48 00 01 FD */ bl __DSP_exec_task
+/* 8029B2C0 00296F20 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B2C4 00296F24 38 00 00 02 */ li r0, 2
+/* 8029B2C8 00296F28 90 03 00 00 */ stw r0, 0(r3)
+/* 8029B2CC 00296F2C 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B2D0 00296F30 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 8029B2D4 00296F34 90 0D AC 84 */ stw r0, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B2D8 00296F38 48 00 01 BC */ b lbl_8029B494
+lbl_8029B2DC:
+/* 8029B2DC 00296F3C 80 0D AC 70 */ lwz r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029B2E0 00296F40 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B2E4 00296F44 41 82 00 78 */ beq lbl_8029B35C
+/* 8029B2E8 00296F48 80 0D AC 74 */ lwz r0, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B2EC 00296F4C 7C 05 00 40 */ cmplw r5, r0
+/* 8029B2F0 00296F50 41 82 00 60 */ beq lbl_8029B350
+/* 8029B2F4 00296F54 81 85 00 30 */ lwz r12, 0x30(r5)
+/* 8029B2F8 00296F58 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B2FC 00296F5C 41 82 00 10 */ beq lbl_8029B30C
+/* 8029B300 00296F60 7C A3 2B 78 */ mr r3, r5
+/* 8029B304 00296F64 7D 89 03 A6 */ mtctr r12
+/* 8029B308 00296F68 4E 80 04 21 */ bctrl
+lbl_8029B30C:
+/* 8029B30C 00296F6C 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
+/* 8029B310 00296F70 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
+/* 8029B314 00296F74 4B FF FB 19 */ bl DSPSendMailToDSP
+lbl_8029B318:
+/* 8029B318 00296F78 4B FF FA E1 */ bl DSPCheckMailToDSP
+/* 8029B31C 00296F7C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B320 00296F80 40 82 FF F8 */ bne lbl_8029B318
+/* 8029B324 00296F84 80 8D AC 74 */ lwz r4, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B328 00296F88 38 60 00 00 */ li r3, 0
+/* 8029B32C 00296F8C 48 00 01 8D */ bl __DSP_exec_task
+/* 8029B330 00296F90 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B334 00296F94 48 00 05 51 */ bl __DSP_remove_task
+/* 8029B338 00296F98 80 6D AC 74 */ lwz r3, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B33C 00296F9C 38 00 00 00 */ li r0, 0
+/* 8029B340 00296FA0 90 0D AC 70 */ stw r0, lbl_8063FF30-_SDA_BASE_(r13)
+/* 8029B344 00296FA4 90 6D AC 84 */ stw r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B348 00296FA8 90 0D AC 74 */ stw r0, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B34C 00296FAC 48 00 01 48 */ b lbl_8029B494
+lbl_8029B350:
+/* 8029B350 00296FB0 38 00 00 00 */ li r0, 0
+/* 8029B354 00296FB4 90 0D AC 74 */ stw r0, lbl_8063FF34-_SDA_BASE_(r13)
+/* 8029B358 00296FB8 90 0D AC 70 */ stw r0, lbl_8063FF30-_SDA_BASE_(r13)
+lbl_8029B35C:
+/* 8029B35C 00296FBC 80 05 00 38 */ lwz r0, 0x38(r5)
+/* 8029B360 00296FC0 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B364 00296FC4 40 82 00 B4 */ bne lbl_8029B418
+/* 8029B368 00296FC8 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B36C 00296FCC 7C 05 00 40 */ cmplw r5, r0
+/* 8029B370 00296FD0 40 82 00 4C */ bne lbl_8029B3BC
+/* 8029B374 00296FD4 81 85 00 30 */ lwz r12, 0x30(r5)
+/* 8029B378 00296FD8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B37C 00296FDC 41 82 00 10 */ beq lbl_8029B38C
+/* 8029B380 00296FE0 7C A3 2B 78 */ mr r3, r5
+/* 8029B384 00296FE4 7D 89 03 A6 */ mtctr r12
+/* 8029B388 00296FE8 4E 80 04 21 */ bctrl
+lbl_8029B38C:
+/* 8029B38C 00296FEC 3C 60 CD D1 */ lis r3, 0xCDD10002@ha
+/* 8029B390 00296FF0 38 63 00 02 */ addi r3, r3, 0xCDD10002@l
+/* 8029B394 00296FF4 4B FF FA 99 */ bl DSPSendMailToDSP
+lbl_8029B398:
+/* 8029B398 00296FF8 4B FF FA 61 */ bl DSPCheckMailToDSP
+/* 8029B39C 00296FFC 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B3A0 00297000 40 82 FF F8 */ bne lbl_8029B398
+/* 8029B3A4 00297004 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B3A8 00297008 38 00 00 03 */ li r0, 3
+/* 8029B3AC 0029700C 90 03 00 00 */ stw r0, 0(r3)
+/* 8029B3B0 00297010 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B3B4 00297014 48 00 04 D1 */ bl __DSP_remove_task
+/* 8029B3B8 00297018 48 00 00 DC */ b lbl_8029B494
+lbl_8029B3BC:
+/* 8029B3BC 0029701C 81 85 00 30 */ lwz r12, 0x30(r5)
+/* 8029B3C0 00297020 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B3C4 00297024 41 82 00 10 */ beq lbl_8029B3D4
+/* 8029B3C8 00297028 7C A3 2B 78 */ mr r3, r5
+/* 8029B3CC 0029702C 7D 89 03 A6 */ mtctr r12
+/* 8029B3D0 00297030 4E 80 04 21 */ bctrl
+lbl_8029B3D4:
+/* 8029B3D4 00297034 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
+/* 8029B3D8 00297038 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
+/* 8029B3DC 0029703C 4B FF FA 51 */ bl DSPSendMailToDSP
+lbl_8029B3E0:
+/* 8029B3E0 00297040 4B FF FA 19 */ bl DSPCheckMailToDSP
+/* 8029B3E4 00297044 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B3E8 00297048 40 82 FF F8 */ bne lbl_8029B3E0
+/* 8029B3EC 0029704C 80 8D AC 84 */ lwz r4, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B3F0 00297050 38 00 00 03 */ li r0, 3
+/* 8029B3F4 00297054 38 60 00 00 */ li r3, 0
+/* 8029B3F8 00297058 90 04 00 00 */ stw r0, 0(r4)
+/* 8029B3FC 0029705C 80 8D AC 80 */ lwz r4, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B400 00297060 48 00 00 B9 */ bl __DSP_exec_task
+/* 8029B404 00297064 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B408 00297068 80 6D AC 7C */ lwz r3, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B40C 0029706C 90 0D AC 84 */ stw r0, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B410 00297070 48 00 04 75 */ bl __DSP_remove_task
+/* 8029B414 00297074 48 00 00 80 */ b lbl_8029B494
+lbl_8029B418:
+/* 8029B418 00297078 81 85 00 30 */ lwz r12, 0x30(r5)
+/* 8029B41C 0029707C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B420 00297080 41 82 00 10 */ beq lbl_8029B430
+/* 8029B424 00297084 7C A3 2B 78 */ mr r3, r5
+/* 8029B428 00297088 7D 89 03 A6 */ mtctr r12
+/* 8029B42C 0029708C 4E 80 04 21 */ bctrl
+lbl_8029B430:
+/* 8029B430 00297090 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
+/* 8029B434 00297094 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
+/* 8029B438 00297098 4B FF F9 F5 */ bl DSPSendMailToDSP
+lbl_8029B43C:
+/* 8029B43C 0029709C 4B FF F9 BD */ bl DSPCheckMailToDSP
+/* 8029B440 002970A0 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B444 002970A4 40 82 FF F8 */ bne lbl_8029B43C
+/* 8029B448 002970A8 80 8D AC 84 */ lwz r4, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B44C 002970AC 38 00 00 03 */ li r0, 3
+/* 8029B450 002970B0 38 60 00 00 */ li r3, 0
+/* 8029B454 002970B4 90 04 00 00 */ stw r0, 0(r4)
+/* 8029B458 002970B8 80 8D AC 84 */ lwz r4, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B45C 002970BC 80 84 00 38 */ lwz r4, 0x38(r4)
+/* 8029B460 002970C0 48 00 00 59 */ bl __DSP_exec_task
+/* 8029B464 002970C4 80 6D AC 84 */ lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B468 002970C8 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 8029B46C 002970CC 90 6D AC 84 */ stw r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B470 002970D0 80 63 00 3C */ lwz r3, 0x3c(r3)
+/* 8029B474 002970D4 48 00 04 11 */ bl __DSP_remove_task
+/* 8029B478 002970D8 48 00 00 1C */ b lbl_8029B494
+lbl_8029B47C:
+/* 8029B47C 002970DC 81 85 00 34 */ lwz r12, 0x34(r5)
+/* 8029B480 002970E0 2C 0C 00 00 */ cmpwi r12, 0
+/* 8029B484 002970E4 41 82 00 10 */ beq lbl_8029B494
+/* 8029B488 002970E8 7C A3 2B 78 */ mr r3, r5
+/* 8029B48C 002970EC 7D 89 03 A6 */ mtctr r12
+/* 8029B490 002970F0 4E 80 04 21 */ bctrl
+lbl_8029B494:
+/* 8029B494 002970F4 38 61 00 08 */ addi r3, r1, 8
+/* 8029B498 002970F8 4B FC FB F9 */ bl OSClearContext
+/* 8029B49C 002970FC 7F E3 FB 78 */ mr r3, r31
+/* 8029B4A0 00297100 4B FC F9 C9 */ bl OSSetCurrentContext
+/* 8029B4A4 00297104 80 01 02 E4 */ lwz r0, 0x2e4(r1)
+/* 8029B4A8 00297108 83 E1 02 DC */ lwz r31, 0x2dc(r1)
+/* 8029B4AC 0029710C 7C 08 03 A6 */ mtlr r0
+/* 8029B4B0 00297110 38 21 02 E0 */ addi r1, r1, 0x2e0
+/* 8029B4B4 00297114 4E 80 00 20 */ blr
+
+.global __DSP_exec_task
+__DSP_exec_task:
+/* 8029B4B8 00297118 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029B4BC 0029711C 7C 08 02 A6 */ mflr r0
+/* 8029B4C0 00297120 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B4C4 00297124 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029B4C8 00297128 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029B4CC 0029712C 7C 9F 23 78 */ mr r31, r4
+/* 8029B4D0 00297130 93 C1 00 08 */ stw r30, 8(r1)
+/* 8029B4D4 00297134 7C 7E 1B 78 */ mr r30, r3
+/* 8029B4D8 00297138 41 82 00 44 */ beq lbl_8029B51C
+/* 8029B4DC 0029713C 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 8029B4E0 00297140 4B FF F9 4D */ bl DSPSendMailToDSP
+lbl_8029B4E4:
+/* 8029B4E4 00297144 4B FF F9 15 */ bl DSPCheckMailToDSP
+/* 8029B4E8 00297148 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B4EC 0029714C 40 82 FF F8 */ bne lbl_8029B4E4
+/* 8029B4F0 00297150 80 7E 00 1C */ lwz r3, 0x1c(r30)
+/* 8029B4F4 00297154 4B FF F9 39 */ bl DSPSendMailToDSP
+lbl_8029B4F8:
+/* 8029B4F8 00297158 4B FF F9 01 */ bl DSPCheckMailToDSP
+/* 8029B4FC 0029715C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B500 00297160 40 82 FF F8 */ bne lbl_8029B4F8
+/* 8029B504 00297164 80 7E 00 20 */ lwz r3, 0x20(r30)
+/* 8029B508 00297168 4B FF F9 25 */ bl DSPSendMailToDSP
+lbl_8029B50C:
+/* 8029B50C 0029716C 4B FF F8 ED */ bl DSPCheckMailToDSP
+/* 8029B510 00297170 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B514 00297174 40 82 FF F8 */ bne lbl_8029B50C
+/* 8029B518 00297178 48 00 00 40 */ b lbl_8029B558
+lbl_8029B51C:
+/* 8029B51C 0029717C 38 60 00 00 */ li r3, 0
+/* 8029B520 00297180 4B FF F9 0D */ bl DSPSendMailToDSP
+lbl_8029B524:
+/* 8029B524 00297184 4B FF F8 D5 */ bl DSPCheckMailToDSP
+/* 8029B528 00297188 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B52C 0029718C 40 82 FF F8 */ bne lbl_8029B524
+/* 8029B530 00297190 38 60 00 00 */ li r3, 0
+/* 8029B534 00297194 4B FF F8 F9 */ bl DSPSendMailToDSP
+lbl_8029B538:
+/* 8029B538 00297198 4B FF F8 C1 */ bl DSPCheckMailToDSP
+/* 8029B53C 0029719C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B540 002971A0 40 82 FF F8 */ bne lbl_8029B538
+/* 8029B544 002971A4 38 60 00 00 */ li r3, 0
+/* 8029B548 002971A8 4B FF F8 E5 */ bl DSPSendMailToDSP
+lbl_8029B54C:
+/* 8029B54C 002971AC 4B FF F8 AD */ bl DSPCheckMailToDSP
+/* 8029B550 002971B0 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B554 002971B4 40 82 FF F8 */ bne lbl_8029B54C
+lbl_8029B558:
+/* 8029B558 002971B8 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 8029B55C 002971BC 4B FF F8 D1 */ bl DSPSendMailToDSP
+lbl_8029B560:
+/* 8029B560 002971C0 4B FF F8 99 */ bl DSPCheckMailToDSP
+/* 8029B564 002971C4 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B568 002971C8 40 82 FF F8 */ bne lbl_8029B560
+/* 8029B56C 002971CC 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 8029B570 002971D0 4B FF F8 BD */ bl DSPSendMailToDSP
+lbl_8029B574:
+/* 8029B574 002971D4 4B FF F8 85 */ bl DSPCheckMailToDSP
+/* 8029B578 002971D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B57C 002971DC 40 82 FF F8 */ bne lbl_8029B574
+/* 8029B580 002971E0 80 7F 00 14 */ lwz r3, 0x14(r31)
+/* 8029B584 002971E4 4B FF F8 A9 */ bl DSPSendMailToDSP
+lbl_8029B588:
+/* 8029B588 002971E8 4B FF F8 71 */ bl DSPCheckMailToDSP
+/* 8029B58C 002971EC 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B590 002971F0 40 82 FF F8 */ bne lbl_8029B588
+/* 8029B594 002971F4 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029B598 002971F8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B59C 002971FC 40 82 00 58 */ bne lbl_8029B5F4
+/* 8029B5A0 00297200 A0 7F 00 24 */ lhz r3, 0x24(r31)
+/* 8029B5A4 00297204 4B FF F8 89 */ bl DSPSendMailToDSP
+lbl_8029B5A8:
+/* 8029B5A8 00297208 4B FF F8 51 */ bl DSPCheckMailToDSP
+/* 8029B5AC 0029720C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B5B0 00297210 40 82 FF F8 */ bne lbl_8029B5A8
+/* 8029B5B4 00297214 38 60 00 00 */ li r3, 0
+/* 8029B5B8 00297218 4B FF F8 75 */ bl DSPSendMailToDSP
+lbl_8029B5BC:
+/* 8029B5BC 0029721C 4B FF F8 3D */ bl DSPCheckMailToDSP
+/* 8029B5C0 00297220 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B5C4 00297224 40 82 FF F8 */ bne lbl_8029B5BC
+/* 8029B5C8 00297228 38 60 00 00 */ li r3, 0
+/* 8029B5CC 0029722C 4B FF F8 61 */ bl DSPSendMailToDSP
+lbl_8029B5D0:
+/* 8029B5D0 00297230 4B FF F8 29 */ bl DSPCheckMailToDSP
+/* 8029B5D4 00297234 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B5D8 00297238 40 82 FF F8 */ bne lbl_8029B5D0
+/* 8029B5DC 0029723C 38 60 00 00 */ li r3, 0
+/* 8029B5E0 00297240 4B FF F8 4D */ bl DSPSendMailToDSP
+lbl_8029B5E4:
+/* 8029B5E4 00297244 4B FF F8 15 */ bl DSPCheckMailToDSP
+/* 8029B5E8 00297248 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B5EC 0029724C 40 82 FF F8 */ bne lbl_8029B5E4
+/* 8029B5F0 00297250 48 00 00 54 */ b lbl_8029B644
+lbl_8029B5F4:
+/* 8029B5F4 00297254 A0 7F 00 26 */ lhz r3, 0x26(r31)
+/* 8029B5F8 00297258 4B FF F8 35 */ bl DSPSendMailToDSP
+lbl_8029B5FC:
+/* 8029B5FC 0029725C 4B FF F7 FD */ bl DSPCheckMailToDSP
+/* 8029B600 00297260 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B604 00297264 40 82 FF F8 */ bne lbl_8029B5FC
+/* 8029B608 00297268 80 7F 00 18 */ lwz r3, 0x18(r31)
+/* 8029B60C 0029726C 4B FF F8 21 */ bl DSPSendMailToDSP
+lbl_8029B610:
+/* 8029B610 00297270 4B FF F7 E9 */ bl DSPCheckMailToDSP
+/* 8029B614 00297274 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B618 00297278 40 82 FF F8 */ bne lbl_8029B610
+/* 8029B61C 0029727C 80 7F 00 1C */ lwz r3, 0x1c(r31)
+/* 8029B620 00297280 4B FF F8 0D */ bl DSPSendMailToDSP
+lbl_8029B624:
+/* 8029B624 00297284 4B FF F7 D5 */ bl DSPCheckMailToDSP
+/* 8029B628 00297288 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B62C 0029728C 40 82 FF F8 */ bne lbl_8029B624
+/* 8029B630 00297290 80 7F 00 20 */ lwz r3, 0x20(r31)
+/* 8029B634 00297294 4B FF F7 F9 */ bl DSPSendMailToDSP
+lbl_8029B638:
+/* 8029B638 00297298 4B FF F7 C1 */ bl DSPCheckMailToDSP
+/* 8029B63C 0029729C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B640 002972A0 40 82 FF F8 */ bne lbl_8029B638
+lbl_8029B644:
+/* 8029B644 002972A4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029B648 002972A8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029B64C 002972AC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8029B650 002972B0 7C 08 03 A6 */ mtlr r0
+/* 8029B654 002972B4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029B658 002972B8 4E 80 00 20 */ blr
+
+.global __DSP_boot_task
+__DSP_boot_task:
+/* 8029B65C 002972BC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029B660 002972C0 7C 08 02 A6 */ mflr r0
+/* 8029B664 002972C4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8029B668 002972C8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8029B66C 002972CC 3F E0 80 44 */ lis r31, lbl_8043BD80@ha
+/* 8029B670 002972D0 3B FF BD 80 */ addi r31, r31, lbl_8043BD80@l
+/* 8029B674 002972D4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8029B678 002972D8 7C 7E 1B 78 */ mr r30, r3
+lbl_8029B67C:
+/* 8029B67C 002972DC 4B FF F7 8D */ bl DSPCheckMailFromDSP
+/* 8029B680 002972E0 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B684 002972E4 41 82 FF F8 */ beq lbl_8029B67C
+/* 8029B688 002972E8 4B FF F7 91 */ bl DSPReadMailFromDSP
+/* 8029B68C 002972EC 90 61 00 08 */ stw r3, 8(r1)
+/* 8029B690 002972F0 3C 60 80 F4 */ lis r3, 0x80F3A001@ha
+/* 8029B694 002972F4 38 63 A0 01 */ addi r3, r3, 0x80F3A001@l
+/* 8029B698 002972F8 4B FF F7 95 */ bl DSPSendMailToDSP
+lbl_8029B69C:
+/* 8029B69C 002972FC 4B FF F7 5D */ bl DSPCheckMailToDSP
+/* 8029B6A0 00297300 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B6A4 00297304 40 82 FF F8 */ bne lbl_8029B69C
+/* 8029B6A8 00297308 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 8029B6AC 0029730C 4B FF F7 81 */ bl DSPSendMailToDSP
+lbl_8029B6B0:
+/* 8029B6B0 00297310 4B FF F7 49 */ bl DSPCheckMailToDSP
+/* 8029B6B4 00297314 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B6B8 00297318 40 82 FF F8 */ bne lbl_8029B6B0
+/* 8029B6BC 0029731C 3C 60 80 F4 */ lis r3, 0x80F3C002@ha
+/* 8029B6C0 00297320 38 63 C0 02 */ addi r3, r3, 0x80F3C002@l
+/* 8029B6C4 00297324 4B FF F7 69 */ bl DSPSendMailToDSP
+lbl_8029B6C8:
+/* 8029B6C8 00297328 4B FF F7 31 */ bl DSPCheckMailToDSP
+/* 8029B6CC 0029732C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B6D0 00297330 40 82 FF F8 */ bne lbl_8029B6C8
+/* 8029B6D4 00297334 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8029B6D8 00297338 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 8029B6DC 0029733C 4B FF F7 51 */ bl DSPSendMailToDSP
+lbl_8029B6E0:
+/* 8029B6E0 00297340 4B FF F7 19 */ bl DSPCheckMailToDSP
+/* 8029B6E4 00297344 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B6E8 00297348 40 82 FF F8 */ bne lbl_8029B6E0
+/* 8029B6EC 0029734C 3C 60 80 F4 */ lis r3, 0x80F3A002@ha
+/* 8029B6F0 00297350 38 63 A0 02 */ addi r3, r3, 0x80F3A002@l
+/* 8029B6F4 00297354 4B FF F7 39 */ bl DSPSendMailToDSP
+lbl_8029B6F8:
+/* 8029B6F8 00297358 4B FF F7 01 */ bl DSPCheckMailToDSP
+/* 8029B6FC 0029735C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B700 00297360 40 82 FF F8 */ bne lbl_8029B6F8
+/* 8029B704 00297364 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 8029B708 00297368 4B FF F7 25 */ bl DSPSendMailToDSP
+lbl_8029B70C:
+/* 8029B70C 0029736C 4B FF F6 ED */ bl DSPCheckMailToDSP
+/* 8029B710 00297370 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B714 00297374 40 82 FF F8 */ bne lbl_8029B70C
+/* 8029B718 00297378 3C 60 80 F4 */ lis r3, 0x80F3B002@ha
+/* 8029B71C 0029737C 38 63 B0 02 */ addi r3, r3, 0x80F3B002@l
+/* 8029B720 00297380 4B FF F7 0D */ bl DSPSendMailToDSP
+lbl_8029B724:
+/* 8029B724 00297384 4B FF F6 D5 */ bl DSPCheckMailToDSP
+/* 8029B728 00297388 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B72C 0029738C 40 82 FF F8 */ bne lbl_8029B724
+/* 8029B730 00297390 38 60 00 00 */ li r3, 0
+/* 8029B734 00297394 4B FF F6 F9 */ bl DSPSendMailToDSP
+lbl_8029B738:
+/* 8029B738 00297398 4B FF F6 C1 */ bl DSPCheckMailToDSP
+/* 8029B73C 0029739C 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B740 002973A0 40 82 FF F8 */ bne lbl_8029B738
+/* 8029B744 002973A4 3C 60 80 F4 */ lis r3, 0x80F3D001@ha
+/* 8029B748 002973A8 38 63 D0 01 */ addi r3, r3, 0x80F3D001@l
+/* 8029B74C 002973AC 4B FF F6 E1 */ bl DSPSendMailToDSP
+lbl_8029B750:
+/* 8029B750 002973B0 4B FF F6 A9 */ bl DSPCheckMailToDSP
+/* 8029B754 002973B4 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B758 002973B8 40 82 FF F8 */ bne lbl_8029B750
+/* 8029B75C 002973BC A0 7E 00 24 */ lhz r3, 0x24(r30)
+/* 8029B760 002973C0 4B FF F6 CD */ bl DSPSendMailToDSP
+lbl_8029B764:
+/* 8029B764 002973C4 4B FF F6 95 */ bl DSPCheckMailToDSP
+/* 8029B768 002973C8 2C 03 00 00 */ cmpwi r3, 0
+/* 8029B76C 002973CC 40 82 FF F8 */ bne lbl_8029B764
+/* 8029B770 002973D0 7F C4 F3 78 */ mr r4, r30
+/* 8029B774 002973D4 38 7F 00 00 */ addi r3, r31, 0
+/* 8029B778 002973D8 4C C6 31 82 */ crclr 6
+/* 8029B77C 002973DC 4B FF F8 B9 */ bl __DSP_debug_printf
+/* 8029B780 002973E0 80 9E 00 0C */ lwz r4, 0xc(r30)
+/* 8029B784 002973E4 38 7F 00 20 */ addi r3, r31, 0x20
+/* 8029B788 002973E8 4C C6 31 82 */ crclr 6
+/* 8029B78C 002973EC 4B FF F8 A9 */ bl __DSP_debug_printf
+/* 8029B790 002973F0 80 9E 00 14 */ lwz r4, 0x14(r30)
+/* 8029B794 002973F4 38 7F 00 50 */ addi r3, r31, 0x50
+/* 8029B798 002973F8 4C C6 31 82 */ crclr 6
+/* 8029B79C 002973FC 4B FF F8 99 */ bl __DSP_debug_printf
+/* 8029B7A0 00297400 80 9E 00 10 */ lwz r4, 0x10(r30)
+/* 8029B7A4 00297404 38 7F 00 80 */ addi r3, r31, 0x80
+/* 8029B7A8 00297408 4C C6 31 82 */ crclr 6
+/* 8029B7AC 0029740C 4B FF F8 89 */ bl __DSP_debug_printf
+/* 8029B7B0 00297410 80 9E 00 1C */ lwz r4, 0x1c(r30)
+/* 8029B7B4 00297414 38 7F 00 B0 */ addi r3, r31, 0xb0
+/* 8029B7B8 00297418 4C C6 31 82 */ crclr 6
+/* 8029B7BC 0029741C 4B FF F8 79 */ bl __DSP_debug_printf
+/* 8029B7C0 00297420 A0 9E 00 24 */ lhz r4, 0x24(r30)
+/* 8029B7C4 00297424 38 7F 00 E0 */ addi r3, r31, 0xe0
+/* 8029B7C8 00297428 4C C6 31 82 */ crclr 6
+/* 8029B7CC 0029742C 4B FF F8 69 */ bl __DSP_debug_printf
+/* 8029B7D0 00297430 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8029B7D4 00297434 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8029B7D8 00297438 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8029B7DC 0029743C 7C 08 03 A6 */ mtlr r0
+/* 8029B7E0 00297440 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029B7E4 00297444 4E 80 00 20 */ blr
+
+.global __DSP_insert_task
+__DSP_insert_task:
+/* 8029B7E8 00297448 80 AD AC 80 */ lwz r5, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B7EC 0029744C 2C 05 00 00 */ cmpwi r5, 0
+/* 8029B7F0 00297450 40 82 00 64 */ bne lbl_8029B854
+/* 8029B7F4 00297454 90 6D AC 84 */ stw r3, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B7F8 00297458 38 00 00 00 */ li r0, 0
+/* 8029B7FC 0029745C 90 6D AC 7C */ stw r3, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B800 00297460 90 6D AC 80 */ stw r3, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B804 00297464 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 8029B808 00297468 90 03 00 38 */ stw r0, 0x38(r3)
+/* 8029B80C 0029746C 4E 80 00 20 */ blr
+/* 8029B810 00297470 48 00 00 44 */ b lbl_8029B854
+lbl_8029B814:
+/* 8029B814 00297474 80 83 00 04 */ lwz r4, 4(r3)
+/* 8029B818 00297478 80 05 00 04 */ lwz r0, 4(r5)
+/* 8029B81C 0029747C 7C 04 00 40 */ cmplw r4, r0
+/* 8029B820 00297480 40 80 00 30 */ bge lbl_8029B850
+/* 8029B824 00297484 80 05 00 3C */ lwz r0, 0x3c(r5)
+/* 8029B828 00297488 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 8029B82C 0029748C 90 65 00 3C */ stw r3, 0x3c(r5)
+/* 8029B830 00297490 80 83 00 3C */ lwz r4, 0x3c(r3)
+/* 8029B834 00297494 90 A3 00 38 */ stw r5, 0x38(r3)
+/* 8029B838 00297498 2C 04 00 00 */ cmpwi r4, 0
+/* 8029B83C 0029749C 40 82 00 0C */ bne lbl_8029B848
+/* 8029B840 002974A0 90 6D AC 80 */ stw r3, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B844 002974A4 48 00 00 18 */ b lbl_8029B85C
+lbl_8029B848:
+/* 8029B848 002974A8 90 64 00 38 */ stw r3, 0x38(r4)
+/* 8029B84C 002974AC 48 00 00 10 */ b lbl_8029B85C
+lbl_8029B850:
+/* 8029B850 002974B0 80 A5 00 38 */ lwz r5, 0x38(r5)
+lbl_8029B854:
+/* 8029B854 002974B4 2C 05 00 00 */ cmpwi r5, 0
+/* 8029B858 002974B8 40 82 FF BC */ bne lbl_8029B814
+lbl_8029B85C:
+/* 8029B85C 002974BC 2C 05 00 00 */ cmpwi r5, 0
+/* 8029B860 002974C0 4C 82 00 20 */ bnelr
+/* 8029B864 002974C4 80 8D AC 7C */ lwz r4, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B868 002974C8 38 00 00 00 */ li r0, 0
+/* 8029B86C 002974CC 90 64 00 38 */ stw r3, 0x38(r4)
+/* 8029B870 002974D0 90 03 00 38 */ stw r0, 0x38(r3)
+/* 8029B874 002974D4 80 0D AC 7C */ lwz r0, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B878 002974D8 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 8029B87C 002974DC 90 6D AC 7C */ stw r3, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B880 002974E0 4E 80 00 20 */ blr
+
+.global __DSP_remove_task
+__DSP_remove_task:
+/* 8029B884 002974E4 38 80 00 00 */ li r4, 0
+/* 8029B888 002974E8 38 00 00 03 */ li r0, 3
+/* 8029B88C 002974EC 90 83 00 08 */ stw r4, 8(r3)
+/* 8029B890 002974F0 90 03 00 00 */ stw r0, 0(r3)
+/* 8029B894 002974F4 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B898 002974F8 7C 00 18 40 */ cmplw r0, r3
+/* 8029B89C 002974FC 40 82 00 30 */ bne lbl_8029B8CC
+/* 8029B8A0 00297500 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 8029B8A4 00297504 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B8A8 00297508 41 82 00 14 */ beq lbl_8029B8BC
+/* 8029B8AC 0029750C 90 0D AC 80 */ stw r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B8B0 00297510 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 8029B8B4 00297514 90 83 00 3C */ stw r4, 0x3c(r3)
+/* 8029B8B8 00297518 4E 80 00 20 */ blr
+lbl_8029B8BC:
+/* 8029B8BC 0029751C 90 8D AC 84 */ stw r4, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B8C0 00297520 90 8D AC 7C */ stw r4, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B8C4 00297524 90 8D AC 80 */ stw r4, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B8C8 00297528 4E 80 00 20 */ blr
+lbl_8029B8CC:
+/* 8029B8CC 0029752C 80 0D AC 7C */ lwz r0, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B8D0 00297530 7C 00 18 40 */ cmplw r0, r3
+/* 8029B8D4 00297534 40 82 00 20 */ bne lbl_8029B8F4
+/* 8029B8D8 00297538 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 8029B8DC 0029753C 90 0D AC 7C */ stw r0, lbl_8063FF3C-_SDA_BASE_(r13)
+/* 8029B8E0 00297540 80 63 00 3C */ lwz r3, 0x3c(r3)
+/* 8029B8E4 00297544 90 83 00 38 */ stw r4, 0x38(r3)
+/* 8029B8E8 00297548 80 0D AC 80 */ lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
+/* 8029B8EC 0029754C 90 0D AC 84 */ stw r0, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B8F0 00297550 4E 80 00 20 */ blr
+lbl_8029B8F4:
+/* 8029B8F4 00297554 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 8029B8F8 00297558 90 0D AC 84 */ stw r0, lbl_8063FF44-_SDA_BASE_(r13)
+/* 8029B8FC 0029755C 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 8029B900 00297560 80 83 00 3C */ lwz r4, 0x3c(r3)
+/* 8029B904 00297564 90 04 00 38 */ stw r0, 0x38(r4)
+/* 8029B908 00297568 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 8029B90C 0029756C 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 8029B910 00297570 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 8029B914 00297574 4E 80 00 20 */ blr
diff --git a/asm/SDK/HBM/HBMBase.s b/asm/SDK/HBM/HBMBase.s
index 9ef9afa..cca0fcd 100644
--- a/asm/SDK/HBM/HBMBase.s
+++ b/asm/SDK/HBM/HBMBase.s
@@ -6,13 +6,13 @@
HBMAllocMem__FUl:
/* 8039A068 00395CC8 7C 64 1B 78 */ mr r4, r3
/* 8039A06C 00395CCC 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
-/* 8039A070 00395CD0 4B EF D6 B4 */ b func_80297724
+/* 8039A070 00395CD0 4B EF D6 B4 */ b MEMAllocFromAllocator
.global HBMFreeMem__FPv
HBMFreeMem__FPv:
/* 8039A074 00395CD4 7C 64 1B 78 */ mr r4, r3
/* 8039A078 00395CD8 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
-/* 8039A07C 00395CDC 4B EF D6 B8 */ b func_80297734
+/* 8039A07C 00395CDC 4B EF D6 B8 */ b MEMFreeToAllocator
.global HBMCreate
HBMCreate:
@@ -39,12 +39,12 @@ lbl_8039A0C0:
/* 8039A0C8 00395D28 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8039A0CC 00395D2C 38 A0 00 00 */ li r5, 0
/* 8039A0D0 00395D30 80 9E 00 2C */ lwz r4, 0x2c(r30)
-/* 8039A0D4 00395D34 4B EF CD 75 */ bl func_80296E48
+/* 8039A0D4 00395D34 4B EF CD 75 */ bl MEMCreateExpHeapEx
/* 8039A0D8 00395D38 3F E0 80 64 */ lis r31, lbl_8063CEB8@ha
/* 8039A0DC 00395D3C 7C 64 1B 78 */ mr r4, r3
/* 8039A0E0 00395D40 38 7F CE B8 */ addi r3, r31, lbl_8063CEB8@l
/* 8039A0E4 00395D44 38 A0 00 20 */ li r5, 0x20
-/* 8039A0E8 00395D48 4B EF D6 5D */ bl func_80297744
+/* 8039A0E8 00395D48 4B EF D6 5D */ bl MEMInitAllocatorForExpHeap
/* 8039A0EC 00395D4C 38 1F CE B8 */ addi r0, r31, -12616
/* 8039A0F0 00395D50 90 0D 95 4C */ stw r0, lbl_8063E80C-_SDA_BASE_(r13)
lbl_8039A0F4:
@@ -85,7 +85,7 @@ lbl_8039A15C:
lbl_8039A164:
/* 8039A164 00395DC4 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A168 00395DC8 38 80 07 68 */ li r4, 0x768
-/* 8039A16C 00395DCC 4B EF D5 B9 */ bl func_80297724
+/* 8039A16C 00395DCC 4B EF D5 B9 */ bl MEMAllocFromAllocator
/* 8039A170 00395DD0 2C 03 00 00 */ cmpwi r3, 0
/* 8039A174 00395DD4 41 82 00 14 */ beq lbl_8039A188
/* 8039A178 00395DD8 41 82 00 0C */ beq lbl_8039A184
@@ -115,7 +115,7 @@ HBMDelete:
/* 8039A1C4 00395E24 48 00 04 E9 */ bl __dt__Q210homebutton10HomeButtonFv
/* 8039A1C8 00395E28 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A1CC 00395E2C 80 8D B2 E0 */ lwz r4, lbl_806405A0-_SDA_BASE_(r13)
-/* 8039A1D0 00395E30 4B EF D5 65 */ bl func_80297734
+/* 8039A1D0 00395E30 4B EF D5 65 */ bl MEMFreeToAllocator
/* 8039A1D4 00395E34 38 00 00 00 */ li r0, 0
/* 8039A1D8 00395E38 90 0D B2 E0 */ stw r0, lbl_806405A0-_SDA_BASE_(r13)
/* 8039A1DC 00395E3C 80 1F 00 3C */ lwz r0, 0x3c(r31)
@@ -134,7 +134,7 @@ lbl_8039A204:
/* 8039A208 00395E68 40 82 00 10 */ bne lbl_8039A218
/* 8039A20C 00395E6C 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A210 00395E70 80 63 00 04 */ lwz r3, 4(r3)
-/* 8039A214 00395E74 4B EF CC E5 */ bl func_80296EF8
+/* 8039A214 00395E74 4B EF CC E5 */ bl MEMDestroyExpHeap
lbl_8039A218:
/* 8039A218 00395E78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8039A21C 00395E7C 83 E1 00 0C */ lwz r31, 0xc(r1)
@@ -300,12 +300,12 @@ HBMCreateMemorySound:
/* 8039A428 00396088 7C 83 23 78 */ mr r3, r4
/* 8039A42C 0039608C 7C A4 2B 78 */ mr r4, r5
/* 8039A430 00396090 38 A0 00 00 */ li r5, 0
-/* 8039A434 00396094 4B EF CF D9 */ bl func_8029740C
+/* 8039A434 00396094 4B EF CF D9 */ bl MEMCreateFrmHeapEx
/* 8039A438 00396098 3F C0 80 64 */ lis r30, lbl_8063CEC8@ha
/* 8039A43C 0039609C 7C 64 1B 78 */ mr r4, r3
/* 8039A440 003960A0 38 7E CE C8 */ addi r3, r30, lbl_8063CEC8@l
/* 8039A444 003960A4 38 A0 00 20 */ li r5, 0x20
-/* 8039A448 003960A8 4B EF D3 19 */ bl func_80297760
+/* 8039A448 003960A8 4B EF D3 19 */ bl MEMInitAllocatorForFrmHeap
/* 8039A44C 003960AC 3F E0 80 64 */ lis r31, lbl_8063CED8@ha
/* 8039A450 003960B0 83 AD B2 E0 */ lwz r29, lbl_806405A0-_SDA_BASE_(r13)
/* 8039A454 003960B4 3B FF CE D8 */ addi r31, r31, lbl_8063CED8@l
@@ -313,7 +313,7 @@ HBMCreateMemorySound:
/* 8039A45C 003960BC 4B ED 54 ED */ bl OSLockMutex
/* 8039A460 003960C0 38 7E CE C8 */ addi r3, r30, -12600
/* 8039A464 003960C4 38 80 01 8C */ li r4, 0x18c
-/* 8039A468 003960C8 4B EF D2 BD */ bl func_80297724
+/* 8039A468 003960C8 4B EF D2 BD */ bl MEMAllocFromAllocator
/* 8039A46C 003960CC 2C 03 00 00 */ cmpwi r3, 0
/* 8039A470 003960D0 41 82 00 10 */ beq lbl_8039A480
/* 8039A474 003960D4 41 82 00 08 */ beq lbl_8039A47C
@@ -329,7 +329,7 @@ lbl_8039A480:
/* 8039A494 003960F4 38 63 CE C8 */ addi r3, r3, lbl_8063CEC8@l
/* 8039A498 003960F8 83 C4 01 24 */ lwz r30, 0x124(r4)
/* 8039A49C 003960FC 7F C4 F3 78 */ mr r4, r30
-/* 8039A4A0 00396100 4B EF D2 85 */ bl func_80297724
+/* 8039A4A0 00396100 4B EF D2 85 */ bl MEMAllocFromAllocator
/* 8039A4A4 00396104 7C 64 1B 78 */ mr r4, r3
/* 8039A4A8 00396108 80 7D 05 D4 */ lwz r3, 0x5d4(r29)
/* 8039A4AC 0039610C 7F C5 F3 78 */ mr r5, r30
@@ -359,7 +359,7 @@ HBMDeleteSound:
/* 8039A500 00396160 3C 60 80 64 */ lis r3, lbl_8063CEC8@ha
/* 8039A504 00396164 38 63 CE C8 */ addi r3, r3, lbl_8063CEC8@l
/* 8039A508 00396168 80 63 00 04 */ lwz r3, 4(r3)
-/* 8039A50C 0039616C 4B EF CF 85 */ bl func_80297490
+/* 8039A50C 0039616C 4B EF CF 85 */ bl MEMDestroyFrmHeap
/* 8039A510 00396170 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8039A514 00396174 7C 08 03 A6 */ mtlr r0
/* 8039A518 00396178 38 21 00 10 */ addi r1, r1, 0x10
@@ -492,7 +492,7 @@ __dt__Q210homebutton10HomeButtonFv:
/* 8039A6E4 00396344 4E 80 04 21 */ bctrl
/* 8039A6E8 00396348 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A6EC 0039634C 80 9E 01 FC */ lwz r4, 0x1fc(r30)
-/* 8039A6F0 00396350 4B EF D0 45 */ bl func_80297734
+/* 8039A6F0 00396350 4B EF D0 45 */ bl MEMFreeToAllocator
/* 8039A6F4 00396354 80 7E 01 E8 */ lwz r3, 0x1e8(r30)
/* 8039A6F8 00396358 38 80 FF FF */ li r4, -1
/* 8039A6FC 0039635C 81 83 00 00 */ lwz r12, 0(r3)
@@ -501,7 +501,7 @@ __dt__Q210homebutton10HomeButtonFv:
/* 8039A708 00396368 4E 80 04 21 */ bctrl
/* 8039A70C 0039636C 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A710 00396370 80 9E 01 E8 */ lwz r4, 0x1e8(r30)
-/* 8039A714 00396374 4B EF D0 21 */ bl func_80297734
+/* 8039A714 00396374 4B EF D0 21 */ bl MEMFreeToAllocator
/* 8039A718 00396378 80 7E 00 04 */ lwz r3, 4(r30)
/* 8039A71C 0039637C 80 03 00 20 */ lwz r0, 0x20(r3)
/* 8039A720 00396380 2C 00 00 00 */ cmpwi r0, 0
@@ -517,7 +517,7 @@ lbl_8039A730:
/* 8039A744 003963A4 4E 80 04 21 */ bctrl
/* 8039A748 003963A8 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A74C 003963AC 80 9C 01 EC */ lwz r4, 0x1ec(r28)
-/* 8039A750 003963B0 4B EF CF E5 */ bl func_80297734
+/* 8039A750 003963B0 4B EF CF E5 */ bl MEMFreeToAllocator
/* 8039A754 003963B4 3B BD 00 01 */ addi r29, r29, 1
/* 8039A758 003963B8 3B 9C 00 04 */ addi r28, r28, 4
/* 8039A75C 003963BC 2C 1D 00 04 */ cmpwi r29, 4
@@ -535,7 +535,7 @@ lbl_8039A770:
/* 8039A784 003963E4 4E 80 04 21 */ bctrl
/* 8039A788 003963E8 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A78C 003963EC 80 9C 02 70 */ lwz r4, 0x270(r28)
-/* 8039A790 003963F0 4B EF CF A5 */ bl func_80297734
+/* 8039A790 003963F0 4B EF CF A5 */ bl MEMFreeToAllocator
/* 8039A794 003963F4 3B 9C 00 04 */ addi r28, r28, 4
/* 8039A798 003963F8 3B BD 00 01 */ addi r29, r29, 1
lbl_8039A79C:
@@ -553,7 +553,7 @@ lbl_8039A7B0:
/* 8039A7C4 00396424 4E 80 04 21 */ bctrl
/* 8039A7C8 00396428 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A7CC 0039642C 80 9C 03 C8 */ lwz r4, 0x3c8(r28)
-/* 8039A7D0 00396430 4B EF CF 65 */ bl func_80297734
+/* 8039A7D0 00396430 4B EF CF 65 */ bl MEMFreeToAllocator
/* 8039A7D4 00396434 3B BD 00 01 */ addi r29, r29, 1
/* 8039A7D8 00396438 3B 9C 00 04 */ addi r28, r28, 4
/* 8039A7DC 0039643C 2C 1D 00 0F */ cmpwi r29, 0xf
@@ -569,14 +569,14 @@ lbl_8039A7EC:
/* 8039A800 00396460 4E 80 04 21 */ bctrl
/* 8039A804 00396464 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A808 00396468 80 9C 02 A0 */ lwz r4, 0x2a0(r28)
-/* 8039A80C 0039646C 4B EF CF 29 */ bl func_80297734
+/* 8039A80C 0039646C 4B EF CF 29 */ bl MEMFreeToAllocator
/* 8039A810 00396470 3B BD 00 01 */ addi r29, r29, 1
/* 8039A814 00396474 3B 9C 00 04 */ addi r28, r28, 4
/* 8039A818 00396478 2C 1D 00 4A */ cmpwi r29, 0x4a
/* 8039A81C 0039647C 41 80 FF D0 */ blt lbl_8039A7EC
/* 8039A820 00396480 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A824 00396484 80 9E 02 04 */ lwz r4, 0x204(r30)
-/* 8039A828 00396488 4B EF CF 0D */ bl func_80297734
+/* 8039A828 00396488 4B EF CF 0D */ bl MEMFreeToAllocator
/* 8039A82C 0039648C 80 7E 02 00 */ lwz r3, 0x200(r30)
/* 8039A830 00396490 38 80 FF FF */ li r4, -1
/* 8039A834 00396494 81 83 00 00 */ lwz r12, 0(r3)
@@ -585,7 +585,7 @@ lbl_8039A7EC:
/* 8039A840 003964A0 4E 80 04 21 */ bctrl
/* 8039A844 003964A4 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A848 003964A8 80 9E 02 00 */ lwz r4, 0x200(r30)
-/* 8039A84C 003964AC 4B EF CE E9 */ bl func_80297734
+/* 8039A84C 003964AC 4B EF CE E9 */ bl MEMFreeToAllocator
/* 8039A850 003964B0 7F DC F3 78 */ mr r28, r30
/* 8039A854 003964B4 3B A0 00 00 */ li r29, 0
lbl_8039A858:
@@ -594,7 +594,7 @@ lbl_8039A858:
/* 8039A860 003964C0 48 00 A8 89 */ bl __dt__Q210homebutton10ControllerFv
/* 8039A864 003964C4 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A868 003964C8 80 9C 02 5C */ lwz r4, 0x25c(r28)
-/* 8039A86C 003964CC 4B EF CE C9 */ bl func_80297734
+/* 8039A86C 003964CC 4B EF CE C9 */ bl MEMFreeToAllocator
/* 8039A870 003964D0 3B BD 00 01 */ addi r29, r29, 1
/* 8039A874 003964D4 3B 9C 00 04 */ addi r28, r28, 4
/* 8039A878 003964D8 2C 1D 00 04 */ cmpwi r29, 4
@@ -607,15 +607,15 @@ lbl_8039A858:
/* 8039A894 003964F4 4E 80 04 21 */ bctrl
/* 8039A898 003964F8 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A89C 003964FC 80 9E 02 6C */ lwz r4, 0x26c(r30)
-/* 8039A8A0 00396500 4B EF CE 95 */ bl func_80297734
+/* 8039A8A0 00396500 4B EF CE 95 */ bl MEMFreeToAllocator
/* 8039A8A4 00396504 38 00 00 00 */ li r0, 0
/* 8039A8A8 00396508 80 9E 00 A8 */ lwz r4, 0xa8(r30)
/* 8039A8AC 0039650C 90 1E 02 6C */ stw r0, 0x26c(r30)
/* 8039A8B0 00396510 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
-/* 8039A8B4 00396514 4B EF CE 81 */ bl func_80297734
+/* 8039A8B4 00396514 4B EF CE 81 */ bl MEMFreeToAllocator
/* 8039A8B8 00396518 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A8BC 0039651C 80 9E 00 AC */ lwz r4, 0xac(r30)
-/* 8039A8C0 00396520 4B EF CE 75 */ bl func_80297734
+/* 8039A8C0 00396520 4B EF CE 75 */ bl MEMFreeToAllocator
/* 8039A8C4 00396524 3B BE 04 18 */ addi r29, r30, 0x418
/* 8039A8C8 00396528 3B 9E 04 D8 */ addi r28, r30, 0x4d8
/* 8039A8CC 0039652C 3B 60 00 00 */ li r27, 0
@@ -668,7 +668,7 @@ create__Q210homebutton10HomeButtonFv:
/* 8039A974 003965D4 48 00 0A 7D */ bl set_text__Q210homebutton10HomeButtonFv
/* 8039A978 003965D8 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A97C 003965DC 38 80 00 B0 */ li r4, 0xb0
-/* 8039A980 003965E0 4B EF CD A5 */ bl func_80297724
+/* 8039A980 003965E0 4B EF CD A5 */ bl MEMAllocFromAllocator
/* 8039A984 003965E4 2C 03 00 00 */ cmpwi r3, 0
/* 8039A988 003965E8 41 82 00 10 */ beq lbl_8039A998
/* 8039A98C 003965EC 41 82 00 08 */ beq lbl_8039A994
@@ -691,7 +691,7 @@ lbl_8039A998:
lbl_8039A9C8:
/* 8039A9C8 00396628 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039A9CC 0039662C 38 80 00 24 */ li r4, 0x24
-/* 8039A9D0 00396630 4B EF CD 55 */ bl func_80297724
+/* 8039A9D0 00396630 4B EF CD 55 */ bl MEMAllocFromAllocator
/* 8039A9D4 00396634 2C 03 00 00 */ cmpwi r3, 0
/* 8039A9D8 00396638 41 82 00 10 */ beq lbl_8039A9E8
/* 8039A9DC 0039663C 41 82 00 08 */ beq lbl_8039A9E4
@@ -722,7 +722,7 @@ lbl_8039A9E8:
lbl_8039AA38:
/* 8039AA38 00396698 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039AA3C 0039669C 38 80 00 24 */ li r4, 0x24
-/* 8039AA40 003966A0 4B EF CC E5 */ bl func_80297724
+/* 8039AA40 003966A0 4B EF CC E5 */ bl MEMAllocFromAllocator
/* 8039AA44 003966A4 2C 03 00 00 */ cmpwi r3, 0
/* 8039AA48 003966A8 41 82 00 10 */ beq lbl_8039AA58
/* 8039AA4C 003966AC 41 82 00 08 */ beq lbl_8039AA54
@@ -797,7 +797,7 @@ lbl_8039AB04:
/* 8039AB44 003967A4 7C 77 1B 78 */ mr r23, r3
/* 8039AB48 003967A8 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039AB4C 003967AC 38 80 00 28 */ li r4, 0x28
-/* 8039AB50 003967B0 4B EF CB D5 */ bl func_80297724
+/* 8039AB50 003967B0 4B EF CB D5 */ bl MEMAllocFromAllocator
/* 8039AB54 003967B4 2C 03 00 00 */ cmpwi r3, 0
/* 8039AB58 003967B8 41 82 00 10 */ beq lbl_8039AB68
/* 8039AB5C 003967BC 41 82 00 08 */ beq lbl_8039AB64
@@ -889,7 +889,7 @@ lbl_8039AC5C:
/* 8039AC9C 003968FC 7C 77 1B 78 */ mr r23, r3
/* 8039ACA0 00396900 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039ACA4 00396904 38 80 00 28 */ li r4, 0x28
-/* 8039ACA8 00396908 4B EF CA 7D */ bl func_80297724
+/* 8039ACA8 00396908 4B EF CA 7D */ bl MEMAllocFromAllocator
/* 8039ACAC 0039690C 2C 03 00 00 */ cmpwi r3, 0
/* 8039ACB0 00396910 41 82 00 10 */ beq lbl_8039ACC0
/* 8039ACB4 00396914 41 82 00 08 */ beq lbl_8039ACBC
@@ -975,7 +975,7 @@ lbl_8039ADA8:
/* 8039ADE0 00396A40 7C 76 1B 78 */ mr r22, r3
/* 8039ADE4 00396A44 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039ADE8 00396A48 38 80 00 28 */ li r4, 0x28
-/* 8039ADEC 00396A4C 4B EF C9 39 */ bl func_80297724
+/* 8039ADEC 00396A4C 4B EF C9 39 */ bl MEMAllocFromAllocator
/* 8039ADF0 00396A50 2C 03 00 00 */ cmpwi r3, 0
/* 8039ADF4 00396A54 41 82 00 10 */ beq lbl_8039AE04
/* 8039ADF8 00396A58 41 82 00 08 */ beq lbl_8039AE00
@@ -1038,7 +1038,7 @@ lbl_8039AE78:
/* 8039AECC 00396B2C 41 80 FE DC */ blt lbl_8039ADA8
/* 8039AED0 00396B30 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039AED4 00396B34 38 80 00 0C */ li r4, 0xc
-/* 8039AED8 00396B38 4B EF C8 4D */ bl func_80297724
+/* 8039AED8 00396B38 4B EF C8 4D */ bl MEMAllocFromAllocator
/* 8039AEDC 00396B3C 2C 03 00 00 */ cmpwi r3, 0
/* 8039AEE0 00396B40 41 82 00 1C */ beq lbl_8039AEFC
/* 8039AEE4 00396B44 41 82 00 14 */ beq lbl_8039AEF8
@@ -1051,7 +1051,7 @@ lbl_8039AEF8:
lbl_8039AEFC:
/* 8039AEFC 00396B5C 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039AF00 00396B60 38 80 00 2C */ li r4, 0x2c
-/* 8039AF04 00396B64 4B EF C8 21 */ bl func_80297724
+/* 8039AF04 00396B64 4B EF C8 21 */ bl MEMAllocFromAllocator
/* 8039AF08 00396B68 2C 03 00 00 */ cmpwi r3, 0
/* 8039AF0C 00396B6C 7C 76 1B 78 */ mr r22, r3
/* 8039AF10 00396B70 41 82 00 74 */ beq lbl_8039AF84
@@ -1129,7 +1129,7 @@ lbl_8039B014:
/* 8039B01C 00396C7C 41 80 FF A4 */ blt lbl_8039AFC0
/* 8039B020 00396C80 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039B024 00396C84 38 80 01 F8 */ li r4, 0x1f8
-/* 8039B028 00396C88 4B EF C6 FD */ bl func_80297724
+/* 8039B028 00396C88 4B EF C6 FD */ bl MEMAllocFromAllocator
/* 8039B02C 00396C8C 2C 03 00 00 */ cmpwi r3, 0
/* 8039B030 00396C90 41 82 00 18 */ beq lbl_8039B048
/* 8039B034 00396C94 41 82 00 10 */ beq lbl_8039B044
@@ -1144,7 +1144,7 @@ lbl_8039B048:
lbl_8039B050:
/* 8039B050 00396CB0 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039B054 00396CB4 38 80 00 48 */ li r4, 0x48
-/* 8039B058 00396CB8 4B EF C6 CD */ bl func_80297724
+/* 8039B058 00396CB8 4B EF C6 CD */ bl MEMAllocFromAllocator
/* 8039B05C 00396CBC 2C 03 00 00 */ cmpwi r3, 0
/* 8039B060 00396CC0 41 82 00 18 */ beq lbl_8039B078
/* 8039B064 00396CC4 41 82 00 10 */ beq lbl_8039B074
@@ -1339,7 +1339,7 @@ lbl_8039B2D8:
lbl_8039B2E4:
/* 8039B2E4 00396F44 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039B2E8 00396F48 38 9D 00 01 */ addi r4, r29, 1
-/* 8039B2EC 00396F4C 4B EF C4 39 */ bl func_80297724
+/* 8039B2EC 00396F4C 4B EF C4 39 */ bl MEMAllocFromAllocator
/* 8039B2F0 00396F50 90 7E 00 A8 */ stw r3, 0xa8(r30)
/* 8039B2F4 00396F54 7F E4 FB 78 */ mr r4, r31
/* 8039B2F8 00396F58 7F A5 EB 78 */ mr r5, r29
@@ -1365,7 +1365,7 @@ lbl_8039B334:
lbl_8039B340:
/* 8039B340 00396FA0 80 6D 95 4C */ lwz r3, lbl_8063E80C-_SDA_BASE_(r13)
/* 8039B344 00396FA4 38 9C 00 01 */ addi r4, r28, 1
-/* 8039B348 00396FA8 4B EF C3 DD */ bl func_80297724
+/* 8039B348 00396FA8 4B EF C3 DD */ bl MEMAllocFromAllocator
/* 8039B34C 00396FAC 90 7E 00 AC */ stw r3, 0xac(r30)
/* 8039B350 00396FB0 7F E4 FB 78 */ mr r4, r31
/* 8039B354 00396FB4 7F 85 E3 78 */ mr r5, r28
@@ -10423,7 +10423,7 @@ create_sound__Q210homebutton10HomeButtonFPQ34nw4r3snd12SoundArchiveb:
/* 803A343C 0039F09C 7C BB 2B 78 */ mr r27, r5
/* 803A3440 0039F0A0 38 66 CE C8 */ addi r3, r6, lbl_8063CEC8@l
/* 803A3444 0039F0A4 38 80 00 E0 */ li r4, 0xe0
-/* 803A3448 0039F0A8 4B EF 42 DD */ bl func_80297724
+/* 803A3448 0039F0A8 4B EF 42 DD */ bl MEMAllocFromAllocator
/* 803A344C 0039F0AC 2C 03 00 00 */ cmpwi r3, 0
/* 803A3450 0039F0B0 41 82 00 10 */ beq lbl_803A3460
/* 803A3454 0039F0B4 41 82 00 08 */ beq lbl_803A345C
@@ -10442,11 +10442,11 @@ lbl_803A3460:
/* 803A3480 0039F0E0 3F E0 80 64 */ lis r31, lbl_8063CEC8@ha
/* 803A3484 0039F0E4 7F 84 E3 78 */ mr r4, r28
/* 803A3488 0039F0E8 38 7F CE C8 */ addi r3, r31, lbl_8063CEC8@l
-/* 803A348C 0039F0EC 4B EF 42 99 */ bl func_80297724
+/* 803A348C 0039F0EC 4B EF 42 99 */ bl MEMAllocFromAllocator
/* 803A3490 0039F0F0 7C 7E 1B 78 */ mr r30, r3
/* 803A3494 0039F0F4 7F A4 EB 78 */ mr r4, r29
/* 803A3498 0039F0F8 38 7F CE C8 */ addi r3, r31, -12600
-/* 803A349C 0039F0FC 4B EF 42 89 */ bl func_80297724
+/* 803A349C 0039F0FC 4B EF 42 89 */ bl MEMAllocFromAllocator
/* 803A34A0 0039F100 7C 65 1B 78 */ mr r5, r3
/* 803A34A4 0039F104 80 79 05 D0 */ lwz r3, 0x5d0(r25)
/* 803A34A8 0039F108 7F 44 D3 78 */ mr r4, r26
@@ -10456,7 +10456,7 @@ lbl_803A3460:
/* 803A34B8 0039F118 4B FD 58 BD */ bl Setup__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUlPvUl
/* 803A34BC 0039F11C 38 7F CE C8 */ addi r3, r31, -12600
/* 803A34C0 0039F120 38 80 00 04 */ li r4, 4
-/* 803A34C4 0039F124 4B EF 42 61 */ bl func_80297724
+/* 803A34C4 0039F124 4B EF 42 61 */ bl MEMAllocFromAllocator
/* 803A34C8 0039F128 2C 03 00 00 */ cmpwi r3, 0
/* 803A34CC 0039F12C 41 82 00 14 */ beq lbl_803A34E0
/* 803A34D0 0039F130 41 82 00 0C */ beq lbl_803A34DC
@@ -10470,7 +10470,7 @@ lbl_803A34E0:
/* 803A34E8 0039F148 3C 60 80 64 */ lis r3, lbl_8063CEC8@ha
/* 803A34EC 0039F14C 38 80 00 2C */ li r4, 0x2c
/* 803A34F0 0039F150 38 63 CE C8 */ addi r3, r3, lbl_8063CEC8@l
-/* 803A34F4 0039F154 4B EF 42 31 */ bl func_80297724
+/* 803A34F4 0039F154 4B EF 42 31 */ bl MEMAllocFromAllocator
/* 803A34F8 0039F158 2C 03 00 00 */ cmpwi r3, 0
/* 803A34FC 0039F15C 41 82 00 10 */ beq lbl_803A350C
/* 803A3500 0039F160 41 82 00 08 */ beq lbl_803A3508
@@ -10488,7 +10488,7 @@ lbl_803A3524:
/* 803A3524 0039F184 3C 60 80 64 */ lis r3, lbl_8063CEC8@ha
/* 803A3528 0039F188 7F E4 FB 78 */ mr r4, r31
/* 803A352C 0039F18C 38 63 CE C8 */ addi r3, r3, lbl_8063CEC8@l
-/* 803A3530 0039F190 4B EF 41 F5 */ bl func_80297724
+/* 803A3530 0039F190 4B EF 41 F5 */ bl MEMAllocFromAllocator
/* 803A3534 0039F194 7C 64 1B 78 */ mr r4, r3
/* 803A3538 0039F198 80 79 05 E0 */ lwz r3, 0x5e0(r25)
/* 803A353C 0039F19C 7F E5 FB 78 */ mr r5, r31
diff --git a/asm/SDK/HBM/HBMGUIManager.s b/asm/SDK/HBM/HBMGUIManager.s
index 9b370b5..905f027 100644
--- a/asm/SDK/HBM/HBMGUIManager.s
+++ b/asm/SDK/HBM/HBMGUIManager.s
@@ -327,7 +327,7 @@ lbl_803A3DC8:
/* 803A3DD8 0039FA38 2C 03 00 00 */ cmpwi r3, 0
/* 803A3DDC 0039FA3C 41 82 00 10 */ beq lbl_803A3DEC
/* 803A3DE0 0039FA40 7F E4 FB 78 */ mr r4, r31
-/* 803A3DE4 0039FA44 4B EF 39 51 */ bl func_80297734
+/* 803A3DE4 0039FA44 4B EF 39 51 */ bl MEMFreeToAllocator
/* 803A3DE8 0039FA48 48 00 00 0C */ b lbl_803A3DF4
lbl_803A3DEC:
/* 803A3DEC 0039FA4C 7F E3 FB 78 */ mr r3, r31
@@ -425,7 +425,7 @@ addComponent__Q310homebutton3gui7ManagerFPQ310homebutton3gui9Component:
/* 803A3F24 0039FB84 2C 03 00 00 */ cmpwi r3, 0
/* 803A3F28 0039FB88 41 82 00 2C */ beq lbl_803A3F54
/* 803A3F2C 0039FB8C 38 80 00 10 */ li r4, 0x10
-/* 803A3F30 0039FB90 4B EF 37 F5 */ bl func_80297724
+/* 803A3F30 0039FB90 4B EF 37 F5 */ bl MEMAllocFromAllocator
/* 803A3F34 0039FB94 2C 03 00 00 */ cmpwi r3, 0
/* 803A3F38 0039FB98 41 82 00 0C */ beq lbl_803A3F44
/* 803A3F3C 0039FB9C 93 E3 00 00 */ stw r31, 0(r3)
@@ -733,10 +733,10 @@ lbl_803A4334:
/* 803A4344 0039FFA4 2C 03 00 00 */ cmpwi r3, 0
/* 803A4348 0039FFA8 41 82 00 1C */ beq lbl_803A4364
/* 803A434C 0039FFAC 80 9F 00 04 */ lwz r4, 4(r31)
-/* 803A4350 0039FFB0 4B EF 33 E5 */ bl func_80297734
+/* 803A4350 0039FFB0 4B EF 33 E5 */ bl MEMFreeToAllocator
/* 803A4354 0039FFB4 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 803A4358 0039FFB8 7F E4 FB 78 */ mr r4, r31
-/* 803A435C 0039FFBC 4B EF 33 D9 */ bl func_80297734
+/* 803A435C 0039FFBC 4B EF 33 D9 */ bl MEMFreeToAllocator
/* 803A4360 0039FFC0 48 00 00 2C */ b lbl_803A438C
lbl_803A4364:
/* 803A4364 0039FFC4 80 7F 00 04 */ lwz r3, 4(r31)
@@ -776,7 +776,7 @@ lbl_803A43CC:
/* 803A43DC 003A003C 2C 03 00 00 */ cmpwi r3, 0
/* 803A43E0 003A0040 41 82 00 10 */ beq lbl_803A43F0
/* 803A43E4 003A0044 7F E4 FB 78 */ mr r4, r31
-/* 803A43E8 003A0048 4B EF 33 4D */ bl func_80297734
+/* 803A43E8 003A0048 4B EF 33 4D */ bl MEMFreeToAllocator
/* 803A43EC 003A004C 48 00 00 0C */ b lbl_803A43F8
lbl_803A43F0:
/* 803A43F0 003A0050 7F E3 FB 78 */ mr r3, r31
@@ -878,11 +878,11 @@ lbl_803A4520:
/* 803A4524 003A0184 2C 03 00 00 */ cmpwi r3, 0
/* 803A4528 003A0188 41 82 00 78 */ beq lbl_803A45A0
/* 803A452C 003A018C 38 80 00 30 */ li r4, 0x30
-/* 803A4530 003A0190 4B EF 31 F5 */ bl func_80297724
+/* 803A4530 003A0190 4B EF 31 F5 */ bl MEMAllocFromAllocator
/* 803A4534 003A0194 7C 7D 1B 78 */ mr r29, r3
/* 803A4538 003A0198 80 7C 00 14 */ lwz r3, 0x14(r28)
/* 803A453C 003A019C 38 80 00 10 */ li r4, 0x10
-/* 803A4540 003A01A0 4B EF 31 E5 */ bl func_80297724
+/* 803A4540 003A01A0 4B EF 31 E5 */ bl MEMAllocFromAllocator
/* 803A4544 003A01A4 2C 1D 00 00 */ cmpwi r29, 0
/* 803A4548 003A01A8 7C 76 1B 78 */ mr r22, r3
/* 803A454C 003A01AC 41 82 00 3C */ beq lbl_803A4588
diff --git a/asm/SDK/MEM/mem_allocator.s b/asm/SDK/MEM/mem_allocator.s
new file mode 100644
index 0000000..4472425
--- /dev/null
+++ b/asm/SDK/MEM/mem_allocator.s
@@ -0,0 +1,60 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global AllocatorAllocForExpHeap_
+AllocatorAllocForExpHeap_:
+/* 802976F8 00293358 7C 65 1B 78 */ mr r5, r3
+/* 802976FC 0029335C 80 63 00 04 */ lwz r3, 4(r3)
+/* 80297700 00293360 80 A5 00 08 */ lwz r5, 8(r5)
+/* 80297704 00293364 4B FF F8 24 */ b MEMAllocFromExpHeapEx
+
+.global AllocatorFreeForExpHeap_
+AllocatorFreeForExpHeap_:
+/* 80297708 00293368 80 63 00 04 */ lwz r3, 4(r3)
+/* 8029770C 0029336C 4B FF FA B8 */ b MEMFreeToExpHeap
+
+.global AllocatorAllocForFrmHeap_
+AllocatorAllocForFrmHeap_:
+/* 80297710 00293370 7C 65 1B 78 */ mr r5, r3
+/* 80297714 00293374 80 63 00 04 */ lwz r3, 4(r3)
+/* 80297718 00293378 80 A5 00 08 */ lwz r5, 8(r5)
+/* 8029771C 0029337C 4B FF FD A4 */ b MEMAllocFromFrmHeapEx
+
+.global AllocatorFreeForFrmHeap_
+AllocatorFreeForFrmHeap_:
+/* 80297720 00293380 4E 80 00 20 */ blr
+
+.global MEMAllocFromAllocator
+MEMAllocFromAllocator:
+/* 80297724 00293384 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80297728 00293388 81 85 00 00 */ lwz r12, 0(r5)
+/* 8029772C 0029338C 7D 89 03 A6 */ mtctr r12
+/* 80297730 00293390 4E 80 04 20 */ bctr
+
+.global MEMFreeToAllocator
+MEMFreeToAllocator:
+/* 80297734 00293394 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80297738 00293398 81 85 00 04 */ lwz r12, 4(r5)
+/* 8029773C 0029339C 7D 89 03 A6 */ mtctr r12
+/* 80297740 002933A0 4E 80 04 20 */ bctr
+
+.global MEMInitAllocatorForExpHeap
+MEMInitAllocatorForExpHeap:
+/* 80297744 002933A4 38 C2 A3 68 */ addi r6, r2, lbl_80642968-_SDA2_BASE_
+/* 80297748 002933A8 38 00 00 00 */ li r0, 0
+/* 8029774C 002933AC 90 C3 00 00 */ stw r6, 0(r3)
+/* 80297750 002933B0 90 83 00 04 */ stw r4, 4(r3)
+/* 80297754 002933B4 90 A3 00 08 */ stw r5, 8(r3)
+/* 80297758 002933B8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8029775C 002933BC 4E 80 00 20 */ blr
+
+.global MEMInitAllocatorForFrmHeap
+MEMInitAllocatorForFrmHeap:
+/* 80297760 002933C0 38 C2 A3 70 */ addi r6, r2, lbl_80642970-_SDA2_BASE_
+/* 80297764 002933C4 38 00 00 00 */ li r0, 0
+/* 80297768 002933C8 90 C3 00 00 */ stw r6, 0(r3)
+/* 8029776C 002933CC 90 83 00 04 */ stw r4, 4(r3)
+/* 80297770 002933D0 90 A3 00 08 */ stw r5, 8(r3)
+/* 80297774 002933D4 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80297778 002933D8 4E 80 00 20 */ blr
diff --git a/asm/SDK/MEM/mem_expHeap.s b/asm/SDK/MEM/mem_expHeap.s
new file mode 100644
index 0000000..33dd97d
--- /dev/null
+++ b/asm/SDK/MEM/mem_expHeap.s
@@ -0,0 +1,831 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global AllocUsedBlockFromFreeBlock_
+AllocUsedBlockFromFreeBlock_:
+/* 80296938 00292598 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029693C 0029259C 7C 08 02 A6 */ mflr r0
+/* 80296940 002925A0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80296944 002925A4 39 61 00 20 */ addi r11, r1, 0x20
+/* 80296948 002925A8 4B F3 07 DD */ bl _savegpr_26
+/* 8029694C 002925AC 81 04 00 08 */ lwz r8, 8(r4)
+/* 80296950 002925B0 7F C6 2A 14 */ add r30, r6, r5
+/* 80296954 002925B4 A0 C4 00 02 */ lhz r6, 2(r4)
+/* 80296958 002925B8 3B A5 FF F0 */ addi r29, r5, -16
+/* 8029695C 002925BC 80 04 00 04 */ lwz r0, 4(r4)
+/* 80296960 002925C0 2C 08 00 00 */ cmpwi r8, 0
+/* 80296964 002925C4 54 C9 C6 7E */ rlwinm r9, r6, 0x18, 0x19, 0x1f
+/* 80296968 002925C8 81 44 00 0C */ lwz r10, 0xc(r4)
+/* 8029696C 002925CC 7C C4 02 14 */ add r6, r4, r0
+/* 80296970 002925D0 7C BB 2B 78 */ mr r27, r5
+/* 80296974 002925D4 7C 7A 1B 78 */ mr r26, r3
+/* 80296978 002925D8 7C FC 3B 78 */ mr r28, r7
+/* 8029697C 002925DC 7F BF EB 78 */ mr r31, r29
+/* 80296980 002925E0 7C A9 20 50 */ subf r5, r9, r4
+/* 80296984 002925E4 38 C6 00 10 */ addi r6, r6, 0x10
+/* 80296988 002925E8 41 82 00 0C */ beq lbl_80296994
+/* 8029698C 002925EC 91 48 00 0C */ stw r10, 0xc(r8)
+/* 80296990 002925F0 48 00 00 08 */ b lbl_80296998
+lbl_80296994:
+/* 80296994 002925F4 91 43 00 00 */ stw r10, 0(r3)
+lbl_80296998:
+/* 80296998 002925F8 2C 0A 00 00 */ cmpwi r10, 0
+/* 8029699C 002925FC 41 82 00 0C */ beq lbl_802969A8
+/* 802969A0 00292600 91 0A 00 08 */ stw r8, 8(r10)
+/* 802969A4 00292604 48 00 00 08 */ b lbl_802969AC
+lbl_802969A8:
+/* 802969A8 00292608 91 03 00 04 */ stw r8, 4(r3)
+lbl_802969AC:
+/* 802969AC 0029260C 7C 05 E8 50 */ subf r0, r5, r29
+/* 802969B0 00292610 28 00 00 14 */ cmplwi r0, 0x14
+/* 802969B4 00292614 40 80 00 0C */ bge lbl_802969C0
+/* 802969B8 00292618 7C BF 2B 78 */ mr r31, r5
+/* 802969BC 0029261C 48 00 00 60 */ b lbl_80296A1C
+lbl_802969C0:
+/* 802969C0 00292620 38 80 46 52 */ li r4, 0x4652
+/* 802969C4 00292624 38 05 00 10 */ addi r0, r5, 0x10
+/* 802969C8 00292628 B0 85 00 00 */ sth r4, 0(r5)
+/* 802969CC 0029262C 38 80 00 00 */ li r4, 0
+/* 802969D0 00292630 7C 00 E8 50 */ subf r0, r0, r29
+/* 802969D4 00292634 2C 08 00 00 */ cmpwi r8, 0
+/* 802969D8 00292638 B0 85 00 02 */ sth r4, 2(r5)
+/* 802969DC 0029263C 90 05 00 04 */ stw r0, 4(r5)
+/* 802969E0 00292640 90 85 00 0C */ stw r4, 0xc(r5)
+/* 802969E4 00292644 91 05 00 08 */ stw r8, 8(r5)
+/* 802969E8 00292648 41 82 00 10 */ beq lbl_802969F8
+/* 802969EC 0029264C 80 88 00 0C */ lwz r4, 0xc(r8)
+/* 802969F0 00292650 90 A8 00 0C */ stw r5, 0xc(r8)
+/* 802969F4 00292654 48 00 00 0C */ b lbl_80296A00
+lbl_802969F8:
+/* 802969F8 00292658 80 83 00 00 */ lwz r4, 0(r3)
+/* 802969FC 0029265C 90 A3 00 00 */ stw r5, 0(r3)
+lbl_80296A00:
+/* 80296A00 00292660 2C 04 00 00 */ cmpwi r4, 0
+/* 80296A04 00292664 90 85 00 0C */ stw r4, 0xc(r5)
+/* 80296A08 00292668 41 82 00 0C */ beq lbl_80296A14
+/* 80296A0C 0029266C 90 A4 00 08 */ stw r5, 8(r4)
+/* 80296A10 00292670 48 00 00 08 */ b lbl_80296A18
+lbl_80296A14:
+/* 80296A14 00292674 90 A3 00 04 */ stw r5, 4(r3)
+lbl_80296A18:
+/* 80296A18 00292678 7C A8 2B 78 */ mr r8, r5
+lbl_80296A1C:
+/* 80296A1C 0029267C 7C 1E 30 50 */ subf r0, r30, r6
+/* 80296A20 00292680 28 00 00 14 */ cmplwi r0, 0x14
+/* 80296A24 00292684 40 80 00 0C */ bge lbl_80296A30
+/* 80296A28 00292688 7C DE 33 78 */ mr r30, r6
+/* 80296A2C 0029268C 48 00 00 5C */ b lbl_80296A88
+lbl_80296A30:
+/* 80296A30 00292690 38 80 46 52 */ li r4, 0x4652
+/* 80296A34 00292694 38 1E 00 10 */ addi r0, r30, 0x10
+/* 80296A38 00292698 B0 9E 00 00 */ sth r4, 0(r30)
+/* 80296A3C 0029269C 38 80 00 00 */ li r4, 0
+/* 80296A40 002926A0 7C 00 30 50 */ subf r0, r0, r6
+/* 80296A44 002926A4 2C 08 00 00 */ cmpwi r8, 0
+/* 80296A48 002926A8 B0 9E 00 02 */ sth r4, 2(r30)
+/* 80296A4C 002926AC 90 1E 00 04 */ stw r0, 4(r30)
+/* 80296A50 002926B0 90 9E 00 0C */ stw r4, 0xc(r30)
+/* 80296A54 002926B4 91 1E 00 08 */ stw r8, 8(r30)
+/* 80296A58 002926B8 41 82 00 10 */ beq lbl_80296A68
+/* 80296A5C 002926BC 80 88 00 0C */ lwz r4, 0xc(r8)
+/* 80296A60 002926C0 93 C8 00 0C */ stw r30, 0xc(r8)
+/* 80296A64 002926C4 48 00 00 0C */ b lbl_80296A70
+lbl_80296A68:
+/* 80296A68 002926C8 80 83 00 00 */ lwz r4, 0(r3)
+/* 80296A6C 002926CC 93 C3 00 00 */ stw r30, 0(r3)
+lbl_80296A70:
+/* 80296A70 002926D0 2C 04 00 00 */ cmpwi r4, 0
+/* 80296A74 002926D4 90 9E 00 0C */ stw r4, 0xc(r30)
+/* 80296A78 002926D8 41 82 00 0C */ beq lbl_80296A84
+/* 80296A7C 002926DC 93 C4 00 08 */ stw r30, 8(r4)
+/* 80296A80 002926E0 48 00 00 08 */ b lbl_80296A88
+lbl_80296A84:
+/* 80296A84 002926E4 93 C3 00 04 */ stw r30, 4(r3)
+lbl_80296A88:
+/* 80296A88 002926E8 80 03 FF FC */ lwz r0, -4(r3)
+/* 80296A8C 002926EC 7C BF F0 50 */ subf r5, r31, r30
+/* 80296A90 002926F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80296A94 002926F4 41 82 00 10 */ beq lbl_80296AA4
+/* 80296A98 002926F8 7F E3 FB 78 */ mr r3, r31
+/* 80296A9C 002926FC 38 80 00 00 */ li r4, 0
+/* 80296AA0 00292700 4B D6 D6 65 */ bl memset
+lbl_80296AA4:
+/* 80296AA4 00292704 38 A0 00 00 */ li r5, 0
+/* 80296AA8 00292708 38 9D 00 10 */ addi r4, r29, 0x10
+/* 80296AAC 0029270C 7C A3 2B 78 */ mr r3, r5
+/* 80296AB0 00292710 38 C0 55 44 */ li r6, 0x5544
+/* 80296AB4 00292714 7C 84 F0 50 */ subf r4, r4, r30
+/* 80296AB8 00292718 7C 1F E8 50 */ subf r0, r31, r29
+/* 80296ABC 0029271C 53 83 7C 20 */ rlwimi r3, r28, 0xf, 0x10, 0x10
+/* 80296AC0 00292720 B0 DD 00 00 */ sth r6, 0(r29)
+/* 80296AC4 00292724 50 03 44 6E */ rlwimi r3, r0, 8, 0x11, 0x17
+/* 80296AC8 00292728 90 9D 00 04 */ stw r4, 4(r29)
+/* 80296ACC 0029272C 90 BD 00 08 */ stw r5, 8(r29)
+/* 80296AD0 00292730 90 BD 00 0C */ stw r5, 0xc(r29)
+/* 80296AD4 00292734 B0 7D 00 02 */ sth r3, 2(r29)
+/* 80296AD8 00292738 A0 1A 00 10 */ lhz r0, 0x10(r26)
+/* 80296ADC 0029273C 50 03 06 3E */ rlwimi r3, r0, 0, 0x18, 0x1f
+/* 80296AE0 00292740 B0 7D 00 02 */ sth r3, 2(r29)
+/* 80296AE4 00292744 80 9A 00 0C */ lwz r4, 0xc(r26)
+/* 80296AE8 00292748 2C 04 00 00 */ cmpwi r4, 0
+/* 80296AEC 0029274C 90 9D 00 08 */ stw r4, 8(r29)
+/* 80296AF0 00292750 41 82 00 10 */ beq lbl_80296B00
+/* 80296AF4 00292754 80 64 00 0C */ lwz r3, 0xc(r4)
+/* 80296AF8 00292758 93 A4 00 0C */ stw r29, 0xc(r4)
+/* 80296AFC 0029275C 48 00 00 0C */ b lbl_80296B08
+lbl_80296B00:
+/* 80296B00 00292760 80 7A 00 08 */ lwz r3, 8(r26)
+/* 80296B04 00292764 93 BA 00 08 */ stw r29, 8(r26)
+lbl_80296B08:
+/* 80296B08 00292768 2C 03 00 00 */ cmpwi r3, 0
+/* 80296B0C 0029276C 90 7D 00 0C */ stw r3, 0xc(r29)
+/* 80296B10 00292770 41 82 00 0C */ beq lbl_80296B1C
+/* 80296B14 00292774 93 A3 00 08 */ stw r29, 8(r3)
+/* 80296B18 00292778 48 00 00 08 */ b lbl_80296B20
+lbl_80296B1C:
+/* 80296B1C 0029277C 93 BA 00 0C */ stw r29, 0xc(r26)
+lbl_80296B20:
+/* 80296B20 00292780 39 61 00 20 */ addi r11, r1, 0x20
+/* 80296B24 00292784 7F 63 DB 78 */ mr r3, r27
+/* 80296B28 00292788 4B F3 06 49 */ bl _restgpr_26
+/* 80296B2C 0029278C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80296B30 00292790 7C 08 03 A6 */ mtlr r0
+/* 80296B34 00292794 38 21 00 20 */ addi r1, r1, 0x20
+/* 80296B38 00292798 4E 80 00 20 */ blr
+
+.global AllocFromHead_
+AllocFromHead_:
+/* 80296B3C 0029279C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80296B40 002927A0 7C 08 02 A6 */ mflr r0
+/* 80296B44 002927A4 38 63 00 3C */ addi r3, r3, 0x3c
+/* 80296B48 002927A8 7C 86 23 78 */ mr r6, r4
+/* 80296B4C 002927AC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80296B50 002927B0 38 05 FF FF */ addi r0, r5, -1
+/* 80296B54 002927B4 7C 08 00 F8 */ nor r8, r0, r0
+/* 80296B58 002927B8 39 80 00 00 */ li r12, 0
+/* 80296B5C 002927BC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80296B60 002927C0 3B E0 FF FF */ li r31, -1
+/* 80296B64 002927C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80296B68 002927C8 3B C0 00 00 */ li r30, 0
+/* 80296B6C 002927CC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80296B70 002927D0 A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 80296B74 002927D4 81 63 00 00 */ lwz r11, 0(r3)
+/* 80296B78 002927D8 54 E0 07 FE */ clrlwi r0, r7, 0x1f
+/* 80296B7C 002927DC 7C 00 00 34 */ cntlzw r0, r0
+/* 80296B80 002927E0 54 0A D9 7E */ srwi r10, r0, 5
+/* 80296B84 002927E4 48 00 00 50 */ b lbl_80296BD4
+lbl_80296B88:
+/* 80296B88 002927E8 3B AB 00 10 */ addi r29, r11, 0x10
+/* 80296B8C 002927EC 81 2B 00 04 */ lwz r9, 4(r11)
+/* 80296B90 002927F0 7C E5 EA 14 */ add r7, r5, r29
+/* 80296B94 002927F4 38 07 FF FF */ addi r0, r7, -1
+/* 80296B98 002927F8 7D 07 00 38 */ and r7, r8, r0
+/* 80296B9C 002927FC 7C 1D 38 50 */ subf r0, r29, r7
+/* 80296BA0 00292800 7C 04 02 14 */ add r0, r4, r0
+/* 80296BA4 00292804 7C 09 00 40 */ cmplw r9, r0
+/* 80296BA8 00292808 41 80 00 28 */ blt lbl_80296BD0
+/* 80296BAC 0029280C 7C 1F 48 40 */ cmplw r31, r9
+/* 80296BB0 00292810 40 81 00 20 */ ble lbl_80296BD0
+/* 80296BB4 00292814 2C 0A 00 00 */ cmpwi r10, 0
+/* 80296BB8 00292818 7D 6C 5B 78 */ mr r12, r11
+/* 80296BBC 0029281C 7D 3F 4B 78 */ mr r31, r9
+/* 80296BC0 00292820 7C FE 3B 78 */ mr r30, r7
+/* 80296BC4 00292824 40 82 00 18 */ bne lbl_80296BDC
+/* 80296BC8 00292828 7C 09 20 40 */ cmplw r9, r4
+/* 80296BCC 0029282C 41 82 00 10 */ beq lbl_80296BDC
+lbl_80296BD0:
+/* 80296BD0 00292830 81 6B 00 0C */ lwz r11, 0xc(r11)
+lbl_80296BD4:
+/* 80296BD4 00292834 2C 0B 00 00 */ cmpwi r11, 0
+/* 80296BD8 00292838 40 82 FF B0 */ bne lbl_80296B88
+lbl_80296BDC:
+/* 80296BDC 0029283C 2C 0C 00 00 */ cmpwi r12, 0
+/* 80296BE0 00292840 41 82 00 18 */ beq lbl_80296BF8
+/* 80296BE4 00292844 7D 84 63 78 */ mr r4, r12
+/* 80296BE8 00292848 7F C5 F3 78 */ mr r5, r30
+/* 80296BEC 0029284C 38 E0 00 00 */ li r7, 0
+/* 80296BF0 00292850 4B FF FD 49 */ bl AllocUsedBlockFromFreeBlock_
+/* 80296BF4 00292854 48 00 00 08 */ b lbl_80296BFC
+lbl_80296BF8:
+/* 80296BF8 00292858 38 60 00 00 */ li r3, 0
+lbl_80296BFC:
+/* 80296BFC 0029285C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80296C00 00292860 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80296C04 00292864 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80296C08 00292868 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80296C0C 0029286C 7C 08 03 A6 */ mtlr r0
+/* 80296C10 00292870 38 21 00 20 */ addi r1, r1, 0x20
+/* 80296C14 00292874 4E 80 00 20 */ blr
+
+.global AllocFromTail_
+AllocFromTail_:
+/* 80296C18 00292878 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80296C1C 0029287C 7C 08 02 A6 */ mflr r0
+/* 80296C20 00292880 38 63 00 3C */ addi r3, r3, 0x3c
+/* 80296C24 00292884 7C 86 23 78 */ mr r6, r4
+/* 80296C28 00292888 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80296C2C 0029288C 38 05 FF FF */ addi r0, r5, -1
+/* 80296C30 00292890 7C 07 00 F8 */ nor r7, r0, r0
+/* 80296C34 00292894 39 60 00 00 */ li r11, 0
+/* 80296C38 00292898 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80296C3C 0029289C 39 80 FF FF */ li r12, -1
+/* 80296C40 002928A0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80296C44 002928A4 A0 A3 00 12 */ lhz r5, 0x12(r3)
+/* 80296C48 002928A8 81 43 00 04 */ lwz r10, 4(r3)
+/* 80296C4C 002928AC 54 A0 07 FE */ clrlwi r0, r5, 0x1f
+/* 80296C50 002928B0 38 A0 00 00 */ li r5, 0
+/* 80296C54 002928B4 7C 00 00 34 */ cntlzw r0, r0
+/* 80296C58 002928B8 54 09 D9 7E */ srwi r9, r0, 5
+/* 80296C5C 002928BC 48 00 00 48 */ b lbl_80296CA4
+lbl_80296C60:
+/* 80296C60 002928C0 81 0A 00 04 */ lwz r8, 4(r10)
+/* 80296C64 002928C4 3B EA 00 10 */ addi r31, r10, 0x10
+/* 80296C68 002928C8 7C 08 FA 14 */ add r0, r8, r31
+/* 80296C6C 002928CC 7C 04 00 50 */ subf r0, r4, r0
+/* 80296C70 002928D0 7C FE 00 38 */ and r30, r7, r0
+/* 80296C74 002928D4 7C 1F F0 51 */ subf. r0, r31, r30
+/* 80296C78 002928D8 41 80 00 28 */ blt lbl_80296CA0
+/* 80296C7C 002928DC 7C 0C 40 40 */ cmplw r12, r8
+/* 80296C80 002928E0 40 81 00 20 */ ble lbl_80296CA0
+/* 80296C84 002928E4 2C 09 00 00 */ cmpwi r9, 0
+/* 80296C88 002928E8 7D 4B 53 78 */ mr r11, r10
+/* 80296C8C 002928EC 7D 0C 43 78 */ mr r12, r8
+/* 80296C90 002928F0 7F C5 F3 78 */ mr r5, r30
+/* 80296C94 002928F4 40 82 00 18 */ bne lbl_80296CAC
+/* 80296C98 002928F8 7C 08 20 40 */ cmplw r8, r4
+/* 80296C9C 002928FC 41 82 00 10 */ beq lbl_80296CAC
+lbl_80296CA0:
+/* 80296CA0 00292900 81 4A 00 08 */ lwz r10, 8(r10)
+lbl_80296CA4:
+/* 80296CA4 00292904 2C 0A 00 00 */ cmpwi r10, 0
+/* 80296CA8 00292908 40 82 FF B8 */ bne lbl_80296C60
+lbl_80296CAC:
+/* 80296CAC 0029290C 2C 0B 00 00 */ cmpwi r11, 0
+/* 80296CB0 00292910 41 82 00 14 */ beq lbl_80296CC4
+/* 80296CB4 00292914 7D 64 5B 78 */ mr r4, r11
+/* 80296CB8 00292918 38 E0 00 01 */ li r7, 1
+/* 80296CBC 0029291C 4B FF FC 7D */ bl AllocUsedBlockFromFreeBlock_
+/* 80296CC0 00292920 48 00 00 08 */ b lbl_80296CC8
+lbl_80296CC4:
+/* 80296CC4 00292924 38 60 00 00 */ li r3, 0
+lbl_80296CC8:
+/* 80296CC8 00292928 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80296CCC 0029292C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80296CD0 00292930 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80296CD4 00292934 7C 08 03 A6 */ mtlr r0
+/* 80296CD8 00292938 38 21 00 10 */ addi r1, r1, 0x10
+/* 80296CDC 0029293C 4E 80 00 20 */ blr
+
+.global RecycleRegion_
+RecycleRegion_:
+/* 80296CE0 00292940 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80296CE4 00292944 39 00 00 00 */ li r8, 0
+/* 80296CE8 00292948 80 A4 00 00 */ lwz r5, 0(r4)
+/* 80296CEC 0029294C 80 04 00 04 */ lwz r0, 4(r4)
+/* 80296CF0 00292950 90 A1 00 08 */ stw r5, 8(r1)
+/* 80296CF4 00292954 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80296CF8 00292958 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80296CFC 0029295C 48 00 00 6C */ b lbl_80296D68
+lbl_80296D00:
+/* 80296D00 00292960 80 04 00 00 */ lwz r0, 0(r4)
+/* 80296D04 00292964 7C 06 00 40 */ cmplw r6, r0
+/* 80296D08 00292968 40 80 00 0C */ bge lbl_80296D14
+/* 80296D0C 0029296C 7C C8 33 78 */ mr r8, r6
+/* 80296D10 00292970 48 00 00 54 */ b lbl_80296D64
+lbl_80296D14:
+/* 80296D14 00292974 80 04 00 04 */ lwz r0, 4(r4)
+/* 80296D18 00292978 7C 06 00 40 */ cmplw r6, r0
+/* 80296D1C 0029297C 40 82 00 54 */ bne lbl_80296D70
+/* 80296D20 00292980 80 06 00 04 */ lwz r0, 4(r6)
+/* 80296D24 00292984 80 E6 00 08 */ lwz r7, 8(r6)
+/* 80296D28 00292988 7C A6 02 14 */ add r5, r6, r0
+/* 80296D2C 0029298C 80 C6 00 0C */ lwz r6, 0xc(r6)
+/* 80296D30 00292990 38 05 00 10 */ addi r0, r5, 0x10
+/* 80296D34 00292994 2C 07 00 00 */ cmpwi r7, 0
+/* 80296D38 00292998 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80296D3C 0029299C 41 82 00 0C */ beq lbl_80296D48
+/* 80296D40 002929A0 90 C7 00 0C */ stw r6, 0xc(r7)
+/* 80296D44 002929A4 48 00 00 08 */ b lbl_80296D4C
+lbl_80296D48:
+/* 80296D48 002929A8 90 C3 00 00 */ stw r6, 0(r3)
+lbl_80296D4C:
+/* 80296D4C 002929AC 2C 06 00 00 */ cmpwi r6, 0
+/* 80296D50 002929B0 41 82 00 0C */ beq lbl_80296D5C
+/* 80296D54 002929B4 90 E6 00 08 */ stw r7, 8(r6)
+/* 80296D58 002929B8 48 00 00 18 */ b lbl_80296D70
+lbl_80296D5C:
+/* 80296D5C 002929BC 90 E3 00 04 */ stw r7, 4(r3)
+/* 80296D60 002929C0 48 00 00 10 */ b lbl_80296D70
+lbl_80296D64:
+/* 80296D64 002929C4 80 C6 00 0C */ lwz r6, 0xc(r6)
+lbl_80296D68:
+/* 80296D68 002929C8 2C 06 00 00 */ cmpwi r6, 0
+/* 80296D6C 002929CC 40 82 FF 94 */ bne lbl_80296D00
+lbl_80296D70:
+/* 80296D70 002929D0 2C 08 00 00 */ cmpwi r8, 0
+/* 80296D74 002929D4 41 82 00 54 */ beq lbl_80296DC8
+/* 80296D78 002929D8 80 A8 00 04 */ lwz r5, 4(r8)
+/* 80296D7C 002929DC 80 04 00 00 */ lwz r0, 0(r4)
+/* 80296D80 002929E0 7C 88 2A 14 */ add r4, r8, r5
+/* 80296D84 002929E4 38 84 00 10 */ addi r4, r4, 0x10
+/* 80296D88 002929E8 7C 04 00 40 */ cmplw r4, r0
+/* 80296D8C 002929EC 40 82 00 3C */ bne lbl_80296DC8
+/* 80296D90 002929F0 80 A8 00 08 */ lwz r5, 8(r8)
+/* 80296D94 002929F4 91 01 00 08 */ stw r8, 8(r1)
+/* 80296D98 002929F8 2C 05 00 00 */ cmpwi r5, 0
+/* 80296D9C 002929FC 80 88 00 0C */ lwz r4, 0xc(r8)
+/* 80296DA0 00292A00 41 82 00 0C */ beq lbl_80296DAC
+/* 80296DA4 00292A04 90 85 00 0C */ stw r4, 0xc(r5)
+/* 80296DA8 00292A08 48 00 00 08 */ b lbl_80296DB0
+lbl_80296DAC:
+/* 80296DAC 00292A0C 90 83 00 00 */ stw r4, 0(r3)
+lbl_80296DB0:
+/* 80296DB0 00292A10 2C 04 00 00 */ cmpwi r4, 0
+/* 80296DB4 00292A14 41 82 00 0C */ beq lbl_80296DC0
+/* 80296DB8 00292A18 90 A4 00 08 */ stw r5, 8(r4)
+/* 80296DBC 00292A1C 48 00 00 08 */ b lbl_80296DC4
+lbl_80296DC0:
+/* 80296DC0 00292A20 90 A3 00 04 */ stw r5, 4(r3)
+lbl_80296DC4:
+/* 80296DC4 00292A24 7C A8 2B 78 */ mr r8, r5
+lbl_80296DC8:
+/* 80296DC8 00292A28 80 C1 00 0C */ lwz r6, 0xc(r1)
+/* 80296DCC 00292A2C 80 A1 00 08 */ lwz r5, 8(r1)
+/* 80296DD0 00292A30 7C 05 30 50 */ subf r0, r5, r6
+/* 80296DD4 00292A34 28 00 00 10 */ cmplwi r0, 0x10
+/* 80296DD8 00292A38 40 80 00 0C */ bge lbl_80296DE4
+/* 80296DDC 00292A3C 38 60 00 00 */ li r3, 0
+/* 80296DE0 00292A40 48 00 00 60 */ b lbl_80296E40
+lbl_80296DE4:
+/* 80296DE4 00292A44 38 80 46 52 */ li r4, 0x4652
+/* 80296DE8 00292A48 38 05 00 10 */ addi r0, r5, 0x10
+/* 80296DEC 00292A4C B0 85 00 00 */ sth r4, 0(r5)
+/* 80296DF0 00292A50 38 80 00 00 */ li r4, 0
+/* 80296DF4 00292A54 7C 00 30 50 */ subf r0, r0, r6
+/* 80296DF8 00292A58 2C 08 00 00 */ cmpwi r8, 0
+/* 80296DFC 00292A5C B0 85 00 02 */ sth r4, 2(r5)
+/* 80296E00 00292A60 90 05 00 04 */ stw r0, 4(r5)
+/* 80296E04 00292A64 90 85 00 0C */ stw r4, 0xc(r5)
+/* 80296E08 00292A68 91 05 00 08 */ stw r8, 8(r5)
+/* 80296E0C 00292A6C 41 82 00 10 */ beq lbl_80296E1C
+/* 80296E10 00292A70 80 88 00 0C */ lwz r4, 0xc(r8)
+/* 80296E14 00292A74 90 A8 00 0C */ stw r5, 0xc(r8)
+/* 80296E18 00292A78 48 00 00 0C */ b lbl_80296E24
+lbl_80296E1C:
+/* 80296E1C 00292A7C 80 83 00 00 */ lwz r4, 0(r3)
+/* 80296E20 00292A80 90 A3 00 00 */ stw r5, 0(r3)
+lbl_80296E24:
+/* 80296E24 00292A84 2C 04 00 00 */ cmpwi r4, 0
+/* 80296E28 00292A88 90 85 00 0C */ stw r4, 0xc(r5)
+/* 80296E2C 00292A8C 41 82 00 0C */ beq lbl_80296E38
+/* 80296E30 00292A90 90 A4 00 08 */ stw r5, 8(r4)
+/* 80296E34 00292A94 48 00 00 08 */ b lbl_80296E3C
+lbl_80296E38:
+/* 80296E38 00292A98 90 A3 00 04 */ stw r5, 4(r3)
+lbl_80296E3C:
+/* 80296E3C 00292A9C 38 60 00 01 */ li r3, 1
+lbl_80296E40:
+/* 80296E40 00292AA0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80296E44 00292AA4 4E 80 00 20 */ blr
+
+.global MEMCreateExpHeapEx
+MEMCreateExpHeapEx:
+/* 80296E48 00292AA8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80296E4C 00292AAC 7C 08 02 A6 */ mflr r0
+/* 80296E50 00292AB0 7C 84 1A 14 */ add r4, r4, r3
+/* 80296E54 00292AB4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80296E58 00292AB8 38 03 00 03 */ addi r0, r3, 3
+/* 80296E5C 00292ABC 54 86 00 3A */ rlwinm r6, r4, 0, 0, 0x1d
+/* 80296E60 00292AC0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80296E64 00292AC4 54 1F 00 3A */ rlwinm r31, r0, 0, 0, 0x1d
+/* 80296E68 00292AC8 7C 1F 30 40 */ cmplw r31, r6
+/* 80296E6C 00292ACC 41 81 00 10 */ bgt lbl_80296E7C
+/* 80296E70 00292AD0 7C 1F 30 50 */ subf r0, r31, r6
+/* 80296E74 00292AD4 28 00 00 64 */ cmplwi r0, 0x64
+/* 80296E78 00292AD8 40 80 00 0C */ bge lbl_80296E84
+lbl_80296E7C:
+/* 80296E7C 00292ADC 38 60 00 00 */ li r3, 0
+/* 80296E80 00292AE0 48 00 00 64 */ b lbl_80296EE4
+lbl_80296E84:
+/* 80296E84 00292AE4 3C 80 45 58 */ lis r4, 0x45585048@ha
+/* 80296E88 00292AE8 7C A7 2B 78 */ mr r7, r5
+/* 80296E8C 00292AEC 7F E3 FB 78 */ mr r3, r31
+/* 80296E90 00292AF0 38 BF 00 50 */ addi r5, r31, 0x50
+/* 80296E94 00292AF4 38 84 50 48 */ addi r4, r4, 0x45585048@l
+/* 80296E98 00292AF8 4B FF F7 75 */ bl MEMiInitHeapHead
+/* 80296E9C 00292AFC 38 A0 00 00 */ li r5, 0
+/* 80296EA0 00292B00 38 80 46 52 */ li r4, 0x4652
+/* 80296EA4 00292B04 B0 BF 00 4C */ sth r5, 0x4c(r31)
+/* 80296EA8 00292B08 7F E3 FB 78 */ mr r3, r31
+/* 80296EAC 00292B0C B0 BF 00 4E */ sth r5, 0x4e(r31)
+/* 80296EB0 00292B10 80 DF 00 18 */ lwz r6, 0x18(r31)
+/* 80296EB4 00292B14 80 FF 00 1C */ lwz r7, 0x1c(r31)
+/* 80296EB8 00292B18 38 06 00 10 */ addi r0, r6, 0x10
+/* 80296EBC 00292B1C B0 86 00 00 */ sth r4, 0(r6)
+/* 80296EC0 00292B20 7C 00 38 50 */ subf r0, r0, r7
+/* 80296EC4 00292B24 B0 A6 00 02 */ sth r5, 2(r6)
+/* 80296EC8 00292B28 90 06 00 04 */ stw r0, 4(r6)
+/* 80296ECC 00292B2C 90 A6 00 08 */ stw r5, 8(r6)
+/* 80296ED0 00292B30 90 A6 00 0C */ stw r5, 0xc(r6)
+/* 80296ED4 00292B34 90 DF 00 3C */ stw r6, 0x3c(r31)
+/* 80296ED8 00292B38 90 DF 00 40 */ stw r6, 0x40(r31)
+/* 80296EDC 00292B3C 90 BF 00 44 */ stw r5, 0x44(r31)
+/* 80296EE0 00292B40 90 BF 00 48 */ stw r5, 0x48(r31)
+lbl_80296EE4:
+/* 80296EE4 00292B44 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80296EE8 00292B48 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80296EEC 00292B4C 7C 08 03 A6 */ mtlr r0
+/* 80296EF0 00292B50 38 21 00 10 */ addi r1, r1, 0x10
+/* 80296EF4 00292B54 4E 80 00 20 */ blr
+
+.global MEMDestroyExpHeap
+MEMDestroyExpHeap:
+/* 80296EF8 00292B58 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80296EFC 00292B5C 7C 08 02 A6 */ mflr r0
+/* 80296F00 00292B60 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80296F04 00292B64 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80296F08 00292B68 7C 7F 1B 78 */ mr r31, r3
+/* 80296F0C 00292B6C 4B FF F8 C1 */ bl MEMiFinalizeHeap
+/* 80296F10 00292B70 7F E3 FB 78 */ mr r3, r31
+/* 80296F14 00292B74 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80296F18 00292B78 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80296F1C 00292B7C 7C 08 03 A6 */ mtlr r0
+/* 80296F20 00292B80 38 21 00 10 */ addi r1, r1, 0x10
+/* 80296F24 00292B84 4E 80 00 20 */ blr
+
+.global MEMAllocFromExpHeapEx
+MEMAllocFromExpHeapEx:
+/* 80296F28 00292B88 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80296F2C 00292B8C 7C 08 02 A6 */ mflr r0
+/* 80296F30 00292B90 2C 04 00 00 */ cmpwi r4, 0
+/* 80296F34 00292B94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80296F38 00292B98 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80296F3C 00292B9C 7C BF 2B 78 */ mr r31, r5
+/* 80296F40 00292BA0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80296F44 00292BA4 7C 9E 23 78 */ mr r30, r4
+/* 80296F48 00292BA8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80296F4C 00292BAC 7C 7D 1B 78 */ mr r29, r3
+/* 80296F50 00292BB0 40 82 00 08 */ bne lbl_80296F58
+/* 80296F54 00292BB4 3B C0 00 01 */ li r30, 1
+lbl_80296F58:
+/* 80296F58 00292BB8 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 80296F5C 00292BBC 38 9E 00 03 */ addi r4, r30, 3
+/* 80296F60 00292BC0 54 9E 00 3A */ rlwinm r30, r4, 0, 0, 0x1d
+/* 80296F64 00292BC4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80296F68 00292BC8 41 82 00 0C */ beq lbl_80296F74
+/* 80296F6C 00292BCC 38 63 00 20 */ addi r3, r3, 0x20
+/* 80296F70 00292BD0 4B FD 89 D9 */ bl OSLockMutex
+lbl_80296F74:
+/* 80296F74 00292BD4 2C 1F 00 00 */ cmpwi r31, 0
+/* 80296F78 00292BD8 41 80 00 18 */ blt lbl_80296F90
+/* 80296F7C 00292BDC 7F A3 EB 78 */ mr r3, r29
+/* 80296F80 00292BE0 7F C4 F3 78 */ mr r4, r30
+/* 80296F84 00292BE4 7F E5 FB 78 */ mr r5, r31
+/* 80296F88 00292BE8 4B FF FB B5 */ bl AllocFromHead_
+/* 80296F8C 00292BEC 48 00 00 14 */ b lbl_80296FA0
+lbl_80296F90:
+/* 80296F90 00292BF0 7F A3 EB 78 */ mr r3, r29
+/* 80296F94 00292BF4 7F C4 F3 78 */ mr r4, r30
+/* 80296F98 00292BF8 7C BF 00 D0 */ neg r5, r31
+/* 80296F9C 00292BFC 4B FF FC 7D */ bl AllocFromTail_
+lbl_80296FA0:
+/* 80296FA0 00292C00 80 1D 00 38 */ lwz r0, 0x38(r29)
+/* 80296FA4 00292C04 7C 7F 1B 78 */ mr r31, r3
+/* 80296FA8 00292C08 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80296FAC 00292C0C 41 82 00 0C */ beq lbl_80296FB8
+/* 80296FB0 00292C10 38 7D 00 20 */ addi r3, r29, 0x20
+/* 80296FB4 00292C14 4B FD 8A 71 */ bl OSUnlockMutex
+lbl_80296FB8:
+/* 80296FB8 00292C18 7F E3 FB 78 */ mr r3, r31
+/* 80296FBC 00292C1C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80296FC0 00292C20 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80296FC4 00292C24 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80296FC8 00292C28 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80296FCC 00292C2C 7C 08 03 A6 */ mtlr r0
+/* 80296FD0 00292C30 38 21 00 20 */ addi r1, r1, 0x20
+/* 80296FD4 00292C34 4E 80 00 20 */ blr
+
+.global MEMResizeForMBlockExpHeap
+MEMResizeForMBlockExpHeap:
+/* 80296FD8 00292C38 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80296FDC 00292C3C 7C 08 02 A6 */ mflr r0
+/* 80296FE0 00292C40 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80296FE4 00292C44 39 61 00 30 */ addi r11, r1, 0x30
+/* 80296FE8 00292C48 4B F3 01 3D */ bl _savegpr_26
+/* 80296FEC 00292C4C 38 A5 00 03 */ addi r5, r5, 3
+/* 80296FF0 00292C50 80 04 FF F4 */ lwz r0, -0xc(r4)
+/* 80296FF4 00292C54 54 BD 00 3A */ rlwinm r29, r5, 0, 0, 0x1d
+/* 80296FF8 00292C58 3B C4 FF F0 */ addi r30, r4, -16
+/* 80296FFC 00292C5C 7C 1D 00 40 */ cmplw r29, r0
+/* 80297000 00292C60 7C 7B 1B 78 */ mr r27, r3
+/* 80297004 00292C64 7C 9C 23 78 */ mr r28, r4
+/* 80297008 00292C68 3B E3 00 3C */ addi r31, r3, 0x3c
+/* 8029700C 00292C6C 40 82 00 0C */ bne lbl_80297018
+/* 80297010 00292C70 7F A3 EB 78 */ mr r3, r29
+/* 80297014 00292C74 48 00 01 98 */ b lbl_802971AC
+lbl_80297018:
+/* 80297018 00292C78 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 8029701C 00292C7C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80297020 00292C80 41 82 00 0C */ beq lbl_8029702C
+/* 80297024 00292C84 38 63 00 20 */ addi r3, r3, 0x20
+/* 80297028 00292C88 4B FD 89 21 */ bl OSLockMutex
+lbl_8029702C:
+/* 8029702C 00292C8C 83 5E 00 04 */ lwz r26, 4(r30)
+/* 80297030 00292C90 7C 1D D0 40 */ cmplw r29, r26
+/* 80297034 00292C94 40 81 01 2C */ ble lbl_80297160
+/* 80297038 00292C98 7C 7E D2 14 */ add r3, r30, r26
+/* 8029703C 00292C9C 80 FF 00 00 */ lwz r7, 0(r31)
+/* 80297040 00292CA0 38 03 00 10 */ addi r0, r3, 0x10
+/* 80297044 00292CA4 48 00 00 10 */ b lbl_80297054
+lbl_80297048:
+/* 80297048 00292CA8 7C 07 00 40 */ cmplw r7, r0
+/* 8029704C 00292CAC 41 82 00 10 */ beq lbl_8029705C
+/* 80297050 00292CB0 80 E7 00 0C */ lwz r7, 0xc(r7)
+lbl_80297054:
+/* 80297054 00292CB4 2C 07 00 00 */ cmpwi r7, 0
+/* 80297058 00292CB8 40 82 FF F0 */ bne lbl_80297048
+lbl_8029705C:
+/* 8029705C 00292CBC 2C 07 00 00 */ cmpwi r7, 0
+/* 80297060 00292CC0 41 82 00 18 */ beq lbl_80297078
+/* 80297064 00292CC4 80 87 00 04 */ lwz r4, 4(r7)
+/* 80297068 00292CC8 7C 7A 22 14 */ add r3, r26, r4
+/* 8029706C 00292CCC 38 03 00 10 */ addi r0, r3, 0x10
+/* 80297070 00292CD0 7C 1D 00 40 */ cmplw r29, r0
+/* 80297074 00292CD4 40 81 00 0C */ ble lbl_80297080
+lbl_80297078:
+/* 80297078 00292CD8 38 60 00 00 */ li r3, 0
+/* 8029707C 00292CDC 48 00 01 30 */ b lbl_802971AC
+lbl_80297080:
+/* 80297080 00292CE0 80 A7 00 08 */ lwz r5, 8(r7)
+/* 80297084 00292CE4 7C 67 22 14 */ add r3, r7, r4
+/* 80297088 00292CE8 A0 07 00 02 */ lhz r0, 2(r7)
+/* 8029708C 00292CEC 38 C3 00 10 */ addi r6, r3, 0x10
+/* 80297090 00292CF0 2C 05 00 00 */ cmpwi r5, 0
+/* 80297094 00292CF4 80 87 00 0C */ lwz r4, 0xc(r7)
+/* 80297098 00292CF8 54 00 C6 7E */ rlwinm r0, r0, 0x18, 0x19, 0x1f
+/* 8029709C 00292CFC 7C 60 38 50 */ subf r3, r0, r7
+/* 802970A0 00292D00 41 82 00 0C */ beq lbl_802970AC
+/* 802970A4 00292D04 90 85 00 0C */ stw r4, 0xc(r5)
+/* 802970A8 00292D08 48 00 00 08 */ b lbl_802970B0
+lbl_802970AC:
+/* 802970AC 00292D0C 90 9F 00 00 */ stw r4, 0(r31)
+lbl_802970B0:
+/* 802970B0 00292D10 2C 04 00 00 */ cmpwi r4, 0
+/* 802970B4 00292D14 41 82 00 0C */ beq lbl_802970C0
+/* 802970B8 00292D18 90 A4 00 08 */ stw r5, 8(r4)
+/* 802970BC 00292D1C 48 00 00 08 */ b lbl_802970C4
+lbl_802970C0:
+/* 802970C0 00292D20 90 BF 00 04 */ stw r5, 4(r31)
+lbl_802970C4:
+/* 802970C4 00292D24 7C FD E2 14 */ add r7, r29, r28
+/* 802970C8 00292D28 7C 07 30 50 */ subf r0, r7, r6
+/* 802970CC 00292D2C 28 00 00 10 */ cmplwi r0, 0x10
+/* 802970D0 00292D30 40 80 00 08 */ bge lbl_802970D8
+/* 802970D4 00292D34 7C C7 33 78 */ mr r7, r6
+lbl_802970D8:
+/* 802970D8 00292D38 7C 07 30 50 */ subf r0, r7, r6
+/* 802970DC 00292D3C 7C 9C 38 50 */ subf r4, r28, r7
+/* 802970E0 00292D40 28 00 00 10 */ cmplwi r0, 0x10
+/* 802970E4 00292D44 90 9E 00 04 */ stw r4, 4(r30)
+/* 802970E8 00292D48 41 80 00 5C */ blt lbl_80297144
+/* 802970EC 00292D4C 38 80 46 52 */ li r4, 0x4652
+/* 802970F0 00292D50 38 07 00 10 */ addi r0, r7, 0x10
+/* 802970F4 00292D54 B0 87 00 00 */ sth r4, 0(r7)
+/* 802970F8 00292D58 38 80 00 00 */ li r4, 0
+/* 802970FC 00292D5C 7C 00 30 50 */ subf r0, r0, r6
+/* 80297100 00292D60 2C 05 00 00 */ cmpwi r5, 0
+/* 80297104 00292D64 B0 87 00 02 */ sth r4, 2(r7)
+/* 80297108 00292D68 90 07 00 04 */ stw r0, 4(r7)
+/* 8029710C 00292D6C 90 87 00 0C */ stw r4, 0xc(r7)
+/* 80297110 00292D70 90 A7 00 08 */ stw r5, 8(r7)
+/* 80297114 00292D74 41 82 00 10 */ beq lbl_80297124
+/* 80297118 00292D78 80 85 00 0C */ lwz r4, 0xc(r5)
+/* 8029711C 00292D7C 90 E5 00 0C */ stw r7, 0xc(r5)
+/* 80297120 00292D80 48 00 00 0C */ b lbl_8029712C
+lbl_80297124:
+/* 80297124 00292D84 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80297128 00292D88 90 FF 00 00 */ stw r7, 0(r31)
+lbl_8029712C:
+/* 8029712C 00292D8C 2C 04 00 00 */ cmpwi r4, 0
+/* 80297130 00292D90 90 87 00 0C */ stw r4, 0xc(r7)
+/* 80297134 00292D94 41 82 00 0C */ beq lbl_80297140
+/* 80297138 00292D98 90 E4 00 08 */ stw r7, 8(r4)
+/* 8029713C 00292D9C 48 00 00 08 */ b lbl_80297144
+lbl_80297140:
+/* 80297140 00292DA0 90 FF 00 04 */ stw r7, 4(r31)
+lbl_80297144:
+/* 80297144 00292DA4 80 1B 00 38 */ lwz r0, 0x38(r27)
+/* 80297148 00292DA8 7C A3 38 50 */ subf r5, r3, r7
+/* 8029714C 00292DAC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80297150 00292DB0 41 82 00 44 */ beq lbl_80297194
+/* 80297154 00292DB4 38 80 00 00 */ li r4, 0
+/* 80297158 00292DB8 4B D6 CF AD */ bl memset
+/* 8029715C 00292DBC 48 00 00 38 */ b lbl_80297194
+lbl_80297160:
+/* 80297160 00292DC0 7C 1D E2 14 */ add r0, r29, r28
+/* 80297164 00292DC4 7F E3 FB 78 */ mr r3, r31
+/* 80297168 00292DC8 90 01 00 08 */ stw r0, 8(r1)
+/* 8029716C 00292DCC 38 81 00 08 */ addi r4, r1, 8
+/* 80297170 00292DD0 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80297174 00292DD4 7C BE 02 14 */ add r5, r30, r0
+/* 80297178 00292DD8 38 05 00 10 */ addi r0, r5, 0x10
+/* 8029717C 00292DDC 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80297180 00292DE0 93 BE 00 04 */ stw r29, 4(r30)
+/* 80297184 00292DE4 4B FF FB 5D */ bl RecycleRegion_
+/* 80297188 00292DE8 2C 03 00 00 */ cmpwi r3, 0
+/* 8029718C 00292DEC 40 82 00 08 */ bne lbl_80297194
+/* 80297190 00292DF0 93 5E 00 04 */ stw r26, 4(r30)
+lbl_80297194:
+/* 80297194 00292DF4 80 1B 00 38 */ lwz r0, 0x38(r27)
+/* 80297198 00292DF8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 8029719C 00292DFC 41 82 00 0C */ beq lbl_802971A8
+/* 802971A0 00292E00 38 7B 00 20 */ addi r3, r27, 0x20
+/* 802971A4 00292E04 4B FD 88 81 */ bl OSUnlockMutex
+lbl_802971A8:
+/* 802971A8 00292E08 80 7E 00 04 */ lwz r3, 4(r30)
+lbl_802971AC:
+/* 802971AC 00292E0C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802971B0 00292E10 4B F2 FF C1 */ bl _restgpr_26
+/* 802971B4 00292E14 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802971B8 00292E18 7C 08 03 A6 */ mtlr r0
+/* 802971BC 00292E1C 38 21 00 30 */ addi r1, r1, 0x30
+/* 802971C0 00292E20 4E 80 00 20 */ blr
+
+.global MEMFreeToExpHeap
+MEMFreeToExpHeap:
+/* 802971C4 00292E24 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802971C8 00292E28 7C 08 02 A6 */ mflr r0
+/* 802971CC 00292E2C 2C 04 00 00 */ cmpwi r4, 0
+/* 802971D0 00292E30 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802971D4 00292E34 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802971D8 00292E38 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802971DC 00292E3C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802971E0 00292E40 7C 7D 1B 78 */ mr r29, r3
+/* 802971E4 00292E44 41 82 00 90 */ beq lbl_80297274
+/* 802971E8 00292E48 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 802971EC 00292E4C 3B E3 00 3C */ addi r31, r3, 0x3c
+/* 802971F0 00292E50 3B C4 FF F0 */ addi r30, r4, -16
+/* 802971F4 00292E54 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802971F8 00292E58 41 82 00 0C */ beq lbl_80297204
+/* 802971FC 00292E5C 38 63 00 20 */ addi r3, r3, 0x20
+/* 80297200 00292E60 4B FD 87 49 */ bl OSLockMutex
+lbl_80297204:
+/* 80297204 00292E64 A0 1E 00 02 */ lhz r0, 2(r30)
+/* 80297208 00292E68 54 00 C6 7E */ rlwinm r0, r0, 0x18, 0x19, 0x1f
+/* 8029720C 00292E6C 7C 00 F0 50 */ subf r0, r0, r30
+/* 80297210 00292E70 90 01 00 08 */ stw r0, 8(r1)
+/* 80297214 00292E74 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80297218 00292E78 7C 7E 02 14 */ add r3, r30, r0
+/* 8029721C 00292E7C 38 03 00 10 */ addi r0, r3, 0x10
+/* 80297220 00292E80 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80297224 00292E84 80 9E 00 08 */ lwz r4, 8(r30)
+/* 80297228 00292E88 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 8029722C 00292E8C 2C 04 00 00 */ cmpwi r4, 0
+/* 80297230 00292E90 41 82 00 0C */ beq lbl_8029723C
+/* 80297234 00292E94 90 64 00 0C */ stw r3, 0xc(r4)
+/* 80297238 00292E98 48 00 00 08 */ b lbl_80297240
+lbl_8029723C:
+/* 8029723C 00292E9C 90 7F 00 08 */ stw r3, 8(r31)
+lbl_80297240:
+/* 80297240 00292EA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80297244 00292EA4 41 82 00 0C */ beq lbl_80297250
+/* 80297248 00292EA8 90 83 00 08 */ stw r4, 8(r3)
+/* 8029724C 00292EAC 48 00 00 08 */ b lbl_80297254
+lbl_80297250:
+/* 80297250 00292EB0 90 9F 00 0C */ stw r4, 0xc(r31)
+lbl_80297254:
+/* 80297254 00292EB4 7F E3 FB 78 */ mr r3, r31
+/* 80297258 00292EB8 38 81 00 08 */ addi r4, r1, 8
+/* 8029725C 00292EBC 4B FF FA 85 */ bl RecycleRegion_
+/* 80297260 00292EC0 80 1D 00 38 */ lwz r0, 0x38(r29)
+/* 80297264 00292EC4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80297268 00292EC8 41 82 00 0C */ beq lbl_80297274
+/* 8029726C 00292ECC 38 7D 00 20 */ addi r3, r29, 0x20
+/* 80297270 00292ED0 4B FD 87 B5 */ bl OSUnlockMutex
+lbl_80297274:
+/* 80297274 00292ED4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80297278 00292ED8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8029727C 00292EDC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80297280 00292EE0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80297284 00292EE4 7C 08 03 A6 */ mtlr r0
+/* 80297288 00292EE8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029728C 00292EEC 4E 80 00 20 */ blr
+
+.global MEMGetTotalFreeSizeForExpHeap
+MEMGetTotalFreeSizeForExpHeap:
+/* 80297290 00292EF0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80297294 00292EF4 7C 08 02 A6 */ mflr r0
+/* 80297298 00292EF8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029729C 00292EFC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802972A0 00292F00 3B E0 00 00 */ li r31, 0
+/* 802972A4 00292F04 93 C1 00 08 */ stw r30, 8(r1)
+/* 802972A8 00292F08 7C 7E 1B 78 */ mr r30, r3
+/* 802972AC 00292F0C 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 802972B0 00292F10 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802972B4 00292F14 41 82 00 0C */ beq lbl_802972C0
+/* 802972B8 00292F18 38 63 00 20 */ addi r3, r3, 0x20
+/* 802972BC 00292F1C 4B FD 86 8D */ bl OSLockMutex
+lbl_802972C0:
+/* 802972C0 00292F20 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 802972C4 00292F24 48 00 00 10 */ b lbl_802972D4
+lbl_802972C8:
+/* 802972C8 00292F28 80 03 00 04 */ lwz r0, 4(r3)
+/* 802972CC 00292F2C 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 802972D0 00292F30 7F FF 02 14 */ add r31, r31, r0
+lbl_802972D4:
+/* 802972D4 00292F34 2C 03 00 00 */ cmpwi r3, 0
+/* 802972D8 00292F38 40 82 FF F0 */ bne lbl_802972C8
+/* 802972DC 00292F3C 80 1E 00 38 */ lwz r0, 0x38(r30)
+/* 802972E0 00292F40 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802972E4 00292F44 41 82 00 0C */ beq lbl_802972F0
+/* 802972E8 00292F48 38 7E 00 20 */ addi r3, r30, 0x20
+/* 802972EC 00292F4C 4B FD 87 39 */ bl OSUnlockMutex
+lbl_802972F0:
+/* 802972F0 00292F50 7F E3 FB 78 */ mr r3, r31
+/* 802972F4 00292F54 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802972F8 00292F58 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802972FC 00292F5C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80297300 00292F60 7C 08 03 A6 */ mtlr r0
+/* 80297304 00292F64 38 21 00 10 */ addi r1, r1, 0x10
+/* 80297308 00292F68 4E 80 00 20 */ blr
+
+.global MEMSetGroupIDForExpHeap
+MEMSetGroupIDForExpHeap:
+/* 8029730C 00292F6C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80297310 00292F70 7C 08 02 A6 */ mflr r0
+/* 80297314 00292F74 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80297318 00292F78 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8029731C 00292F7C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80297320 00292F80 7C 9E 23 78 */ mr r30, r4
+/* 80297324 00292F84 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80297328 00292F88 7C 7D 1B 78 */ mr r29, r3
+/* 8029732C 00292F8C 4B FD 74 31 */ bl OSDisableInterrupts
+/* 80297330 00292F90 A3 FD 00 4C */ lhz r31, 0x4c(r29)
+/* 80297334 00292F94 B3 DD 00 4C */ sth r30, 0x4c(r29)
+/* 80297338 00292F98 4B FD 74 4D */ bl OSRestoreInterrupts
+/* 8029733C 00292F9C 7F E3 FB 78 */ mr r3, r31
+/* 80297340 00292FA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80297344 00292FA4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80297348 00292FA8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8029734C 00292FAC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80297350 00292FB0 7C 08 03 A6 */ mtlr r0
+/* 80297354 00292FB4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80297358 00292FB8 4E 80 00 20 */ blr
+
+.global MEMVisitAllocatedForExpHeap
+MEMVisitAllocatedForExpHeap:
+/* 8029735C 00292FBC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80297360 00292FC0 7C 08 02 A6 */ mflr r0
+/* 80297364 00292FC4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80297368 00292FC8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8029736C 00292FCC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80297370 00292FD0 7C BE 2B 78 */ mr r30, r5
+/* 80297374 00292FD4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80297378 00292FD8 7C 9D 23 78 */ mr r29, r4
+/* 8029737C 00292FDC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80297380 00292FE0 7C 7C 1B 78 */ mr r28, r3
+/* 80297384 00292FE4 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 80297388 00292FE8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 8029738C 00292FEC 41 82 00 0C */ beq lbl_80297398
+/* 80297390 00292FF0 38 63 00 20 */ addi r3, r3, 0x20
+/* 80297394 00292FF4 4B FD 85 B5 */ bl OSLockMutex
+lbl_80297398:
+/* 80297398 00292FF8 83 FC 00 44 */ lwz r31, 0x44(r28)
+/* 8029739C 00292FFC 48 00 00 20 */ b lbl_802973BC
+lbl_802973A0:
+/* 802973A0 00293000 7F AC EB 78 */ mr r12, r29
+/* 802973A4 00293004 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802973A8 00293008 7F 84 E3 78 */ mr r4, r28
+/* 802973AC 0029300C 7F C5 F3 78 */ mr r5, r30
+/* 802973B0 00293010 83 FF 00 0C */ lwz r31, 0xc(r31)
+/* 802973B4 00293014 7D 89 03 A6 */ mtctr r12
+/* 802973B8 00293018 4E 80 04 21 */ bctrl
+lbl_802973BC:
+/* 802973BC 0029301C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802973C0 00293020 40 82 FF E0 */ bne lbl_802973A0
+/* 802973C4 00293024 80 1C 00 38 */ lwz r0, 0x38(r28)
+/* 802973C8 00293028 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802973CC 0029302C 41 82 00 0C */ beq lbl_802973D8
+/* 802973D0 00293030 38 7C 00 20 */ addi r3, r28, 0x20
+/* 802973D4 00293034 4B FD 86 51 */ bl OSUnlockMutex
+lbl_802973D8:
+/* 802973D8 00293038 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802973DC 0029303C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802973E0 00293040 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802973E4 00293044 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802973E8 00293048 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802973EC 0029304C 7C 08 03 A6 */ mtlr r0
+/* 802973F0 00293050 38 21 00 20 */ addi r1, r1, 0x20
+/* 802973F4 00293054 4E 80 00 20 */ blr
+
+.global MEMGetSizeForMBlockExpHeap
+MEMGetSizeForMBlockExpHeap:
+/* 802973F8 00293058 80 63 FF F4 */ lwz r3, -0xc(r3)
+/* 802973FC 0029305C 4E 80 00 20 */ blr
+
+.global MEMGetGroupIDForMBlockExpHeap
+MEMGetGroupIDForMBlockExpHeap:
+/* 80297400 00293060 A0 03 FF F2 */ lhz r0, -0xe(r3)
+/* 80297404 00293064 54 03 06 3E */ clrlwi r3, r0, 0x18
+/* 80297408 00293068 4E 80 00 20 */ blr
diff --git a/asm/SDK/MEM/mem_frameHeap.s b/asm/SDK/MEM/mem_frameHeap.s
new file mode 100644
index 0000000..5cca960
--- /dev/null
+++ b/asm/SDK/MEM/mem_frameHeap.s
@@ -0,0 +1,225 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global MEMCreateFrmHeapEx
+MEMCreateFrmHeapEx:
+/* 8029740C 0029306C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80297410 00293070 7C 08 02 A6 */ mflr r0
+/* 80297414 00293074 7C 84 1A 14 */ add r4, r4, r3
+/* 80297418 00293078 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029741C 0029307C 38 03 00 03 */ addi r0, r3, 3
+/* 80297420 00293080 54 86 00 3A */ rlwinm r6, r4, 0, 0, 0x1d
+/* 80297424 00293084 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80297428 00293088 54 1F 00 3A */ rlwinm r31, r0, 0, 0, 0x1d
+/* 8029742C 0029308C 7C 1F 30 40 */ cmplw r31, r6
+/* 80297430 00293090 41 81 00 10 */ bgt lbl_80297440
+/* 80297434 00293094 7C 1F 30 50 */ subf r0, r31, r6
+/* 80297438 00293098 28 00 00 48 */ cmplwi r0, 0x48
+/* 8029743C 0029309C 40 80 00 0C */ bge lbl_80297448
+lbl_80297440:
+/* 80297440 002930A0 38 60 00 00 */ li r3, 0
+/* 80297444 002930A4 48 00 00 38 */ b lbl_8029747C
+lbl_80297448:
+/* 80297448 002930A8 3C 80 46 52 */ lis r4, 0x46524D48@ha
+/* 8029744C 002930AC 7C A7 2B 78 */ mr r7, r5
+/* 80297450 002930B0 7F E3 FB 78 */ mr r3, r31
+/* 80297454 002930B4 38 BF 00 48 */ addi r5, r31, 0x48
+/* 80297458 002930B8 38 84 4D 48 */ addi r4, r4, 0x46524D48@l
+/* 8029745C 002930BC 4B FF F1 B1 */ bl MEMiInitHeapHead
+/* 80297460 002930C0 80 9F 00 18 */ lwz r4, 0x18(r31)
+/* 80297464 002930C4 38 00 00 00 */ li r0, 0
+/* 80297468 002930C8 7F E3 FB 78 */ mr r3, r31
+/* 8029746C 002930CC 90 9F 00 3C */ stw r4, 0x3c(r31)
+/* 80297470 002930D0 80 9F 00 1C */ lwz r4, 0x1c(r31)
+/* 80297474 002930D4 90 9F 00 40 */ stw r4, 0x40(r31)
+/* 80297478 002930D8 90 1F 00 44 */ stw r0, 0x44(r31)
+lbl_8029747C:
+/* 8029747C 002930DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80297480 002930E0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80297484 002930E4 7C 08 03 A6 */ mtlr r0
+/* 80297488 002930E8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029748C 002930EC 4E 80 00 20 */ blr
+
+.global MEMDestroyFrmHeap
+MEMDestroyFrmHeap:
+/* 80297490 002930F0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80297494 002930F4 7C 08 02 A6 */ mflr r0
+/* 80297498 002930F8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029749C 002930FC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802974A0 00293100 7C 7F 1B 78 */ mr r31, r3
+/* 802974A4 00293104 4B FF F3 29 */ bl MEMiFinalizeHeap
+/* 802974A8 00293108 7F E3 FB 78 */ mr r3, r31
+/* 802974AC 0029310C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802974B0 00293110 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802974B4 00293114 7C 08 03 A6 */ mtlr r0
+/* 802974B8 00293118 38 21 00 10 */ addi r1, r1, 0x10
+/* 802974BC 0029311C 4E 80 00 20 */ blr
+
+.global MEMAllocFromFrmHeapEx
+MEMAllocFromFrmHeapEx:
+/* 802974C0 00293120 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802974C4 00293124 7C 08 02 A6 */ mflr r0
+/* 802974C8 00293128 2C 04 00 00 */ cmpwi r4, 0
+/* 802974CC 0029312C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802974D0 00293130 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802974D4 00293134 7C 7F 1B 78 */ mr r31, r3
+/* 802974D8 00293138 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802974DC 0029313C 7C 9E 23 78 */ mr r30, r4
+/* 802974E0 00293140 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802974E4 00293144 7C BD 2B 78 */ mr r29, r5
+/* 802974E8 00293148 40 82 00 08 */ bne lbl_802974F0
+/* 802974EC 0029314C 3B C0 00 01 */ li r30, 1
+lbl_802974F0:
+/* 802974F0 00293150 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 802974F4 00293154 38 9E 00 03 */ addi r4, r30, 3
+/* 802974F8 00293158 54 9E 00 3A */ rlwinm r30, r4, 0, 0, 0x1d
+/* 802974FC 0029315C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80297500 00293160 41 82 00 0C */ beq lbl_8029750C
+/* 80297504 00293164 38 63 00 20 */ addi r3, r3, 0x20
+/* 80297508 00293168 4B FD 84 41 */ bl OSLockMutex
+lbl_8029750C:
+/* 8029750C 0029316C 2C 1D 00 00 */ cmpwi r29, 0
+/* 80297510 00293170 41 80 00 54 */ blt lbl_80297564
+/* 80297514 00293174 80 7F 00 3C */ lwz r3, 0x3c(r31)
+/* 80297518 00293178 38 1D FF FF */ addi r0, r29, -1
+/* 8029751C 0029317C 7C 05 00 F8 */ nor r5, r0, r0
+/* 80297520 00293180 80 1F 00 40 */ lwz r0, 0x40(r31)
+/* 80297524 00293184 7C 9D 1A 14 */ add r4, r29, r3
+/* 80297528 00293188 38 84 FF FF */ addi r4, r4, -1
+/* 8029752C 0029318C 7C BD 20 38 */ and r29, r5, r4
+/* 80297530 00293190 7F DE EA 14 */ add r30, r30, r29
+/* 80297534 00293194 7C 1E 00 40 */ cmplw r30, r0
+/* 80297538 00293198 40 81 00 0C */ ble lbl_80297544
+/* 8029753C 0029319C 3B A0 00 00 */ li r29, 0
+/* 80297540 002931A0 48 00 00 6C */ b lbl_802975AC
+lbl_80297544:
+/* 80297544 002931A4 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 80297548 002931A8 7C A3 F0 50 */ subf r5, r3, r30
+/* 8029754C 002931AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80297550 002931B0 41 82 00 0C */ beq lbl_8029755C
+/* 80297554 002931B4 38 80 00 00 */ li r4, 0
+/* 80297558 002931B8 4B D6 CB AD */ bl memset
+lbl_8029755C:
+/* 8029755C 002931BC 93 DF 00 3C */ stw r30, 0x3c(r31)
+/* 80297560 002931C0 48 00 00 4C */ b lbl_802975AC
+lbl_80297564:
+/* 80297564 002931C4 80 BF 00 40 */ lwz r5, 0x40(r31)
+/* 80297568 002931C8 20 1D FF FF */ subfic r0, r29, -1
+/* 8029756C 002931CC 7C 04 00 F8 */ nor r4, r0, r0
+/* 80297570 002931D0 80 1F 00 3C */ lwz r0, 0x3c(r31)
+/* 80297574 002931D4 7C 7E 28 50 */ subf r3, r30, r5
+/* 80297578 002931D8 7C 9D 18 38 */ and r29, r4, r3
+/* 8029757C 002931DC 7C 1D 00 40 */ cmplw r29, r0
+/* 80297580 002931E0 40 80 00 0C */ bge lbl_8029758C
+/* 80297584 002931E4 3B A0 00 00 */ li r29, 0
+/* 80297588 002931E8 48 00 00 24 */ b lbl_802975AC
+lbl_8029758C:
+/* 8029758C 002931EC 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 80297590 002931F0 7C BD 28 50 */ subf r5, r29, r5
+/* 80297594 002931F4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80297598 002931F8 41 82 00 10 */ beq lbl_802975A8
+/* 8029759C 002931FC 7F A3 EB 78 */ mr r3, r29
+/* 802975A0 00293200 38 80 00 00 */ li r4, 0
+/* 802975A4 00293204 4B D6 CB 61 */ bl memset
+lbl_802975A8:
+/* 802975A8 00293208 93 BF 00 40 */ stw r29, 0x40(r31)
+lbl_802975AC:
+/* 802975AC 0029320C 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 802975B0 00293210 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802975B4 00293214 41 82 00 0C */ beq lbl_802975C0
+/* 802975B8 00293218 38 7F 00 20 */ addi r3, r31, 0x20
+/* 802975BC 0029321C 4B FD 84 69 */ bl OSUnlockMutex
+lbl_802975C0:
+/* 802975C0 00293220 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802975C4 00293224 7F A3 EB 78 */ mr r3, r29
+/* 802975C8 00293228 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802975CC 0029322C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802975D0 00293230 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802975D4 00293234 7C 08 03 A6 */ mtlr r0
+/* 802975D8 00293238 38 21 00 20 */ addi r1, r1, 0x20
+/* 802975DC 0029323C 4E 80 00 20 */ blr
+
+.global MEMFreeToFrmHeap
+MEMFreeToFrmHeap:
+/* 802975E0 00293240 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802975E4 00293244 7C 08 02 A6 */ mflr r0
+/* 802975E8 00293248 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802975EC 0029324C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802975F0 00293250 7C 9F 23 78 */ mr r31, r4
+/* 802975F4 00293254 93 C1 00 08 */ stw r30, 8(r1)
+/* 802975F8 00293258 7C 7E 1B 78 */ mr r30, r3
+/* 802975FC 0029325C 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 80297600 00293260 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80297604 00293264 41 82 00 0C */ beq lbl_80297610
+/* 80297608 00293268 38 63 00 20 */ addi r3, r3, 0x20
+/* 8029760C 0029326C 4B FD 83 3D */ bl OSLockMutex
+lbl_80297610:
+/* 80297610 00293270 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 80297614 00293274 41 82 00 14 */ beq lbl_80297628
+/* 80297618 00293278 80 7E 00 18 */ lwz r3, 0x18(r30)
+/* 8029761C 0029327C 38 00 00 00 */ li r0, 0
+/* 80297620 00293280 90 1E 00 44 */ stw r0, 0x44(r30)
+/* 80297624 00293284 90 7E 00 3C */ stw r3, 0x3c(r30)
+lbl_80297628:
+/* 80297628 00293288 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
+/* 8029762C 0029328C 41 82 00 28 */ beq lbl_80297654
+/* 80297630 00293290 80 7E 00 44 */ lwz r3, 0x44(r30)
+/* 80297634 00293294 48 00 00 10 */ b lbl_80297644
+lbl_80297638:
+/* 80297638 00293298 80 1E 00 1C */ lwz r0, 0x1c(r30)
+/* 8029763C 0029329C 90 03 00 08 */ stw r0, 8(r3)
+/* 80297640 002932A0 80 63 00 0C */ lwz r3, 0xc(r3)
+lbl_80297644:
+/* 80297644 002932A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80297648 002932A8 40 82 FF F0 */ bne lbl_80297638
+/* 8029764C 002932AC 80 1E 00 1C */ lwz r0, 0x1c(r30)
+/* 80297650 002932B0 90 1E 00 40 */ stw r0, 0x40(r30)
+lbl_80297654:
+/* 80297654 002932B4 80 1E 00 38 */ lwz r0, 0x38(r30)
+/* 80297658 002932B8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 8029765C 002932BC 41 82 00 0C */ beq lbl_80297668
+/* 80297660 002932C0 38 7E 00 20 */ addi r3, r30, 0x20
+/* 80297664 002932C4 4B FD 83 C1 */ bl OSUnlockMutex
+lbl_80297668:
+/* 80297668 002932C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029766C 002932CC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80297670 002932D0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80297674 002932D4 7C 08 03 A6 */ mtlr r0
+/* 80297678 002932D8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029767C 002932DC 4E 80 00 20 */ blr
+
+.global MEMGetAllocatableSizeForFrmHeapEx
+MEMGetAllocatableSizeForFrmHeapEx:
+/* 80297680 002932E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80297684 002932E4 7C 08 02 A6 */ mflr r0
+/* 80297688 002932E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029768C 002932EC 7C 80 FE 70 */ srawi r0, r4, 0x1f
+/* 80297690 002932F0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80297694 002932F4 7C 1F 22 78 */ xor r31, r0, r4
+/* 80297698 002932F8 7F E0 F8 50 */ subf r31, r0, r31
+/* 8029769C 002932FC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802976A0 00293300 7C 7E 1B 78 */ mr r30, r3
+/* 802976A4 00293304 4B FD 70 B9 */ bl OSDisableInterrupts
+/* 802976A8 00293308 80 1E 00 3C */ lwz r0, 0x3c(r30)
+/* 802976AC 0029330C 38 9F FF FF */ addi r4, r31, -1
+/* 802976B0 00293310 7C 85 20 F8 */ nor r5, r4, r4
+/* 802976B4 00293314 80 DE 00 40 */ lwz r6, 0x40(r30)
+/* 802976B8 00293318 7C 9F 02 14 */ add r4, r31, r0
+/* 802976BC 0029331C 38 04 FF FF */ addi r0, r4, -1
+/* 802976C0 00293320 7C A0 00 38 */ and r0, r5, r0
+/* 802976C4 00293324 7C 00 30 40 */ cmplw r0, r6
+/* 802976C8 00293328 40 81 00 0C */ ble lbl_802976D4
+/* 802976CC 0029332C 3B E0 00 00 */ li r31, 0
+/* 802976D0 00293330 48 00 00 08 */ b lbl_802976D8
+lbl_802976D4:
+/* 802976D4 00293334 7F E0 30 50 */ subf r31, r0, r6
+lbl_802976D8:
+/* 802976D8 00293338 4B FD 70 AD */ bl OSRestoreInterrupts
+/* 802976DC 0029333C 7F E3 FB 78 */ mr r3, r31
+/* 802976E0 00293340 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802976E4 00293344 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802976E8 00293348 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802976EC 0029334C 7C 08 03 A6 */ mtlr r0
+/* 802976F0 00293350 38 21 00 10 */ addi r1, r1, 0x10
+/* 802976F4 00293354 4E 80 00 20 */ blr
diff --git a/asm/SDK/MEM/mem_heapCommon.s b/asm/SDK/MEM/mem_heapCommon.s
new file mode 100644
index 0000000..0d05b07
--- /dev/null
+++ b/asm/SDK/MEM/mem_heapCommon.s
@@ -0,0 +1,334 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global FindContainHeap_
+FindContainHeap_:
+/* 802964CC 0029212C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802964D0 00292130 7C 08 02 A6 */ mflr r0
+/* 802964D4 00292134 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802964D8 00292138 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802964DC 0029213C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802964E0 00292140 7C 7E 1B 78 */ mr r30, r3
+/* 802964E4 00292144 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802964E8 00292148 3B A0 00 00 */ li r29, 0
+/* 802964EC 0029214C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802964F0 00292150 7C 9C 23 78 */ mr r28, r4
+/* 802964F4 00292154 48 00 00 DC */ b lbl_802965D0
+lbl_802964F8:
+/* 802964F8 00292158 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 802964FC 0029215C 7C 00 E0 40 */ cmplw r0, r28
+/* 80296500 00292160 41 81 00 D0 */ bgt lbl_802965D0
+/* 80296504 00292164 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80296508 00292168 7C 1C 00 40 */ cmplw r28, r0
+/* 8029650C 0029216C 40 80 00 C4 */ bge lbl_802965D0
+/* 80296510 00292170 3B E0 00 00 */ li r31, 0
+/* 80296514 00292174 48 00 00 8C */ b lbl_802965A0
+lbl_80296518:
+/* 80296518 00292178 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8029651C 0029217C 7C 00 E0 40 */ cmplw r0, r28
+/* 80296520 00292180 41 81 00 80 */ bgt lbl_802965A0
+/* 80296524 00292184 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80296528 00292188 7C 1C 00 40 */ cmplw r28, r0
+/* 8029652C 0029218C 40 80 00 74 */ bge lbl_802965A0
+/* 80296530 00292190 3B C0 00 00 */ li r30, 0
+/* 80296534 00292194 48 00 00 3C */ b lbl_80296570
+lbl_80296538:
+/* 80296538 00292198 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8029653C 0029219C 7C 00 E0 40 */ cmplw r0, r28
+/* 80296540 002921A0 41 81 00 30 */ bgt lbl_80296570
+/* 80296544 002921A4 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80296548 002921A8 7C 1C 00 40 */ cmplw r28, r0
+/* 8029654C 002921AC 40 80 00 24 */ bge lbl_80296570
+/* 80296550 002921B0 7F 84 E3 78 */ mr r4, r28
+/* 80296554 002921B4 38 63 00 0C */ addi r3, r3, 0xc
+/* 80296558 002921B8 4B FF FF 75 */ bl FindContainHeap_
+/* 8029655C 002921BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80296560 002921C0 41 82 00 08 */ beq lbl_80296568
+/* 80296564 002921C4 48 00 00 28 */ b lbl_8029658C
+lbl_80296568:
+/* 80296568 002921C8 7F C3 F3 78 */ mr r3, r30
+/* 8029656C 002921CC 48 00 00 20 */ b lbl_8029658C
+lbl_80296570:
+/* 80296570 002921D0 7F C4 F3 78 */ mr r4, r30
+/* 80296574 002921D4 38 7F 00 0C */ addi r3, r31, 0xc
+/* 80296578 002921D8 48 00 12 F9 */ bl MEMGetNextListObject
+/* 8029657C 002921DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80296580 002921E0 7C 7E 1B 78 */ mr r30, r3
+/* 80296584 002921E4 40 82 FF B4 */ bne lbl_80296538
+/* 80296588 002921E8 38 60 00 00 */ li r3, 0
+lbl_8029658C:
+/* 8029658C 002921EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80296590 002921F0 41 82 00 08 */ beq lbl_80296598
+/* 80296594 002921F4 48 00 00 28 */ b lbl_802965BC
+lbl_80296598:
+/* 80296598 002921F8 7F E3 FB 78 */ mr r3, r31
+/* 8029659C 002921FC 48 00 00 20 */ b lbl_802965BC
+lbl_802965A0:
+/* 802965A0 00292200 7F E4 FB 78 */ mr r4, r31
+/* 802965A4 00292204 38 7D 00 0C */ addi r3, r29, 0xc
+/* 802965A8 00292208 48 00 12 C9 */ bl MEMGetNextListObject
+/* 802965AC 0029220C 2C 03 00 00 */ cmpwi r3, 0
+/* 802965B0 00292210 7C 7F 1B 78 */ mr r31, r3
+/* 802965B4 00292214 40 82 FF 64 */ bne lbl_80296518
+/* 802965B8 00292218 38 60 00 00 */ li r3, 0
+lbl_802965BC:
+/* 802965BC 0029221C 2C 03 00 00 */ cmpwi r3, 0
+/* 802965C0 00292220 41 82 00 08 */ beq lbl_802965C8
+/* 802965C4 00292224 48 00 00 28 */ b lbl_802965EC
+lbl_802965C8:
+/* 802965C8 00292228 7F A3 EB 78 */ mr r3, r29
+/* 802965CC 0029222C 48 00 00 20 */ b lbl_802965EC
+lbl_802965D0:
+/* 802965D0 00292230 7F C3 F3 78 */ mr r3, r30
+/* 802965D4 00292234 7F A4 EB 78 */ mr r4, r29
+/* 802965D8 00292238 48 00 12 99 */ bl MEMGetNextListObject
+/* 802965DC 0029223C 2C 03 00 00 */ cmpwi r3, 0
+/* 802965E0 00292240 7C 7D 1B 78 */ mr r29, r3
+/* 802965E4 00292244 40 82 FF 14 */ bne lbl_802964F8
+/* 802965E8 00292248 38 60 00 00 */ li r3, 0
+lbl_802965EC:
+/* 802965EC 0029224C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802965F0 00292250 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802965F4 00292254 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802965F8 00292258 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802965FC 0029225C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80296600 00292260 7C 08 03 A6 */ mtlr r0
+/* 80296604 00292264 38 21 00 20 */ addi r1, r1, 0x20
+/* 80296608 00292268 4E 80 00 20 */ blr
+
+.global MEMiInitHeapHead
+MEMiInitHeapHead:
+/* 8029660C 0029226C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80296610 00292270 7C 08 02 A6 */ mflr r0
+/* 80296614 00292274 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80296618 00292278 39 61 00 20 */ addi r11, r1, 0x20
+/* 8029661C 0029227C 4B F3 0B 0D */ bl _savegpr_27
+/* 80296620 00292280 38 00 00 00 */ li r0, 0
+/* 80296624 00292284 90 83 00 00 */ stw r4, 0(r3)
+/* 80296628 00292288 50 E0 06 3E */ rlwimi r0, r7, 0, 0x18, 0x1f
+/* 8029662C 0029228C 7C 7B 1B 78 */ mr r27, r3
+/* 80296630 00292290 90 A3 00 18 */ stw r5, 0x18(r3)
+/* 80296634 00292294 38 80 00 04 */ li r4, 4
+/* 80296638 00292298 90 C3 00 1C */ stw r6, 0x1c(r3)
+/* 8029663C 0029229C 90 03 00 38 */ stw r0, 0x38(r3)
+/* 80296640 002922A0 38 63 00 0C */ addi r3, r3, 0xc
+/* 80296644 002922A4 48 00 11 39 */ bl MEMInitList
+/* 80296648 002922A8 80 0D AC 48 */ lwz r0, lbl_8063FF08-_SDA_BASE_(r13)
+/* 8029664C 002922AC 2C 00 00 00 */ cmpwi r0, 0
+/* 80296650 002922B0 40 82 00 28 */ bne lbl_80296678
+/* 80296654 002922B4 3C 60 80 53 */ lis r3, lbl_805311C0@ha
+/* 80296658 002922B8 38 80 00 04 */ li r4, 4
+/* 8029665C 002922BC 38 63 11 C0 */ addi r3, r3, lbl_805311C0@l
+/* 80296660 002922C0 48 00 11 1D */ bl MEMInitList
+/* 80296664 002922C4 3C 60 80 53 */ lis r3, lbl_805311D0@ha
+/* 80296668 002922C8 38 63 11 D0 */ addi r3, r3, lbl_805311D0@l
+/* 8029666C 002922CC 4B FD 92 A5 */ bl OSInitMutex
+/* 80296670 002922D0 38 00 00 01 */ li r0, 1
+/* 80296674 002922D4 90 0D AC 48 */ stw r0, lbl_8063FF08-_SDA_BASE_(r13)
+lbl_80296678:
+/* 80296678 002922D8 38 7B 00 20 */ addi r3, r27, 0x20
+/* 8029667C 002922DC 4B FD 92 95 */ bl OSInitMutex
+/* 80296680 002922E0 3C 60 80 53 */ lis r3, lbl_805311D0@ha
+/* 80296684 002922E4 38 63 11 D0 */ addi r3, r3, lbl_805311D0@l
+/* 80296688 002922E8 4B FD 92 C1 */ bl OSLockMutex
+/* 8029668C 002922EC 3F E0 80 53 */ lis r31, lbl_805311C0@ha
+/* 80296690 002922F0 3B C0 00 00 */ li r30, 0
+/* 80296694 002922F4 3B 9F 11 C0 */ addi r28, r31, lbl_805311C0@l
+/* 80296698 002922F8 48 00 00 DC */ b lbl_80296774
+lbl_8029669C:
+/* 8029669C 002922FC 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 802966A0 00292300 7C 00 D8 40 */ cmplw r0, r27
+/* 802966A4 00292304 41 81 00 D0 */ bgt lbl_80296774
+/* 802966A8 00292308 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 802966AC 0029230C 7C 1B 00 40 */ cmplw r27, r0
+/* 802966B0 00292310 40 80 00 C4 */ bge lbl_80296774
+/* 802966B4 00292314 3B E0 00 00 */ li r31, 0
+/* 802966B8 00292318 48 00 00 8C */ b lbl_80296744
+lbl_802966BC:
+/* 802966BC 0029231C 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 802966C0 00292320 7C 00 D8 40 */ cmplw r0, r27
+/* 802966C4 00292324 41 81 00 80 */ bgt lbl_80296744
+/* 802966C8 00292328 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 802966CC 0029232C 7C 1B 00 40 */ cmplw r27, r0
+/* 802966D0 00292330 40 80 00 74 */ bge lbl_80296744
+/* 802966D4 00292334 3B A0 00 00 */ li r29, 0
+/* 802966D8 00292338 48 00 00 3C */ b lbl_80296714
+lbl_802966DC:
+/* 802966DC 0029233C 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 802966E0 00292340 7C 00 D8 40 */ cmplw r0, r27
+/* 802966E4 00292344 41 81 00 30 */ bgt lbl_80296714
+/* 802966E8 00292348 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 802966EC 0029234C 7C 1B 00 40 */ cmplw r27, r0
+/* 802966F0 00292350 40 80 00 24 */ bge lbl_80296714
+/* 802966F4 00292354 7F 64 DB 78 */ mr r4, r27
+/* 802966F8 00292358 38 63 00 0C */ addi r3, r3, 0xc
+/* 802966FC 0029235C 4B FF FD D1 */ bl FindContainHeap_
+/* 80296700 00292360 2C 03 00 00 */ cmpwi r3, 0
+/* 80296704 00292364 41 82 00 08 */ beq lbl_8029670C
+/* 80296708 00292368 48 00 00 28 */ b lbl_80296730
+lbl_8029670C:
+/* 8029670C 0029236C 7F A3 EB 78 */ mr r3, r29
+/* 80296710 00292370 48 00 00 20 */ b lbl_80296730
+lbl_80296714:
+/* 80296714 00292374 7F A4 EB 78 */ mr r4, r29
+/* 80296718 00292378 38 7F 00 0C */ addi r3, r31, 0xc
+/* 8029671C 0029237C 48 00 11 55 */ bl MEMGetNextListObject
+/* 80296720 00292380 2C 03 00 00 */ cmpwi r3, 0
+/* 80296724 00292384 7C 7D 1B 78 */ mr r29, r3
+/* 80296728 00292388 40 82 FF B4 */ bne lbl_802966DC
+/* 8029672C 0029238C 38 60 00 00 */ li r3, 0
+lbl_80296730:
+/* 80296730 00292390 2C 03 00 00 */ cmpwi r3, 0
+/* 80296734 00292394 41 82 00 08 */ beq lbl_8029673C
+/* 80296738 00292398 48 00 00 28 */ b lbl_80296760
+lbl_8029673C:
+/* 8029673C 0029239C 7F E3 FB 78 */ mr r3, r31
+/* 80296740 002923A0 48 00 00 20 */ b lbl_80296760
+lbl_80296744:
+/* 80296744 002923A4 7F E4 FB 78 */ mr r4, r31
+/* 80296748 002923A8 38 7E 00 0C */ addi r3, r30, 0xc
+/* 8029674C 002923AC 48 00 11 25 */ bl MEMGetNextListObject
+/* 80296750 002923B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80296754 002923B4 7C 7F 1B 78 */ mr r31, r3
+/* 80296758 002923B8 40 82 FF 64 */ bne lbl_802966BC
+/* 8029675C 002923BC 38 60 00 00 */ li r3, 0
+lbl_80296760:
+/* 80296760 002923C0 2C 03 00 00 */ cmpwi r3, 0
+/* 80296764 002923C4 41 82 00 08 */ beq lbl_8029676C
+/* 80296768 002923C8 48 00 00 28 */ b lbl_80296790
+lbl_8029676C:
+/* 8029676C 002923CC 7F C3 F3 78 */ mr r3, r30
+/* 80296770 002923D0 48 00 00 20 */ b lbl_80296790
+lbl_80296774:
+/* 80296774 002923D4 7F C4 F3 78 */ mr r4, r30
+/* 80296778 002923D8 38 7F 11 C0 */ addi r3, r31, 0x11c0
+/* 8029677C 002923DC 48 00 10 F5 */ bl MEMGetNextListObject
+/* 80296780 002923E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80296784 002923E4 7C 7E 1B 78 */ mr r30, r3
+/* 80296788 002923E8 40 82 FF 14 */ bne lbl_8029669C
+/* 8029678C 002923EC 38 60 00 00 */ li r3, 0
+lbl_80296790:
+/* 80296790 002923F0 2C 03 00 00 */ cmpwi r3, 0
+/* 80296794 002923F4 41 82 00 08 */ beq lbl_8029679C
+/* 80296798 002923F8 3B 83 00 0C */ addi r28, r3, 0xc
+lbl_8029679C:
+/* 8029679C 002923FC 7F 83 E3 78 */ mr r3, r28
+/* 802967A0 00292400 7F 64 DB 78 */ mr r4, r27
+/* 802967A4 00292404 48 00 0F F1 */ bl MEMAppendListObject
+/* 802967A8 00292408 3C 60 80 53 */ lis r3, lbl_805311D0@ha
+/* 802967AC 0029240C 38 63 11 D0 */ addi r3, r3, lbl_805311D0@l
+/* 802967B0 00292410 4B FD 92 75 */ bl OSUnlockMutex
+/* 802967B4 00292414 39 61 00 20 */ addi r11, r1, 0x20
+/* 802967B8 00292418 4B F3 09 BD */ bl _restgpr_27
+/* 802967BC 0029241C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802967C0 00292420 7C 08 03 A6 */ mtlr r0
+/* 802967C4 00292424 38 21 00 20 */ addi r1, r1, 0x20
+/* 802967C8 00292428 4E 80 00 20 */ blr
+
+.global MEMiFinalizeHeap
+MEMiFinalizeHeap:
+/* 802967CC 0029242C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802967D0 00292430 7C 08 02 A6 */ mflr r0
+/* 802967D4 00292434 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802967D8 00292438 39 61 00 20 */ addi r11, r1, 0x20
+/* 802967DC 0029243C 4B F3 09 4D */ bl _savegpr_27
+/* 802967E0 00292440 3C 80 80 53 */ lis r4, lbl_805311D0@ha
+/* 802967E4 00292444 7C 7B 1B 78 */ mr r27, r3
+/* 802967E8 00292448 38 64 11 D0 */ addi r3, r4, lbl_805311D0@l
+/* 802967EC 0029244C 4B FD 91 5D */ bl OSLockMutex
+/* 802967F0 00292450 3F E0 80 53 */ lis r31, lbl_805311C0@ha
+/* 802967F4 00292454 3B C0 00 00 */ li r30, 0
+/* 802967F8 00292458 3B 9F 11 C0 */ addi r28, r31, lbl_805311C0@l
+/* 802967FC 0029245C 48 00 00 DC */ b lbl_802968D8
+lbl_80296800:
+/* 80296800 00292460 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 80296804 00292464 7C 00 D8 40 */ cmplw r0, r27
+/* 80296808 00292468 41 81 00 D0 */ bgt lbl_802968D8
+/* 8029680C 0029246C 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80296810 00292470 7C 1B 00 40 */ cmplw r27, r0
+/* 80296814 00292474 40 80 00 C4 */ bge lbl_802968D8
+/* 80296818 00292478 3B E0 00 00 */ li r31, 0
+/* 8029681C 0029247C 48 00 00 8C */ b lbl_802968A8
+lbl_80296820:
+/* 80296820 00292480 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 80296824 00292484 7C 00 D8 40 */ cmplw r0, r27
+/* 80296828 00292488 41 81 00 80 */ bgt lbl_802968A8
+/* 8029682C 0029248C 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80296830 00292490 7C 1B 00 40 */ cmplw r27, r0
+/* 80296834 00292494 40 80 00 74 */ bge lbl_802968A8
+/* 80296838 00292498 3B A0 00 00 */ li r29, 0
+/* 8029683C 0029249C 48 00 00 3C */ b lbl_80296878
+lbl_80296840:
+/* 80296840 002924A0 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 80296844 002924A4 7C 00 D8 40 */ cmplw r0, r27
+/* 80296848 002924A8 41 81 00 30 */ bgt lbl_80296878
+/* 8029684C 002924AC 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80296850 002924B0 7C 1B 00 40 */ cmplw r27, r0
+/* 80296854 002924B4 40 80 00 24 */ bge lbl_80296878
+/* 80296858 002924B8 7F 64 DB 78 */ mr r4, r27
+/* 8029685C 002924BC 38 63 00 0C */ addi r3, r3, 0xc
+/* 80296860 002924C0 4B FF FC 6D */ bl FindContainHeap_
+/* 80296864 002924C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80296868 002924C8 41 82 00 08 */ beq lbl_80296870
+/* 8029686C 002924CC 48 00 00 28 */ b lbl_80296894
+lbl_80296870:
+/* 80296870 002924D0 7F A3 EB 78 */ mr r3, r29
+/* 80296874 002924D4 48 00 00 20 */ b lbl_80296894
+lbl_80296878:
+/* 80296878 002924D8 7F A4 EB 78 */ mr r4, r29
+/* 8029687C 002924DC 38 7F 00 0C */ addi r3, r31, 0xc
+/* 80296880 002924E0 48 00 0F F1 */ bl MEMGetNextListObject
+/* 80296884 002924E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80296888 002924E8 7C 7D 1B 78 */ mr r29, r3
+/* 8029688C 002924EC 40 82 FF B4 */ bne lbl_80296840
+/* 80296890 002924F0 38 60 00 00 */ li r3, 0
+lbl_80296894:
+/* 80296894 002924F4 2C 03 00 00 */ cmpwi r3, 0
+/* 80296898 002924F8 41 82 00 08 */ beq lbl_802968A0
+/* 8029689C 002924FC 48 00 00 28 */ b lbl_802968C4
+lbl_802968A0:
+/* 802968A0 00292500 7F E3 FB 78 */ mr r3, r31
+/* 802968A4 00292504 48 00 00 20 */ b lbl_802968C4
+lbl_802968A8:
+/* 802968A8 00292508 7F E4 FB 78 */ mr r4, r31
+/* 802968AC 0029250C 38 7E 00 0C */ addi r3, r30, 0xc
+/* 802968B0 00292510 48 00 0F C1 */ bl MEMGetNextListObject
+/* 802968B4 00292514 2C 03 00 00 */ cmpwi r3, 0
+/* 802968B8 00292518 7C 7F 1B 78 */ mr r31, r3
+/* 802968BC 0029251C 40 82 FF 64 */ bne lbl_80296820
+/* 802968C0 00292520 38 60 00 00 */ li r3, 0
+lbl_802968C4:
+/* 802968C4 00292524 2C 03 00 00 */ cmpwi r3, 0
+/* 802968C8 00292528 41 82 00 08 */ beq lbl_802968D0
+/* 802968CC 0029252C 48 00 00 28 */ b lbl_802968F4
+lbl_802968D0:
+/* 802968D0 00292530 7F C3 F3 78 */ mr r3, r30
+/* 802968D4 00292534 48 00 00 20 */ b lbl_802968F4
+lbl_802968D8:
+/* 802968D8 00292538 7F C4 F3 78 */ mr r4, r30
+/* 802968DC 0029253C 38 7F 11 C0 */ addi r3, r31, 0x11c0
+/* 802968E0 00292540 48 00 0F 91 */ bl MEMGetNextListObject
+/* 802968E4 00292544 2C 03 00 00 */ cmpwi r3, 0
+/* 802968E8 00292548 7C 7E 1B 78 */ mr r30, r3
+/* 802968EC 0029254C 40 82 FF 14 */ bne lbl_80296800
+/* 802968F0 00292550 38 60 00 00 */ li r3, 0
+lbl_802968F4:
+/* 802968F4 00292554 2C 03 00 00 */ cmpwi r3, 0
+/* 802968F8 00292558 41 82 00 08 */ beq lbl_80296900
+/* 802968FC 0029255C 3B 83 00 0C */ addi r28, r3, 0xc
+lbl_80296900:
+/* 80296900 00292560 7F 83 E3 78 */ mr r3, r28
+/* 80296904 00292564 7F 64 DB 78 */ mr r4, r27
+/* 80296908 00292568 48 00 0E FD */ bl MEMRemoveListObject
+/* 8029690C 0029256C 3C 60 80 53 */ lis r3, lbl_805311D0@ha
+/* 80296910 00292570 38 63 11 D0 */ addi r3, r3, lbl_805311D0@l
+/* 80296914 00292574 4B FD 91 11 */ bl OSUnlockMutex
+/* 80296918 00292578 38 00 00 00 */ li r0, 0
+/* 8029691C 0029257C 39 61 00 20 */ addi r11, r1, 0x20
+/* 80296920 00292580 90 1B 00 00 */ stw r0, 0(r27)
+/* 80296924 00292584 4B F3 08 51 */ bl _restgpr_27
+/* 80296928 00292588 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8029692C 0029258C 7C 08 03 A6 */ mtlr r0
+/* 80296930 00292590 38 21 00 20 */ addi r1, r1, 0x20
+/* 80296934 00292594 4E 80 00 20 */ blr
diff --git a/asm/SDK/MEM/mem_list.s b/asm/SDK/MEM/mem_list.s
new file mode 100644
index 0000000..8496c01
--- /dev/null
+++ b/asm/SDK/MEM/mem_list.s
@@ -0,0 +1,90 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global MEMInitList
+MEMInitList:
+/* 8029777C 002933DC 38 00 00 00 */ li r0, 0
+/* 80297780 002933E0 B0 83 00 0A */ sth r4, 0xa(r3)
+/* 80297784 002933E4 90 03 00 00 */ stw r0, 0(r3)
+/* 80297788 002933E8 90 03 00 04 */ stw r0, 4(r3)
+/* 8029778C 002933EC B0 03 00 08 */ sth r0, 8(r3)
+/* 80297790 002933F0 4E 80 00 20 */ blr
+
+.global MEMAppendListObject
+MEMAppendListObject:
+/* 80297794 002933F4 80 03 00 00 */ lwz r0, 0(r3)
+/* 80297798 002933F8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029779C 002933FC 40 82 00 30 */ bne lbl_802977CC
+/* 802977A0 00293400 A0 A3 00 0A */ lhz r5, 0xa(r3)
+/* 802977A4 00293404 38 00 00 00 */ li r0, 0
+/* 802977A8 00293408 7C A4 2A 14 */ add r5, r4, r5
+/* 802977AC 0029340C 90 05 00 04 */ stw r0, 4(r5)
+/* 802977B0 00293410 90 05 00 00 */ stw r0, 0(r5)
+/* 802977B4 00293414 A0 A3 00 08 */ lhz r5, 8(r3)
+/* 802977B8 00293418 90 83 00 00 */ stw r4, 0(r3)
+/* 802977BC 0029341C 38 05 00 01 */ addi r0, r5, 1
+/* 802977C0 00293420 90 83 00 04 */ stw r4, 4(r3)
+/* 802977C4 00293424 B0 03 00 08 */ sth r0, 8(r3)
+/* 802977C8 00293428 4E 80 00 20 */ blr
+lbl_802977CC:
+/* 802977CC 0029342C A0 C3 00 0A */ lhz r6, 0xa(r3)
+/* 802977D0 00293430 38 00 00 00 */ li r0, 0
+/* 802977D4 00293434 80 A3 00 04 */ lwz r5, 4(r3)
+/* 802977D8 00293438 7C A6 21 6E */ stwux r5, r6, r4
+/* 802977DC 0029343C 90 06 00 04 */ stw r0, 4(r6)
+/* 802977E0 00293440 80 A3 00 04 */ lwz r5, 4(r3)
+/* 802977E4 00293444 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 802977E8 00293448 7C A5 02 14 */ add r5, r5, r0
+/* 802977EC 0029344C 90 85 00 04 */ stw r4, 4(r5)
+/* 802977F0 00293450 A0 A3 00 08 */ lhz r5, 8(r3)
+/* 802977F4 00293454 90 83 00 04 */ stw r4, 4(r3)
+/* 802977F8 00293458 38 05 00 01 */ addi r0, r5, 1
+/* 802977FC 0029345C B0 03 00 08 */ sth r0, 8(r3)
+/* 80297800 00293460 4E 80 00 20 */ blr
+
+.global MEMRemoveListObject
+MEMRemoveListObject:
+/* 80297804 00293464 A0 A3 00 0A */ lhz r5, 0xa(r3)
+/* 80297808 00293468 7C C4 2A 14 */ add r6, r4, r5
+/* 8029780C 0029346C 7C 84 28 2E */ lwzx r4, r4, r5
+/* 80297810 00293470 2C 04 00 00 */ cmpwi r4, 0
+/* 80297814 00293474 40 82 00 10 */ bne lbl_80297824
+/* 80297818 00293478 80 06 00 04 */ lwz r0, 4(r6)
+/* 8029781C 0029347C 90 03 00 00 */ stw r0, 0(r3)
+/* 80297820 00293480 48 00 00 10 */ b lbl_80297830
+lbl_80297824:
+/* 80297824 00293484 80 06 00 04 */ lwz r0, 4(r6)
+/* 80297828 00293488 7C 84 2A 14 */ add r4, r4, r5
+/* 8029782C 0029348C 90 04 00 04 */ stw r0, 4(r4)
+lbl_80297830:
+/* 80297830 00293490 80 A6 00 04 */ lwz r5, 4(r6)
+/* 80297834 00293494 2C 05 00 00 */ cmpwi r5, 0
+/* 80297838 00293498 40 82 00 10 */ bne lbl_80297848
+/* 8029783C 0029349C 80 06 00 00 */ lwz r0, 0(r6)
+/* 80297840 002934A0 90 03 00 04 */ stw r0, 4(r3)
+/* 80297844 002934A4 48 00 00 10 */ b lbl_80297854
+lbl_80297848:
+/* 80297848 002934A8 80 86 00 00 */ lwz r4, 0(r6)
+/* 8029784C 002934AC A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80297850 002934B0 7C 85 01 2E */ stwx r4, r5, r0
+lbl_80297854:
+/* 80297854 002934B4 38 00 00 00 */ li r0, 0
+/* 80297858 002934B8 90 06 00 00 */ stw r0, 0(r6)
+/* 8029785C 002934BC 90 06 00 04 */ stw r0, 4(r6)
+/* 80297860 002934C0 A0 83 00 08 */ lhz r4, 8(r3)
+/* 80297864 002934C4 38 04 FF FF */ addi r0, r4, -1
+/* 80297868 002934C8 B0 03 00 08 */ sth r0, 8(r3)
+/* 8029786C 002934CC 4E 80 00 20 */ blr
+
+.global MEMGetNextListObject
+MEMGetNextListObject:
+/* 80297870 002934D0 2C 04 00 00 */ cmpwi r4, 0
+/* 80297874 002934D4 40 82 00 0C */ bne lbl_80297880
+/* 80297878 002934D8 80 63 00 00 */ lwz r3, 0(r3)
+/* 8029787C 002934DC 4E 80 00 20 */ blr
+lbl_80297880:
+/* 80297880 002934E0 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80297884 002934E4 7C 64 02 14 */ add r3, r4, r0
+/* 80297888 002934E8 80 63 00 04 */ lwz r3, 4(r3)
+/* 8029788C 002934EC 4E 80 00 20 */ blr
diff --git a/asm/SDK/MIX/mix.s b/asm/SDK/MIX/mix.s
new file mode 100644
index 0000000..7040011
--- /dev/null
+++ b/asm/SDK/MIX/mix.s
@@ -0,0 +1,3635 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __MIXSetPan
+__MIXSetPan:
+/* 80297890 002934F0 80 0D AC 5C */ lwz r0, lbl_8063FF1C-_SDA_BASE_(r13)
+/* 80297894 002934F4 3C C0 80 44 */ lis r6, lbl_8043B170@ha
+/* 80297898 002934F8 80 83 00 18 */ lwz r4, 0x18(r3)
+/* 8029789C 002934FC 38 C6 B1 70 */ addi r6, r6, lbl_8043B170@l
+/* 802978A0 00293500 28 00 00 03 */ cmplwi r0, 3
+/* 802978A4 00293504 81 43 00 1C */ lwz r10, 0x1c(r3)
+/* 802978A8 00293508 20 A4 00 7F */ subfic r5, r4, 0x7f
+/* 802978AC 0029350C 21 6A 00 7F */ subfic r11, r10, 0x7f
+/* 802978B0 00293510 40 82 00 50 */ bne lbl_80297900
+/* 802978B4 00293514 54 89 08 3C */ slwi r9, r4, 1
+/* 802978B8 00293518 38 E6 09 90 */ addi r7, r6, 0x990
+/* 802978BC 0029351C 7C 87 4A AE */ lhax r4, r7, r9
+/* 802978C0 00293520 54 A8 08 3C */ slwi r8, r5, 1
+/* 802978C4 00293524 55 65 08 3C */ slwi r5, r11, 1
+/* 802978C8 00293528 55 40 08 3C */ slwi r0, r10, 1
+/* 802978CC 0029352C 90 83 00 24 */ stw r4, 0x24(r3)
+/* 802978D0 00293530 38 86 0A 90 */ addi r4, r6, 0xa90
+/* 802978D4 00293534 7C C7 42 AE */ lhax r6, r7, r8
+/* 802978D8 00293538 90 C3 00 28 */ stw r6, 0x28(r3)
+/* 802978DC 0029353C 7C A7 2A AE */ lhax r5, r7, r5
+/* 802978E0 00293540 90 A3 00 2C */ stw r5, 0x2c(r3)
+/* 802978E4 00293544 7C 07 02 AE */ lhax r0, r7, r0
+/* 802978E8 00293548 90 03 00 30 */ stw r0, 0x30(r3)
+/* 802978EC 0029354C 7C 04 42 AE */ lhax r0, r4, r8
+/* 802978F0 00293550 90 03 00 34 */ stw r0, 0x34(r3)
+/* 802978F4 00293554 7C 04 4A AE */ lhax r0, r4, r9
+/* 802978F8 00293558 90 03 00 38 */ stw r0, 0x38(r3)
+/* 802978FC 0029355C 4E 80 00 20 */ blr
+lbl_80297900:
+/* 80297900 00293560 54 80 10 3A */ slwi r0, r4, 2
+/* 80297904 00293564 38 E6 07 90 */ addi r7, r6, 0x790
+/* 80297908 00293568 7C 07 00 2E */ lwzx r0, r7, r0
+/* 8029790C 0029356C 54 A6 10 3A */ slwi r6, r5, 2
+/* 80297910 00293570 55 65 10 3A */ slwi r5, r11, 2
+/* 80297914 00293574 55 44 10 3A */ slwi r4, r10, 2
+/* 80297918 00293578 90 03 00 24 */ stw r0, 0x24(r3)
+/* 8029791C 0029357C 38 00 00 00 */ li r0, 0
+/* 80297920 00293580 7C C7 30 2E */ lwzx r6, r7, r6
+/* 80297924 00293584 90 C3 00 28 */ stw r6, 0x28(r3)
+/* 80297928 00293588 7C A7 28 2E */ lwzx r5, r7, r5
+/* 8029792C 0029358C 90 A3 00 2C */ stw r5, 0x2c(r3)
+/* 80297930 00293590 7C 87 20 2E */ lwzx r4, r7, r4
+/* 80297934 00293594 90 83 00 30 */ stw r4, 0x30(r3)
+/* 80297938 00293598 90 03 00 34 */ stw r0, 0x34(r3)
+/* 8029793C 0029359C 90 03 00 38 */ stw r0, 0x38(r3)
+/* 80297940 002935A0 4E 80 00 20 */ blr
+
+.global __MIXGetVolume
+__MIXGetVolume:
+/* 80297944 002935A4 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297948 002935A8 41 81 00 0C */ bgt lbl_80297954
+/* 8029794C 002935AC 38 60 00 00 */ li r3, 0
+/* 80297950 002935B0 4E 80 00 20 */ blr
+lbl_80297954:
+/* 80297954 002935B4 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297958 002935B8 41 80 00 10 */ blt lbl_80297968
+/* 8029795C 002935BC 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297960 002935C0 38 63 FF 64 */ addi r3, r3, 0x0000FF64@l
+/* 80297964 002935C4 4E 80 00 20 */ blr
+lbl_80297968:
+/* 80297968 002935C8 38 03 03 88 */ addi r0, r3, 0x388
+/* 8029796C 002935CC 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297970 002935D0 54 00 08 3C */ slwi r0, r0, 1
+/* 80297974 002935D4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297978 002935D8 7C 63 02 2E */ lhzx r3, r3, r0
+/* 8029797C 002935DC 4E 80 00 20 */ blr
+
+.global MIXInit
+MIXInit:
+/* 80297980 002935E0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80297984 002935E4 7C 08 02 A6 */ mflr r0
+/* 80297988 002935E8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8029798C 002935EC 39 61 00 30 */ addi r11, r1, 0x30
+/* 80297990 002935F0 4B F2 F7 91 */ bl _savegpr_25
+/* 80297994 002935F4 4B FF 76 F9 */ bl AXIsInit
+/* 80297998 002935F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8029799C 002935FC 41 82 00 D4 */ beq lbl_80297A70
+/* 802979A0 00293600 4B FF A9 7D */ bl AXGetMaxVoices
+/* 802979A4 00293604 3C A0 80 53 */ lis r5, lbl_805311E8@ha
+/* 802979A8 00293608 3C 80 80 53 */ lis r4, lbl_80533BE8@ha
+/* 802979AC 0029360C 38 A5 11 E8 */ addi r5, r5, lbl_805311E8@l
+/* 802979B0 00293610 90 6D AC 58 */ stw r3, lbl_8063FF18-_SDA_BASE_(r13)
+/* 802979B4 00293614 38 84 3B E8 */ addi r4, r4, lbl_80533BE8@l
+/* 802979B8 00293618 3B 20 00 00 */ li r25, 0
+/* 802979BC 0029361C 90 AD AC 50 */ stw r5, lbl_8063FF10-_SDA_BASE_(r13)
+/* 802979C0 00293620 3B 40 00 00 */ li r26, 0
+/* 802979C4 00293624 3B 60 00 00 */ li r27, 0
+/* 802979C8 00293628 3F 80 50 00 */ lis r28, 0x5000
+/* 802979CC 0029362C 90 8D AC 60 */ stw r4, lbl_8063FF20-_SDA_BASE_(r13)
+/* 802979D0 00293630 3B A0 FC 40 */ li r29, -960
+/* 802979D4 00293634 3B C0 00 40 */ li r30, 0x40
+/* 802979D8 00293638 3B E0 00 7F */ li r31, 0x7f
+/* 802979DC 0029363C 48 00 00 7C */ b lbl_80297A58
+lbl_802979E0:
+/* 802979E0 00293640 80 6D AC 50 */ lwz r3, lbl_8063FF10-_SDA_BASE_(r13)
+/* 802979E4 00293644 7F 63 D1 2E */ stwx r27, r3, r26
+/* 802979E8 00293648 80 0D AC 50 */ lwz r0, lbl_8063FF10-_SDA_BASE_(r13)
+/* 802979EC 0029364C 7C 60 D2 14 */ add r3, r0, r26
+/* 802979F0 00293650 93 83 00 04 */ stw r28, 4(r3)
+/* 802979F4 00293654 93 63 00 08 */ stw r27, 8(r3)
+/* 802979F8 00293658 93 A3 00 0C */ stw r29, 0xc(r3)
+/* 802979FC 0029365C 93 A3 00 10 */ stw r29, 0x10(r3)
+/* 80297A00 00293660 93 A3 00 14 */ stw r29, 0x14(r3)
+/* 80297A04 00293664 93 63 00 20 */ stw r27, 0x20(r3)
+/* 80297A08 00293668 93 C3 00 18 */ stw r30, 0x18(r3)
+/* 80297A0C 0029366C 93 E3 00 1C */ stw r31, 0x1c(r3)
+/* 80297A10 00293670 B3 63 00 6C */ sth r27, 0x6c(r3)
+/* 80297A14 00293674 B3 63 00 68 */ sth r27, 0x68(r3)
+/* 80297A18 00293678 B3 63 00 64 */ sth r27, 0x64(r3)
+/* 80297A1C 0029367C B3 63 00 60 */ sth r27, 0x60(r3)
+/* 80297A20 00293680 B3 63 00 5C */ sth r27, 0x5c(r3)
+/* 80297A24 00293684 B3 63 00 58 */ sth r27, 0x58(r3)
+/* 80297A28 00293688 B3 63 00 54 */ sth r27, 0x54(r3)
+/* 80297A2C 0029368C B3 63 00 50 */ sth r27, 0x50(r3)
+/* 80297A30 00293690 B3 63 00 4C */ sth r27, 0x4c(r3)
+/* 80297A34 00293694 B3 63 00 48 */ sth r27, 0x48(r3)
+/* 80297A38 00293698 B3 63 00 44 */ sth r27, 0x44(r3)
+/* 80297A3C 0029369C B3 63 00 40 */ sth r27, 0x40(r3)
+/* 80297A40 002936A0 B3 63 00 3C */ sth r27, 0x3c(r3)
+/* 80297A44 002936A4 4B FF FE 4D */ bl __MIXSetPan
+/* 80297A48 002936A8 7F 23 CB 78 */ mr r3, r25
+/* 80297A4C 002936AC 48 00 33 55 */ bl __MIXRmtResetChannel
+/* 80297A50 002936B0 3B 5A 00 70 */ addi r26, r26, 0x70
+/* 80297A54 002936B4 3B 39 00 01 */ addi r25, r25, 1
+lbl_80297A58:
+/* 80297A58 002936B8 80 0D AC 58 */ lwz r0, lbl_8063FF18-_SDA_BASE_(r13)
+/* 80297A5C 002936BC 7C 19 00 40 */ cmplw r25, r0
+/* 80297A60 002936C0 41 80 FF 80 */ blt lbl_802979E0
+/* 80297A64 002936C4 38 00 00 01 */ li r0, 1
+/* 80297A68 002936C8 90 0D AC 5C */ stw r0, lbl_8063FF1C-_SDA_BASE_(r13)
+/* 80297A6C 002936CC 90 0D AC 54 */ stw r0, lbl_8063FF14-_SDA_BASE_(r13)
+lbl_80297A70:
+/* 80297A70 002936D0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80297A74 002936D4 4B F2 F6 F9 */ bl _restgpr_25
+/* 80297A78 002936D8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80297A7C 002936DC 7C 08 03 A6 */ mtlr r0
+/* 80297A80 002936E0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80297A84 002936E4 4E 80 00 20 */ blr
+
+.global MIXInitSpecifyMem
+MIXInitSpecifyMem:
+/* 80297A88 002936E8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80297A8C 002936EC 7C 08 02 A6 */ mflr r0
+/* 80297A90 002936F0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80297A94 002936F4 39 61 00 30 */ addi r11, r1, 0x30
+/* 80297A98 002936F8 4B F2 F6 89 */ bl _savegpr_25
+/* 80297A9C 002936FC 7C 7B 1B 78 */ mr r27, r3
+/* 80297AA0 00293700 4B FF 75 ED */ bl AXIsInit
+/* 80297AA4 00293704 2C 03 00 00 */ cmpwi r3, 0
+/* 80297AA8 00293708 41 82 00 D8 */ beq lbl_80297B80
+/* 80297AAC 0029370C 2C 1B 00 00 */ cmpwi r27, 0
+/* 80297AB0 00293710 40 82 00 08 */ bne lbl_80297AB8
+/* 80297AB4 00293714 48 00 00 CC */ b lbl_80297B80
+lbl_80297AB8:
+/* 80297AB8 00293718 4B FF A8 65 */ bl AXGetMaxVoices
+/* 80297ABC 0029371C 1C 03 00 70 */ mulli r0, r3, 0x70
+/* 80297AC0 00293720 90 6D AC 58 */ stw r3, lbl_8063FF18-_SDA_BASE_(r13)
+/* 80297AC4 00293724 3B 20 00 00 */ li r25, 0
+/* 80297AC8 00293728 93 6D AC 50 */ stw r27, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80297ACC 0029372C 3B 40 00 00 */ li r26, 0
+/* 80297AD0 00293730 7C 1B 02 14 */ add r0, r27, r0
+/* 80297AD4 00293734 90 0D AC 60 */ stw r0, lbl_8063FF20-_SDA_BASE_(r13)
+/* 80297AD8 00293738 3B 60 00 00 */ li r27, 0
+/* 80297ADC 0029373C 3F 80 50 00 */ lis r28, 0x5000
+/* 80297AE0 00293740 3B A0 FC 40 */ li r29, -960
+/* 80297AE4 00293744 3B C0 00 40 */ li r30, 0x40
+/* 80297AE8 00293748 3B E0 00 7F */ li r31, 0x7f
+/* 80297AEC 0029374C 48 00 00 7C */ b lbl_80297B68
+lbl_80297AF0:
+/* 80297AF0 00293750 80 6D AC 50 */ lwz r3, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80297AF4 00293754 7F 63 D1 2E */ stwx r27, r3, r26
+/* 80297AF8 00293758 80 0D AC 50 */ lwz r0, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80297AFC 0029375C 7C 60 D2 14 */ add r3, r0, r26
+/* 80297B00 00293760 93 83 00 04 */ stw r28, 4(r3)
+/* 80297B04 00293764 93 63 00 08 */ stw r27, 8(r3)
+/* 80297B08 00293768 93 A3 00 0C */ stw r29, 0xc(r3)
+/* 80297B0C 0029376C 93 A3 00 10 */ stw r29, 0x10(r3)
+/* 80297B10 00293770 93 A3 00 14 */ stw r29, 0x14(r3)
+/* 80297B14 00293774 93 63 00 20 */ stw r27, 0x20(r3)
+/* 80297B18 00293778 93 C3 00 18 */ stw r30, 0x18(r3)
+/* 80297B1C 0029377C 93 E3 00 1C */ stw r31, 0x1c(r3)
+/* 80297B20 00293780 B3 63 00 6C */ sth r27, 0x6c(r3)
+/* 80297B24 00293784 B3 63 00 68 */ sth r27, 0x68(r3)
+/* 80297B28 00293788 B3 63 00 64 */ sth r27, 0x64(r3)
+/* 80297B2C 0029378C B3 63 00 60 */ sth r27, 0x60(r3)
+/* 80297B30 00293790 B3 63 00 5C */ sth r27, 0x5c(r3)
+/* 80297B34 00293794 B3 63 00 58 */ sth r27, 0x58(r3)
+/* 80297B38 00293798 B3 63 00 54 */ sth r27, 0x54(r3)
+/* 80297B3C 0029379C B3 63 00 50 */ sth r27, 0x50(r3)
+/* 80297B40 002937A0 B3 63 00 4C */ sth r27, 0x4c(r3)
+/* 80297B44 002937A4 B3 63 00 48 */ sth r27, 0x48(r3)
+/* 80297B48 002937A8 B3 63 00 44 */ sth r27, 0x44(r3)
+/* 80297B4C 002937AC B3 63 00 40 */ sth r27, 0x40(r3)
+/* 80297B50 002937B0 B3 63 00 3C */ sth r27, 0x3c(r3)
+/* 80297B54 002937B4 4B FF FD 3D */ bl __MIXSetPan
+/* 80297B58 002937B8 7F 23 CB 78 */ mr r3, r25
+/* 80297B5C 002937BC 48 00 32 45 */ bl __MIXRmtResetChannel
+/* 80297B60 002937C0 3B 5A 00 70 */ addi r26, r26, 0x70
+/* 80297B64 002937C4 3B 39 00 01 */ addi r25, r25, 1
+lbl_80297B68:
+/* 80297B68 002937C8 80 0D AC 58 */ lwz r0, lbl_8063FF18-_SDA_BASE_(r13)
+/* 80297B6C 002937CC 7C 19 00 40 */ cmplw r25, r0
+/* 80297B70 002937D0 41 80 FF 80 */ blt lbl_80297AF0
+/* 80297B74 002937D4 38 00 00 01 */ li r0, 1
+/* 80297B78 002937D8 90 0D AC 5C */ stw r0, lbl_8063FF1C-_SDA_BASE_(r13)
+/* 80297B7C 002937DC 90 0D AC 54 */ stw r0, lbl_8063FF14-_SDA_BASE_(r13)
+lbl_80297B80:
+/* 80297B80 002937E0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80297B84 002937E4 4B F2 F5 E9 */ bl _restgpr_25
+/* 80297B88 002937E8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80297B8C 002937EC 7C 08 03 A6 */ mtlr r0
+/* 80297B90 002937F0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80297B94 002937F4 4E 80 00 20 */ blr
+
+.global MIXQuit
+MIXQuit:
+/* 80297B98 002937F8 38 00 00 00 */ li r0, 0
+/* 80297B9C 002937FC 90 0D AC 50 */ stw r0, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80297BA0 00293800 90 0D AC 60 */ stw r0, lbl_8063FF20-_SDA_BASE_(r13)
+/* 80297BA4 00293804 90 0D AC 54 */ stw r0, lbl_8063FF14-_SDA_BASE_(r13)
+/* 80297BA8 00293808 4E 80 00 20 */ blr
+
+.global MIXSetSoundMode
+MIXSetSoundMode:
+/* 80297BAC 0029380C 90 6D AC 5C */ stw r3, lbl_8063FF1C-_SDA_BASE_(r13)
+/* 80297BB0 00293810 4E 80 00 20 */ blr
+
+.global MIXInitChannel
+MIXInitChannel:
+/* 80297BB4 00293814 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80297BB8 00293818 7C 08 02 A6 */ mflr r0
+/* 80297BBC 0029381C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80297BC0 00293820 54 80 07 3E */ clrlwi r0, r4, 0x1c
+/* 80297BC4 00293824 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80297BC8 00293828 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80297BCC 0029382C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80297BD0 00293830 7C BD 2B 78 */ mr r29, r5
+/* 80297BD4 00293834 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80297BD8 00293838 7C 7C 1B 78 */ mr r28, r3
+/* 80297BDC 0029383C 81 63 00 18 */ lwz r11, 0x18(r3)
+/* 80297BE0 00293840 81 8D AC 50 */ lwz r12, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80297BE4 00293844 1C 8B 00 70 */ mulli r4, r11, 0x70
+/* 80297BE8 00293848 81 61 00 28 */ lwz r11, 0x28(r1)
+/* 80297BEC 0029384C 7C 6C 21 2E */ stwx r3, r12, r4
+/* 80297BF0 00293850 7F CC 22 14 */ add r30, r12, r4
+/* 80297BF4 00293854 7F C3 F3 78 */ mr r3, r30
+/* 80297BF8 00293858 90 1E 00 04 */ stw r0, 4(r30)
+/* 80297BFC 0029385C 90 BE 00 08 */ stw r5, 8(r30)
+/* 80297C00 00293860 90 DE 00 0C */ stw r6, 0xc(r30)
+/* 80297C04 00293864 90 FE 00 10 */ stw r7, 0x10(r30)
+/* 80297C08 00293868 91 1E 00 14 */ stw r8, 0x14(r30)
+/* 80297C0C 0029386C 91 3E 00 18 */ stw r9, 0x18(r30)
+/* 80297C10 00293870 91 5E 00 1C */ stw r10, 0x1c(r30)
+/* 80297C14 00293874 91 7E 00 20 */ stw r11, 0x20(r30)
+/* 80297C18 00293878 4B FF FC 79 */ bl __MIXSetPan
+/* 80297C1C 0029387C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80297C20 00293880 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 80297C24 00293884 41 82 00 10 */ beq lbl_80297C34
+/* 80297C28 00293888 38 00 00 00 */ li r0, 0
+/* 80297C2C 0029388C B0 1E 00 3C */ sth r0, 0x3c(r30)
+/* 80297C30 00293890 48 00 00 40 */ b lbl_80297C70
+lbl_80297C34:
+/* 80297C34 00293894 2C 1D FC 78 */ cmpwi r29, -904
+/* 80297C38 00293898 41 81 00 0C */ bgt lbl_80297C44
+/* 80297C3C 0029389C 38 00 00 00 */ li r0, 0
+/* 80297C40 002938A0 48 00 00 2C */ b lbl_80297C6C
+lbl_80297C44:
+/* 80297C44 002938A4 2C 1D 00 3C */ cmpwi r29, 0x3c
+/* 80297C48 002938A8 41 80 00 10 */ blt lbl_80297C58
+/* 80297C4C 002938AC 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297C50 002938B0 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297C54 002938B4 48 00 00 18 */ b lbl_80297C6C
+lbl_80297C58:
+/* 80297C58 002938B8 38 1D 03 88 */ addi r0, r29, 0x388
+/* 80297C5C 002938BC 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297C60 002938C0 54 00 08 3C */ slwi r0, r0, 1
+/* 80297C64 002938C4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297C68 002938C8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297C6C:
+/* 80297C6C 002938CC B0 1E 00 3C */ sth r0, 0x3c(r30)
+lbl_80297C70:
+/* 80297C70 002938D0 80 0D AC 5C */ lwz r0, lbl_8063FF1C-_SDA_BASE_(r13)
+/* 80297C74 002938D4 3B A0 00 00 */ li r29, 0
+/* 80297C78 002938D8 2C 00 00 03 */ cmpwi r0, 3
+/* 80297C7C 002938DC 41 82 0D 88 */ beq lbl_80298A04
+/* 80297C80 002938E0 40 80 14 28 */ bge lbl_802990A8
+/* 80297C84 002938E4 2C 00 00 00 */ cmpwi r0, 0
+/* 80297C88 002938E8 41 82 00 0C */ beq lbl_80297C94
+/* 80297C8C 002938EC 40 80 06 88 */ bge lbl_80298314
+/* 80297C90 002938F0 48 00 14 18 */ b lbl_802990A8
+lbl_80297C94:
+/* 80297C94 002938F4 80 7E 00 20 */ lwz r3, 0x20(r30)
+/* 80297C98 002938F8 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80297C9C 002938FC 7C 63 02 14 */ add r3, r3, r0
+/* 80297CA0 00293900 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297CA4 00293904 41 81 00 0C */ bgt lbl_80297CB0
+/* 80297CA8 00293908 38 00 00 00 */ li r0, 0
+/* 80297CAC 0029390C 48 00 00 2C */ b lbl_80297CD8
+lbl_80297CB0:
+/* 80297CB0 00293910 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297CB4 00293914 41 80 00 10 */ blt lbl_80297CC4
+/* 80297CB8 00293918 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297CBC 0029391C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297CC0 00293920 48 00 00 18 */ b lbl_80297CD8
+lbl_80297CC4:
+/* 80297CC4 00293924 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297CC8 00293928 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297CCC 0029392C 54 00 08 3C */ slwi r0, r0, 1
+/* 80297CD0 00293930 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297CD4 00293934 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297CD8:
+/* 80297CD8 00293938 B0 1E 00 40 */ sth r0, 0x40(r30)
+/* 80297CDC 0029393C 80 7E 00 20 */ lwz r3, 0x20(r30)
+/* 80297CE0 00293940 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80297CE4 00293944 7C 63 02 14 */ add r3, r3, r0
+/* 80297CE8 00293948 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297CEC 0029394C 41 81 00 0C */ bgt lbl_80297CF8
+/* 80297CF0 00293950 38 00 00 00 */ li r0, 0
+/* 80297CF4 00293954 48 00 00 2C */ b lbl_80297D20
+lbl_80297CF8:
+/* 80297CF8 00293958 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297CFC 0029395C 41 80 00 10 */ blt lbl_80297D0C
+/* 80297D00 00293960 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297D04 00293964 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297D08 00293968 48 00 00 18 */ b lbl_80297D20
+lbl_80297D0C:
+/* 80297D0C 0029396C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297D10 00293970 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297D14 00293974 54 00 08 3C */ slwi r0, r0, 1
+/* 80297D18 00293978 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297D1C 0029397C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297D20:
+/* 80297D20 00293980 B0 1E 00 44 */ sth r0, 0x44(r30)
+/* 80297D24 00293984 80 7E 00 20 */ lwz r3, 0x20(r30)
+/* 80297D28 00293988 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 80297D2C 0029398C 7C 63 02 14 */ add r3, r3, r0
+/* 80297D30 00293990 38 63 FF E2 */ addi r3, r3, -30
+/* 80297D34 00293994 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297D38 00293998 41 81 00 0C */ bgt lbl_80297D44
+/* 80297D3C 0029399C 38 00 00 00 */ li r0, 0
+/* 80297D40 002939A0 48 00 00 2C */ b lbl_80297D6C
+lbl_80297D44:
+/* 80297D44 002939A4 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297D48 002939A8 41 80 00 10 */ blt lbl_80297D58
+/* 80297D4C 002939AC 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297D50 002939B0 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297D54 002939B4 48 00 00 18 */ b lbl_80297D6C
+lbl_80297D58:
+/* 80297D58 002939B8 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297D5C 002939BC 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297D60 002939C0 54 00 08 3C */ slwi r0, r0, 1
+/* 80297D64 002939C4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297D68 002939C8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297D6C:
+/* 80297D6C 002939CC B0 1E 00 48 */ sth r0, 0x48(r30)
+/* 80297D70 002939D0 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80297D74 002939D4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80297D78 002939D8 41 82 00 E4 */ beq lbl_80297E5C
+/* 80297D7C 002939DC 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 80297D80 002939E0 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80297D84 002939E4 7C 63 02 14 */ add r3, r3, r0
+/* 80297D88 002939E8 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297D8C 002939EC 41 81 00 0C */ bgt lbl_80297D98
+/* 80297D90 002939F0 38 00 00 00 */ li r0, 0
+/* 80297D94 002939F4 48 00 00 2C */ b lbl_80297DC0
+lbl_80297D98:
+/* 80297D98 002939F8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297D9C 002939FC 41 80 00 10 */ blt lbl_80297DAC
+/* 80297DA0 00293A00 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297DA4 00293A04 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297DA8 00293A08 48 00 00 18 */ b lbl_80297DC0
+lbl_80297DAC:
+/* 80297DAC 00293A0C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297DB0 00293A10 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297DB4 00293A14 54 00 08 3C */ slwi r0, r0, 1
+/* 80297DB8 00293A18 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297DBC 00293A1C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297DC0:
+/* 80297DC0 00293A20 B0 1E 00 4C */ sth r0, 0x4c(r30)
+/* 80297DC4 00293A24 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 80297DC8 00293A28 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80297DCC 00293A2C 7C 63 02 14 */ add r3, r3, r0
+/* 80297DD0 00293A30 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297DD4 00293A34 41 81 00 0C */ bgt lbl_80297DE0
+/* 80297DD8 00293A38 38 00 00 00 */ li r0, 0
+/* 80297DDC 00293A3C 48 00 00 2C */ b lbl_80297E08
+lbl_80297DE0:
+/* 80297DE0 00293A40 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297DE4 00293A44 41 80 00 10 */ blt lbl_80297DF4
+/* 80297DE8 00293A48 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297DEC 00293A4C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297DF0 00293A50 48 00 00 18 */ b lbl_80297E08
+lbl_80297DF4:
+/* 80297DF4 00293A54 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297DF8 00293A58 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297DFC 00293A5C 54 00 08 3C */ slwi r0, r0, 1
+/* 80297E00 00293A60 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297E04 00293A64 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297E08:
+/* 80297E08 00293A68 B0 1E 00 50 */ sth r0, 0x50(r30)
+/* 80297E0C 00293A6C 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 80297E10 00293A70 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 80297E14 00293A74 7C 63 02 14 */ add r3, r3, r0
+/* 80297E18 00293A78 38 63 FF E2 */ addi r3, r3, -30
+/* 80297E1C 00293A7C 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297E20 00293A80 41 81 00 0C */ bgt lbl_80297E2C
+/* 80297E24 00293A84 38 00 00 00 */ li r0, 0
+/* 80297E28 00293A88 48 00 00 2C */ b lbl_80297E54
+lbl_80297E2C:
+/* 80297E2C 00293A8C 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297E30 00293A90 41 80 00 10 */ blt lbl_80297E40
+/* 80297E34 00293A94 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297E38 00293A98 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297E3C 00293A9C 48 00 00 18 */ b lbl_80297E54
+lbl_80297E40:
+/* 80297E40 00293AA0 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297E44 00293AA4 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297E48 00293AA8 54 00 08 3C */ slwi r0, r0, 1
+/* 80297E4C 00293AAC 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297E50 00293AB0 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297E54:
+/* 80297E54 00293AB4 B0 1E 00 54 */ sth r0, 0x54(r30)
+/* 80297E58 00293AB8 48 00 00 F8 */ b lbl_80297F50
+lbl_80297E5C:
+/* 80297E5C 00293ABC 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80297E60 00293AC0 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80297E64 00293AC4 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 80297E68 00293AC8 7C 04 02 14 */ add r0, r4, r0
+/* 80297E6C 00293ACC 7C 63 02 14 */ add r3, r3, r0
+/* 80297E70 00293AD0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297E74 00293AD4 41 81 00 0C */ bgt lbl_80297E80
+/* 80297E78 00293AD8 38 00 00 00 */ li r0, 0
+/* 80297E7C 00293ADC 48 00 00 2C */ b lbl_80297EA8
+lbl_80297E80:
+/* 80297E80 00293AE0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297E84 00293AE4 41 80 00 10 */ blt lbl_80297E94
+/* 80297E88 00293AE8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297E8C 00293AEC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297E90 00293AF0 48 00 00 18 */ b lbl_80297EA8
+lbl_80297E94:
+/* 80297E94 00293AF4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297E98 00293AF8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297E9C 00293AFC 54 00 08 3C */ slwi r0, r0, 1
+/* 80297EA0 00293B00 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297EA4 00293B04 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297EA8:
+/* 80297EA8 00293B08 B0 1E 00 4C */ sth r0, 0x4c(r30)
+/* 80297EAC 00293B0C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80297EB0 00293B10 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80297EB4 00293B14 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 80297EB8 00293B18 7C 04 02 14 */ add r0, r4, r0
+/* 80297EBC 00293B1C 7C 63 02 14 */ add r3, r3, r0
+/* 80297EC0 00293B20 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297EC4 00293B24 41 81 00 0C */ bgt lbl_80297ED0
+/* 80297EC8 00293B28 38 00 00 00 */ li r0, 0
+/* 80297ECC 00293B2C 48 00 00 2C */ b lbl_80297EF8
+lbl_80297ED0:
+/* 80297ED0 00293B30 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297ED4 00293B34 41 80 00 10 */ blt lbl_80297EE4
+/* 80297ED8 00293B38 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297EDC 00293B3C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297EE0 00293B40 48 00 00 18 */ b lbl_80297EF8
+lbl_80297EE4:
+/* 80297EE4 00293B44 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297EE8 00293B48 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297EEC 00293B4C 54 00 08 3C */ slwi r0, r0, 1
+/* 80297EF0 00293B50 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297EF4 00293B54 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297EF8:
+/* 80297EF8 00293B58 B0 1E 00 50 */ sth r0, 0x50(r30)
+/* 80297EFC 00293B5C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80297F00 00293B60 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80297F04 00293B64 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 80297F08 00293B68 7C 04 02 14 */ add r0, r4, r0
+/* 80297F0C 00293B6C 7C 60 1A 14 */ add r3, r0, r3
+/* 80297F10 00293B70 38 63 FF E2 */ addi r3, r3, -30
+/* 80297F14 00293B74 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297F18 00293B78 41 81 00 0C */ bgt lbl_80297F24
+/* 80297F1C 00293B7C 38 00 00 00 */ li r0, 0
+/* 80297F20 00293B80 48 00 00 2C */ b lbl_80297F4C
+lbl_80297F24:
+/* 80297F24 00293B84 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297F28 00293B88 41 80 00 10 */ blt lbl_80297F38
+/* 80297F2C 00293B8C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297F30 00293B90 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297F34 00293B94 48 00 00 18 */ b lbl_80297F4C
+lbl_80297F38:
+/* 80297F38 00293B98 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297F3C 00293B9C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297F40 00293BA0 54 00 08 3C */ slwi r0, r0, 1
+/* 80297F44 00293BA4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297F48 00293BA8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297F4C:
+/* 80297F4C 00293BAC B0 1E 00 54 */ sth r0, 0x54(r30)
+lbl_80297F50:
+/* 80297F50 00293BB0 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80297F54 00293BB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80297F58 00293BB8 41 82 00 E4 */ beq lbl_8029803C
+/* 80297F5C 00293BBC 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 80297F60 00293BC0 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80297F64 00293BC4 7C 63 02 14 */ add r3, r3, r0
+/* 80297F68 00293BC8 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297F6C 00293BCC 41 81 00 0C */ bgt lbl_80297F78
+/* 80297F70 00293BD0 38 00 00 00 */ li r0, 0
+/* 80297F74 00293BD4 48 00 00 2C */ b lbl_80297FA0
+lbl_80297F78:
+/* 80297F78 00293BD8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297F7C 00293BDC 41 80 00 10 */ blt lbl_80297F8C
+/* 80297F80 00293BE0 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297F84 00293BE4 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297F88 00293BE8 48 00 00 18 */ b lbl_80297FA0
+lbl_80297F8C:
+/* 80297F8C 00293BEC 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297F90 00293BF0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297F94 00293BF4 54 00 08 3C */ slwi r0, r0, 1
+/* 80297F98 00293BF8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297F9C 00293BFC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297FA0:
+/* 80297FA0 00293C00 B0 1E 00 58 */ sth r0, 0x58(r30)
+/* 80297FA4 00293C04 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 80297FA8 00293C08 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80297FAC 00293C0C 7C 63 02 14 */ add r3, r3, r0
+/* 80297FB0 00293C10 2C 03 FC 78 */ cmpwi r3, -904
+/* 80297FB4 00293C14 41 81 00 0C */ bgt lbl_80297FC0
+/* 80297FB8 00293C18 38 00 00 00 */ li r0, 0
+/* 80297FBC 00293C1C 48 00 00 2C */ b lbl_80297FE8
+lbl_80297FC0:
+/* 80297FC0 00293C20 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80297FC4 00293C24 41 80 00 10 */ blt lbl_80297FD4
+/* 80297FC8 00293C28 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80297FCC 00293C2C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80297FD0 00293C30 48 00 00 18 */ b lbl_80297FE8
+lbl_80297FD4:
+/* 80297FD4 00293C34 38 03 03 88 */ addi r0, r3, 0x388
+/* 80297FD8 00293C38 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80297FDC 00293C3C 54 00 08 3C */ slwi r0, r0, 1
+/* 80297FE0 00293C40 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80297FE4 00293C44 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80297FE8:
+/* 80297FE8 00293C48 B0 1E 00 5C */ sth r0, 0x5c(r30)
+/* 80297FEC 00293C4C 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 80297FF0 00293C50 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 80297FF4 00293C54 7C 63 02 14 */ add r3, r3, r0
+/* 80297FF8 00293C58 38 63 FF E2 */ addi r3, r3, -30
+/* 80297FFC 00293C5C 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298000 00293C60 41 81 00 0C */ bgt lbl_8029800C
+/* 80298004 00293C64 38 00 00 00 */ li r0, 0
+/* 80298008 00293C68 48 00 00 2C */ b lbl_80298034
+lbl_8029800C:
+/* 8029800C 00293C6C 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298010 00293C70 41 80 00 10 */ blt lbl_80298020
+/* 80298014 00293C74 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298018 00293C78 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 8029801C 00293C7C 48 00 00 18 */ b lbl_80298034
+lbl_80298020:
+/* 80298020 00293C80 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298024 00293C84 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298028 00293C88 54 00 08 3C */ slwi r0, r0, 1
+/* 8029802C 00293C8C 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298030 00293C90 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298034:
+/* 80298034 00293C94 B0 1E 00 60 */ sth r0, 0x60(r30)
+/* 80298038 00293C98 48 00 00 F8 */ b lbl_80298130
+lbl_8029803C:
+/* 8029803C 00293C9C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298040 00293CA0 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298044 00293CA4 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 80298048 00293CA8 7C 04 02 14 */ add r0, r4, r0
+/* 8029804C 00293CAC 7C 63 02 14 */ add r3, r3, r0
+/* 80298050 00293CB0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298054 00293CB4 41 81 00 0C */ bgt lbl_80298060
+/* 80298058 00293CB8 38 00 00 00 */ li r0, 0
+/* 8029805C 00293CBC 48 00 00 2C */ b lbl_80298088
+lbl_80298060:
+/* 80298060 00293CC0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298064 00293CC4 41 80 00 10 */ blt lbl_80298074
+/* 80298068 00293CC8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029806C 00293CCC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298070 00293CD0 48 00 00 18 */ b lbl_80298088
+lbl_80298074:
+/* 80298074 00293CD4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298078 00293CD8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029807C 00293CDC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298080 00293CE0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298084 00293CE4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298088:
+/* 80298088 00293CE8 B0 1E 00 58 */ sth r0, 0x58(r30)
+/* 8029808C 00293CEC 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298090 00293CF0 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298094 00293CF4 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 80298098 00293CF8 7C 04 02 14 */ add r0, r4, r0
+/* 8029809C 00293CFC 7C 63 02 14 */ add r3, r3, r0
+/* 802980A0 00293D00 2C 03 FC 78 */ cmpwi r3, -904
+/* 802980A4 00293D04 41 81 00 0C */ bgt lbl_802980B0
+/* 802980A8 00293D08 38 00 00 00 */ li r0, 0
+/* 802980AC 00293D0C 48 00 00 2C */ b lbl_802980D8
+lbl_802980B0:
+/* 802980B0 00293D10 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802980B4 00293D14 41 80 00 10 */ blt lbl_802980C4
+/* 802980B8 00293D18 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802980BC 00293D1C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802980C0 00293D20 48 00 00 18 */ b lbl_802980D8
+lbl_802980C4:
+/* 802980C4 00293D24 38 03 03 88 */ addi r0, r3, 0x388
+/* 802980C8 00293D28 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802980CC 00293D2C 54 00 08 3C */ slwi r0, r0, 1
+/* 802980D0 00293D30 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802980D4 00293D34 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802980D8:
+/* 802980D8 00293D38 B0 1E 00 5C */ sth r0, 0x5c(r30)
+/* 802980DC 00293D3C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 802980E0 00293D40 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 802980E4 00293D44 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 802980E8 00293D48 7C 04 02 14 */ add r0, r4, r0
+/* 802980EC 00293D4C 7C 60 1A 14 */ add r3, r0, r3
+/* 802980F0 00293D50 38 63 FF E2 */ addi r3, r3, -30
+/* 802980F4 00293D54 2C 03 FC 78 */ cmpwi r3, -904
+/* 802980F8 00293D58 41 81 00 0C */ bgt lbl_80298104
+/* 802980FC 00293D5C 38 00 00 00 */ li r0, 0
+/* 80298100 00293D60 48 00 00 2C */ b lbl_8029812C
+lbl_80298104:
+/* 80298104 00293D64 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298108 00293D68 41 80 00 10 */ blt lbl_80298118
+/* 8029810C 00293D6C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298110 00293D70 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298114 00293D74 48 00 00 18 */ b lbl_8029812C
+lbl_80298118:
+/* 80298118 00293D78 38 03 03 88 */ addi r0, r3, 0x388
+/* 8029811C 00293D7C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298120 00293D80 54 00 08 3C */ slwi r0, r0, 1
+/* 80298124 00293D84 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298128 00293D88 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_8029812C:
+/* 8029812C 00293D8C B0 1E 00 60 */ sth r0, 0x60(r30)
+lbl_80298130:
+/* 80298130 00293D90 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80298134 00293D94 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80298138 00293D98 41 82 00 E4 */ beq lbl_8029821C
+/* 8029813C 00293D9C 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 80298140 00293DA0 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 80298144 00293DA4 7C 63 02 14 */ add r3, r3, r0
+/* 80298148 00293DA8 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029814C 00293DAC 41 81 00 0C */ bgt lbl_80298158
+/* 80298150 00293DB0 38 00 00 00 */ li r0, 0
+/* 80298154 00293DB4 48 00 00 2C */ b lbl_80298180
+lbl_80298158:
+/* 80298158 00293DB8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029815C 00293DBC 41 80 00 10 */ blt lbl_8029816C
+/* 80298160 00293DC0 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298164 00293DC4 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298168 00293DC8 48 00 00 18 */ b lbl_80298180
+lbl_8029816C:
+/* 8029816C 00293DCC 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298170 00293DD0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298174 00293DD4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298178 00293DD8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 8029817C 00293DDC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298180:
+/* 80298180 00293DE0 B0 1E 00 64 */ sth r0, 0x64(r30)
+/* 80298184 00293DE4 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 80298188 00293DE8 80 1E 00 2C */ lwz r0, 0x2c(r30)
+/* 8029818C 00293DEC 7C 63 02 14 */ add r3, r3, r0
+/* 80298190 00293DF0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298194 00293DF4 41 81 00 0C */ bgt lbl_802981A0
+/* 80298198 00293DF8 38 00 00 00 */ li r0, 0
+/* 8029819C 00293DFC 48 00 00 2C */ b lbl_802981C8
+lbl_802981A0:
+/* 802981A0 00293E00 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802981A4 00293E04 41 80 00 10 */ blt lbl_802981B4
+/* 802981A8 00293E08 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802981AC 00293E0C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802981B0 00293E10 48 00 00 18 */ b lbl_802981C8
+lbl_802981B4:
+/* 802981B4 00293E14 38 03 03 88 */ addi r0, r3, 0x388
+/* 802981B8 00293E18 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802981BC 00293E1C 54 00 08 3C */ slwi r0, r0, 1
+/* 802981C0 00293E20 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802981C4 00293E24 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802981C8:
+/* 802981C8 00293E28 B0 1E 00 68 */ sth r0, 0x68(r30)
+/* 802981CC 00293E2C 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 802981D0 00293E30 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 802981D4 00293E34 7C 63 02 14 */ add r3, r3, r0
+/* 802981D8 00293E38 38 63 FF E2 */ addi r3, r3, -30
+/* 802981DC 00293E3C 2C 03 FC 78 */ cmpwi r3, -904
+/* 802981E0 00293E40 41 81 00 0C */ bgt lbl_802981EC
+/* 802981E4 00293E44 38 00 00 00 */ li r0, 0
+/* 802981E8 00293E48 48 00 00 2C */ b lbl_80298214
+lbl_802981EC:
+/* 802981EC 00293E4C 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802981F0 00293E50 41 80 00 10 */ blt lbl_80298200
+/* 802981F4 00293E54 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802981F8 00293E58 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802981FC 00293E5C 48 00 00 18 */ b lbl_80298214
+lbl_80298200:
+/* 80298200 00293E60 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298204 00293E64 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298208 00293E68 54 00 08 3C */ slwi r0, r0, 1
+/* 8029820C 00293E6C 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298210 00293E70 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298214:
+/* 80298214 00293E74 B0 1E 00 6C */ sth r0, 0x6c(r30)
+/* 80298218 00293E78 48 00 0E 90 */ b lbl_802990A8
+lbl_8029821C:
+/* 8029821C 00293E7C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298220 00293E80 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298224 00293E84 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 80298228 00293E88 7C 04 02 14 */ add r0, r4, r0
+/* 8029822C 00293E8C 7C 63 02 14 */ add r3, r3, r0
+/* 80298230 00293E90 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298234 00293E94 41 81 00 0C */ bgt lbl_80298240
+/* 80298238 00293E98 38 00 00 00 */ li r0, 0
+/* 8029823C 00293E9C 48 00 00 2C */ b lbl_80298268
+lbl_80298240:
+/* 80298240 00293EA0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298244 00293EA4 41 80 00 10 */ blt lbl_80298254
+/* 80298248 00293EA8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029824C 00293EAC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298250 00293EB0 48 00 00 18 */ b lbl_80298268
+lbl_80298254:
+/* 80298254 00293EB4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298258 00293EB8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029825C 00293EBC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298260 00293EC0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298264 00293EC4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298268:
+/* 80298268 00293EC8 B0 1E 00 64 */ sth r0, 0x64(r30)
+/* 8029826C 00293ECC 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298270 00293ED0 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298274 00293ED4 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 80298278 00293ED8 7C 04 02 14 */ add r0, r4, r0
+/* 8029827C 00293EDC 7C 63 02 14 */ add r3, r3, r0
+/* 80298280 00293EE0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298284 00293EE4 41 81 00 0C */ bgt lbl_80298290
+/* 80298288 00293EE8 38 00 00 00 */ li r0, 0
+/* 8029828C 00293EEC 48 00 00 2C */ b lbl_802982B8
+lbl_80298290:
+/* 80298290 00293EF0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298294 00293EF4 41 80 00 10 */ blt lbl_802982A4
+/* 80298298 00293EF8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029829C 00293EFC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802982A0 00293F00 48 00 00 18 */ b lbl_802982B8
+lbl_802982A4:
+/* 802982A4 00293F04 38 03 03 88 */ addi r0, r3, 0x388
+/* 802982A8 00293F08 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802982AC 00293F0C 54 00 08 3C */ slwi r0, r0, 1
+/* 802982B0 00293F10 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802982B4 00293F14 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802982B8:
+/* 802982B8 00293F18 B0 1E 00 68 */ sth r0, 0x68(r30)
+/* 802982BC 00293F1C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 802982C0 00293F20 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 802982C4 00293F24 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 802982C8 00293F28 7C 04 02 14 */ add r0, r4, r0
+/* 802982CC 00293F2C 7C 60 1A 14 */ add r3, r0, r3
+/* 802982D0 00293F30 38 63 FF E2 */ addi r3, r3, -30
+/* 802982D4 00293F34 2C 03 FC 78 */ cmpwi r3, -904
+/* 802982D8 00293F38 41 81 00 0C */ bgt lbl_802982E4
+/* 802982DC 00293F3C 38 00 00 00 */ li r0, 0
+/* 802982E0 00293F40 48 00 00 2C */ b lbl_8029830C
+lbl_802982E4:
+/* 802982E4 00293F44 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802982E8 00293F48 41 80 00 10 */ blt lbl_802982F8
+/* 802982EC 00293F4C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802982F0 00293F50 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802982F4 00293F54 48 00 00 18 */ b lbl_8029830C
+lbl_802982F8:
+/* 802982F8 00293F58 38 03 03 88 */ addi r0, r3, 0x388
+/* 802982FC 00293F5C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298300 00293F60 54 00 08 3C */ slwi r0, r0, 1
+/* 80298304 00293F64 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298308 00293F68 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_8029830C:
+/* 8029830C 00293F6C B0 1E 00 6C */ sth r0, 0x6c(r30)
+/* 80298310 00293F70 48 00 0D 98 */ b lbl_802990A8
+lbl_80298314:
+/* 80298314 00293F74 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298318 00293F78 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 8029831C 00293F7C 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298320 00293F80 7C 04 02 14 */ add r0, r4, r0
+/* 80298324 00293F84 7C 63 02 14 */ add r3, r3, r0
+/* 80298328 00293F88 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029832C 00293F8C 41 81 00 0C */ bgt lbl_80298338
+/* 80298330 00293F90 38 00 00 00 */ li r0, 0
+/* 80298334 00293F94 48 00 00 2C */ b lbl_80298360
+lbl_80298338:
+/* 80298338 00293F98 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029833C 00293F9C 41 80 00 10 */ blt lbl_8029834C
+/* 80298340 00293FA0 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298344 00293FA4 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298348 00293FA8 48 00 00 18 */ b lbl_80298360
+lbl_8029834C:
+/* 8029834C 00293FAC 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298350 00293FB0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298354 00293FB4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298358 00293FB8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 8029835C 00293FBC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298360:
+/* 80298360 00293FC0 B0 1E 00 40 */ sth r0, 0x40(r30)
+/* 80298364 00293FC4 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298368 00293FC8 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 8029836C 00293FCC 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298370 00293FD0 7C 04 02 14 */ add r0, r4, r0
+/* 80298374 00293FD4 7C 63 02 14 */ add r3, r3, r0
+/* 80298378 00293FD8 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029837C 00293FDC 41 81 00 0C */ bgt lbl_80298388
+/* 80298380 00293FE0 38 00 00 00 */ li r0, 0
+/* 80298384 00293FE4 48 00 00 2C */ b lbl_802983B0
+lbl_80298388:
+/* 80298388 00293FE8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029838C 00293FEC 41 80 00 10 */ blt lbl_8029839C
+/* 80298390 00293FF0 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298394 00293FF4 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298398 00293FF8 48 00 00 18 */ b lbl_802983B0
+lbl_8029839C:
+/* 8029839C 00293FFC 38 03 03 88 */ addi r0, r3, 0x388
+/* 802983A0 00294000 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802983A4 00294004 54 00 08 3C */ slwi r0, r0, 1
+/* 802983A8 00294008 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802983AC 0029400C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802983B0:
+/* 802983B0 00294010 B0 1E 00 44 */ sth r0, 0x44(r30)
+/* 802983B4 00294014 80 7E 00 20 */ lwz r3, 0x20(r30)
+/* 802983B8 00294018 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 802983BC 0029401C 7C 63 02 14 */ add r3, r3, r0
+/* 802983C0 00294020 38 63 FF E2 */ addi r3, r3, -30
+/* 802983C4 00294024 2C 03 FC 78 */ cmpwi r3, -904
+/* 802983C8 00294028 41 81 00 0C */ bgt lbl_802983D4
+/* 802983CC 0029402C 38 00 00 00 */ li r0, 0
+/* 802983D0 00294030 48 00 00 2C */ b lbl_802983FC
+lbl_802983D4:
+/* 802983D4 00294034 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802983D8 00294038 41 80 00 10 */ blt lbl_802983E8
+/* 802983DC 0029403C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802983E0 00294040 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802983E4 00294044 48 00 00 18 */ b lbl_802983FC
+lbl_802983E8:
+/* 802983E8 00294048 38 03 03 88 */ addi r0, r3, 0x388
+/* 802983EC 0029404C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802983F0 00294050 54 00 08 3C */ slwi r0, r0, 1
+/* 802983F4 00294054 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802983F8 00294058 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802983FC:
+/* 802983FC 0029405C B0 1E 00 48 */ sth r0, 0x48(r30)
+/* 80298400 00294060 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80298404 00294064 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80298408 00294068 41 82 00 F4 */ beq lbl_802984FC
+/* 8029840C 0029406C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298410 00294070 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298414 00294074 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298418 00294078 7C 04 02 14 */ add r0, r4, r0
+/* 8029841C 0029407C 7C 63 02 14 */ add r3, r3, r0
+/* 80298420 00294080 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298424 00294084 41 81 00 0C */ bgt lbl_80298430
+/* 80298428 00294088 38 00 00 00 */ li r0, 0
+/* 8029842C 0029408C 48 00 00 2C */ b lbl_80298458
+lbl_80298430:
+/* 80298430 00294090 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298434 00294094 41 80 00 10 */ blt lbl_80298444
+/* 80298438 00294098 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029843C 0029409C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298440 002940A0 48 00 00 18 */ b lbl_80298458
+lbl_80298444:
+/* 80298444 002940A4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298448 002940A8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029844C 002940AC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298450 002940B0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298454 002940B4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298458:
+/* 80298458 002940B8 B0 1E 00 4C */ sth r0, 0x4c(r30)
+/* 8029845C 002940BC 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298460 002940C0 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298464 002940C4 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298468 002940C8 7C 04 02 14 */ add r0, r4, r0
+/* 8029846C 002940CC 7C 63 02 14 */ add r3, r3, r0
+/* 80298470 002940D0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298474 002940D4 41 81 00 0C */ bgt lbl_80298480
+/* 80298478 002940D8 38 00 00 00 */ li r0, 0
+/* 8029847C 002940DC 48 00 00 2C */ b lbl_802984A8
+lbl_80298480:
+/* 80298480 002940E0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298484 002940E4 41 80 00 10 */ blt lbl_80298494
+/* 80298488 002940E8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029848C 002940EC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298490 002940F0 48 00 00 18 */ b lbl_802984A8
+lbl_80298494:
+/* 80298494 002940F4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298498 002940F8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029849C 002940FC 54 00 08 3C */ slwi r0, r0, 1
+/* 802984A0 00294100 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802984A4 00294104 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802984A8:
+/* 802984A8 00294108 B0 1E 00 50 */ sth r0, 0x50(r30)
+/* 802984AC 0029410C 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 802984B0 00294110 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 802984B4 00294114 7C 63 02 14 */ add r3, r3, r0
+/* 802984B8 00294118 38 63 FF E2 */ addi r3, r3, -30
+/* 802984BC 0029411C 2C 03 FC 78 */ cmpwi r3, -904
+/* 802984C0 00294120 41 81 00 0C */ bgt lbl_802984CC
+/* 802984C4 00294124 38 00 00 00 */ li r0, 0
+/* 802984C8 00294128 48 00 00 2C */ b lbl_802984F4
+lbl_802984CC:
+/* 802984CC 0029412C 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802984D0 00294130 41 80 00 10 */ blt lbl_802984E0
+/* 802984D4 00294134 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802984D8 00294138 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802984DC 0029413C 48 00 00 18 */ b lbl_802984F4
+lbl_802984E0:
+/* 802984E0 00294140 38 03 03 88 */ addi r0, r3, 0x388
+/* 802984E4 00294144 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802984E8 00294148 54 00 08 3C */ slwi r0, r0, 1
+/* 802984EC 0029414C 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802984F0 00294150 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802984F4:
+/* 802984F4 00294154 B0 1E 00 54 */ sth r0, 0x54(r30)
+/* 802984F8 00294158 48 00 01 08 */ b lbl_80298600
+lbl_802984FC:
+/* 802984FC 0029415C 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298500 00294160 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298504 00294164 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298508 00294168 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 8029850C 0029416C 7C 65 1A 14 */ add r3, r5, r3
+/* 80298510 00294170 7C 04 02 14 */ add r0, r4, r0
+/* 80298514 00294174 7C 63 02 14 */ add r3, r3, r0
+/* 80298518 00294178 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029851C 0029417C 41 81 00 0C */ bgt lbl_80298528
+/* 80298520 00294180 38 00 00 00 */ li r0, 0
+/* 80298524 00294184 48 00 00 2C */ b lbl_80298550
+lbl_80298528:
+/* 80298528 00294188 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029852C 0029418C 41 80 00 10 */ blt lbl_8029853C
+/* 80298530 00294190 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298534 00294194 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298538 00294198 48 00 00 18 */ b lbl_80298550
+lbl_8029853C:
+/* 8029853C 0029419C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298540 002941A0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298544 002941A4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298548 002941A8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 8029854C 002941AC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298550:
+/* 80298550 002941B0 B0 1E 00 4C */ sth r0, 0x4c(r30)
+/* 80298554 002941B4 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298558 002941B8 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 8029855C 002941BC 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298560 002941C0 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298564 002941C4 7C 65 1A 14 */ add r3, r5, r3
+/* 80298568 002941C8 7C 04 02 14 */ add r0, r4, r0
+/* 8029856C 002941CC 7C 63 02 14 */ add r3, r3, r0
+/* 80298570 002941D0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298574 002941D4 41 81 00 0C */ bgt lbl_80298580
+/* 80298578 002941D8 38 00 00 00 */ li r0, 0
+/* 8029857C 002941DC 48 00 00 2C */ b lbl_802985A8
+lbl_80298580:
+/* 80298580 002941E0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298584 002941E4 41 80 00 10 */ blt lbl_80298594
+/* 80298588 002941E8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029858C 002941EC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298590 002941F0 48 00 00 18 */ b lbl_802985A8
+lbl_80298594:
+/* 80298594 002941F4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298598 002941F8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029859C 002941FC 54 00 08 3C */ slwi r0, r0, 1
+/* 802985A0 00294200 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802985A4 00294204 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802985A8:
+/* 802985A8 00294208 B0 1E 00 50 */ sth r0, 0x50(r30)
+/* 802985AC 0029420C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 802985B0 00294210 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 802985B4 00294214 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 802985B8 00294218 7C 04 02 14 */ add r0, r4, r0
+/* 802985BC 0029421C 7C 60 1A 14 */ add r3, r0, r3
+/* 802985C0 00294220 38 63 FF E2 */ addi r3, r3, -30
+/* 802985C4 00294224 2C 03 FC 78 */ cmpwi r3, -904
+/* 802985C8 00294228 41 81 00 0C */ bgt lbl_802985D4
+/* 802985CC 0029422C 38 00 00 00 */ li r0, 0
+/* 802985D0 00294230 48 00 00 2C */ b lbl_802985FC
+lbl_802985D4:
+/* 802985D4 00294234 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802985D8 00294238 41 80 00 10 */ blt lbl_802985E8
+/* 802985DC 0029423C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802985E0 00294240 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802985E4 00294244 48 00 00 18 */ b lbl_802985FC
+lbl_802985E8:
+/* 802985E8 00294248 38 03 03 88 */ addi r0, r3, 0x388
+/* 802985EC 0029424C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802985F0 00294250 54 00 08 3C */ slwi r0, r0, 1
+/* 802985F4 00294254 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802985F8 00294258 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802985FC:
+/* 802985FC 0029425C B0 1E 00 54 */ sth r0, 0x54(r30)
+lbl_80298600:
+/* 80298600 00294260 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80298604 00294264 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80298608 00294268 41 82 00 F4 */ beq lbl_802986FC
+/* 8029860C 0029426C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298610 00294270 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298614 00294274 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298618 00294278 7C 04 02 14 */ add r0, r4, r0
+/* 8029861C 0029427C 7C 63 02 14 */ add r3, r3, r0
+/* 80298620 00294280 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298624 00294284 41 81 00 0C */ bgt lbl_80298630
+/* 80298628 00294288 38 00 00 00 */ li r0, 0
+/* 8029862C 0029428C 48 00 00 2C */ b lbl_80298658
+lbl_80298630:
+/* 80298630 00294290 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298634 00294294 41 80 00 10 */ blt lbl_80298644
+/* 80298638 00294298 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029863C 0029429C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298640 002942A0 48 00 00 18 */ b lbl_80298658
+lbl_80298644:
+/* 80298644 002942A4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298648 002942A8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029864C 002942AC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298650 002942B0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298654 002942B4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298658:
+/* 80298658 002942B8 B0 1E 00 58 */ sth r0, 0x58(r30)
+/* 8029865C 002942BC 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298660 002942C0 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298664 002942C4 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298668 002942C8 7C 04 02 14 */ add r0, r4, r0
+/* 8029866C 002942CC 7C 63 02 14 */ add r3, r3, r0
+/* 80298670 002942D0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298674 002942D4 41 81 00 0C */ bgt lbl_80298680
+/* 80298678 002942D8 38 00 00 00 */ li r0, 0
+/* 8029867C 002942DC 48 00 00 2C */ b lbl_802986A8
+lbl_80298680:
+/* 80298680 002942E0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298684 002942E4 41 80 00 10 */ blt lbl_80298694
+/* 80298688 002942E8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029868C 002942EC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298690 002942F0 48 00 00 18 */ b lbl_802986A8
+lbl_80298694:
+/* 80298694 002942F4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298698 002942F8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029869C 002942FC 54 00 08 3C */ slwi r0, r0, 1
+/* 802986A0 00294300 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802986A4 00294304 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802986A8:
+/* 802986A8 00294308 B0 1E 00 5C */ sth r0, 0x5c(r30)
+/* 802986AC 0029430C 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 802986B0 00294310 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 802986B4 00294314 7C 63 02 14 */ add r3, r3, r0
+/* 802986B8 00294318 38 63 FF E2 */ addi r3, r3, -30
+/* 802986BC 0029431C 2C 03 FC 78 */ cmpwi r3, -904
+/* 802986C0 00294320 41 81 00 0C */ bgt lbl_802986CC
+/* 802986C4 00294324 38 00 00 00 */ li r0, 0
+/* 802986C8 00294328 48 00 00 2C */ b lbl_802986F4
+lbl_802986CC:
+/* 802986CC 0029432C 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802986D0 00294330 41 80 00 10 */ blt lbl_802986E0
+/* 802986D4 00294334 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802986D8 00294338 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802986DC 0029433C 48 00 00 18 */ b lbl_802986F4
+lbl_802986E0:
+/* 802986E0 00294340 38 03 03 88 */ addi r0, r3, 0x388
+/* 802986E4 00294344 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802986E8 00294348 54 00 08 3C */ slwi r0, r0, 1
+/* 802986EC 0029434C 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802986F0 00294350 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802986F4:
+/* 802986F4 00294354 B0 1E 00 60 */ sth r0, 0x60(r30)
+/* 802986F8 00294358 48 00 01 08 */ b lbl_80298800
+lbl_802986FC:
+/* 802986FC 0029435C 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298700 00294360 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298704 00294364 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298708 00294368 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 8029870C 0029436C 7C 65 1A 14 */ add r3, r5, r3
+/* 80298710 00294370 7C 04 02 14 */ add r0, r4, r0
+/* 80298714 00294374 7C 63 02 14 */ add r3, r3, r0
+/* 80298718 00294378 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029871C 0029437C 41 81 00 0C */ bgt lbl_80298728
+/* 80298720 00294380 38 00 00 00 */ li r0, 0
+/* 80298724 00294384 48 00 00 2C */ b lbl_80298750
+lbl_80298728:
+/* 80298728 00294388 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029872C 0029438C 41 80 00 10 */ blt lbl_8029873C
+/* 80298730 00294390 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298734 00294394 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298738 00294398 48 00 00 18 */ b lbl_80298750
+lbl_8029873C:
+/* 8029873C 0029439C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298740 002943A0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298744 002943A4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298748 002943A8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 8029874C 002943AC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298750:
+/* 80298750 002943B0 B0 1E 00 58 */ sth r0, 0x58(r30)
+/* 80298754 002943B4 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298758 002943B8 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 8029875C 002943BC 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298760 002943C0 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298764 002943C4 7C 65 1A 14 */ add r3, r5, r3
+/* 80298768 002943C8 7C 04 02 14 */ add r0, r4, r0
+/* 8029876C 002943CC 7C 63 02 14 */ add r3, r3, r0
+/* 80298770 002943D0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298774 002943D4 41 81 00 0C */ bgt lbl_80298780
+/* 80298778 002943D8 38 00 00 00 */ li r0, 0
+/* 8029877C 002943DC 48 00 00 2C */ b lbl_802987A8
+lbl_80298780:
+/* 80298780 002943E0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298784 002943E4 41 80 00 10 */ blt lbl_80298794
+/* 80298788 002943E8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029878C 002943EC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298790 002943F0 48 00 00 18 */ b lbl_802987A8
+lbl_80298794:
+/* 80298794 002943F4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298798 002943F8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029879C 002943FC 54 00 08 3C */ slwi r0, r0, 1
+/* 802987A0 00294400 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802987A4 00294404 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802987A8:
+/* 802987A8 00294408 B0 1E 00 5C */ sth r0, 0x5c(r30)
+/* 802987AC 0029440C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 802987B0 00294410 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 802987B4 00294414 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 802987B8 00294418 7C 04 02 14 */ add r0, r4, r0
+/* 802987BC 0029441C 7C 60 1A 14 */ add r3, r0, r3
+/* 802987C0 00294420 38 63 FF E2 */ addi r3, r3, -30
+/* 802987C4 00294424 2C 03 FC 78 */ cmpwi r3, -904
+/* 802987C8 00294428 41 81 00 0C */ bgt lbl_802987D4
+/* 802987CC 0029442C 38 00 00 00 */ li r0, 0
+/* 802987D0 00294430 48 00 00 2C */ b lbl_802987FC
+lbl_802987D4:
+/* 802987D4 00294434 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802987D8 00294438 41 80 00 10 */ blt lbl_802987E8
+/* 802987DC 0029443C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802987E0 00294440 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802987E4 00294444 48 00 00 18 */ b lbl_802987FC
+lbl_802987E8:
+/* 802987E8 00294448 38 03 03 88 */ addi r0, r3, 0x388
+/* 802987EC 0029444C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802987F0 00294450 54 00 08 3C */ slwi r0, r0, 1
+/* 802987F4 00294454 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802987F8 00294458 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802987FC:
+/* 802987FC 0029445C B0 1E 00 60 */ sth r0, 0x60(r30)
+lbl_80298800:
+/* 80298800 00294460 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80298804 00294464 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80298808 00294468 41 82 00 F4 */ beq lbl_802988FC
+/* 8029880C 0029446C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298810 00294470 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 80298814 00294474 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298818 00294478 7C 04 02 14 */ add r0, r4, r0
+/* 8029881C 0029447C 7C 63 02 14 */ add r3, r3, r0
+/* 80298820 00294480 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298824 00294484 41 81 00 0C */ bgt lbl_80298830
+/* 80298828 00294488 38 00 00 00 */ li r0, 0
+/* 8029882C 0029448C 48 00 00 2C */ b lbl_80298858
+lbl_80298830:
+/* 80298830 00294490 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298834 00294494 41 80 00 10 */ blt lbl_80298844
+/* 80298838 00294498 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029883C 0029449C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298840 002944A0 48 00 00 18 */ b lbl_80298858
+lbl_80298844:
+/* 80298844 002944A4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298848 002944A8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029884C 002944AC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298850 002944B0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298854 002944B4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298858:
+/* 80298858 002944B8 B0 1E 00 64 */ sth r0, 0x64(r30)
+/* 8029885C 002944BC 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298860 002944C0 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 80298864 002944C4 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298868 002944C8 7C 04 02 14 */ add r0, r4, r0
+/* 8029886C 002944CC 7C 63 02 14 */ add r3, r3, r0
+/* 80298870 002944D0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298874 002944D4 41 81 00 0C */ bgt lbl_80298880
+/* 80298878 002944D8 38 00 00 00 */ li r0, 0
+/* 8029887C 002944DC 48 00 00 2C */ b lbl_802988A8
+lbl_80298880:
+/* 80298880 002944E0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298884 002944E4 41 80 00 10 */ blt lbl_80298894
+/* 80298888 002944E8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029888C 002944EC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298890 002944F0 48 00 00 18 */ b lbl_802988A8
+lbl_80298894:
+/* 80298894 002944F4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298898 002944F8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029889C 002944FC 54 00 08 3C */ slwi r0, r0, 1
+/* 802988A0 00294500 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802988A4 00294504 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802988A8:
+/* 802988A8 00294508 B0 1E 00 68 */ sth r0, 0x68(r30)
+/* 802988AC 0029450C 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 802988B0 00294510 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 802988B4 00294514 7C 63 02 14 */ add r3, r3, r0
+/* 802988B8 00294518 38 63 FF E2 */ addi r3, r3, -30
+/* 802988BC 0029451C 2C 03 FC 78 */ cmpwi r3, -904
+/* 802988C0 00294520 41 81 00 0C */ bgt lbl_802988CC
+/* 802988C4 00294524 38 00 00 00 */ li r0, 0
+/* 802988C8 00294528 48 00 00 2C */ b lbl_802988F4
+lbl_802988CC:
+/* 802988CC 0029452C 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802988D0 00294530 41 80 00 10 */ blt lbl_802988E0
+/* 802988D4 00294534 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802988D8 00294538 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802988DC 0029453C 48 00 00 18 */ b lbl_802988F4
+lbl_802988E0:
+/* 802988E0 00294540 38 03 03 88 */ addi r0, r3, 0x388
+/* 802988E4 00294544 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802988E8 00294548 54 00 08 3C */ slwi r0, r0, 1
+/* 802988EC 0029454C 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802988F0 00294550 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802988F4:
+/* 802988F4 00294554 B0 1E 00 6C */ sth r0, 0x6c(r30)
+/* 802988F8 00294558 48 00 07 B0 */ b lbl_802990A8
+lbl_802988FC:
+/* 802988FC 0029455C 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298900 00294560 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298904 00294564 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298908 00294568 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8029890C 0029456C 7C 65 1A 14 */ add r3, r5, r3
+/* 80298910 00294570 7C 04 02 14 */ add r0, r4, r0
+/* 80298914 00294574 7C 63 02 14 */ add r3, r3, r0
+/* 80298918 00294578 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029891C 0029457C 41 81 00 0C */ bgt lbl_80298928
+/* 80298920 00294580 38 00 00 00 */ li r0, 0
+/* 80298924 00294584 48 00 00 2C */ b lbl_80298950
+lbl_80298928:
+/* 80298928 00294588 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029892C 0029458C 41 80 00 10 */ blt lbl_8029893C
+/* 80298930 00294590 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298934 00294594 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298938 00294598 48 00 00 18 */ b lbl_80298950
+lbl_8029893C:
+/* 8029893C 0029459C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298940 002945A0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298944 002945A4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298948 002945A8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 8029894C 002945AC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298950:
+/* 80298950 002945B0 B0 1E 00 64 */ sth r0, 0x64(r30)
+/* 80298954 002945B4 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298958 002945B8 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 8029895C 002945BC 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298960 002945C0 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 80298964 002945C4 7C 65 1A 14 */ add r3, r5, r3
+/* 80298968 002945C8 7C 04 02 14 */ add r0, r4, r0
+/* 8029896C 002945CC 7C 63 02 14 */ add r3, r3, r0
+/* 80298970 002945D0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298974 002945D4 41 81 00 0C */ bgt lbl_80298980
+/* 80298978 002945D8 38 00 00 00 */ li r0, 0
+/* 8029897C 002945DC 48 00 00 2C */ b lbl_802989A8
+lbl_80298980:
+/* 80298980 002945E0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298984 002945E4 41 80 00 10 */ blt lbl_80298994
+/* 80298988 002945E8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029898C 002945EC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298990 002945F0 48 00 00 18 */ b lbl_802989A8
+lbl_80298994:
+/* 80298994 002945F4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298998 002945F8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029899C 002945FC 54 00 08 3C */ slwi r0, r0, 1
+/* 802989A0 00294600 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802989A4 00294604 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802989A8:
+/* 802989A8 00294608 B0 1E 00 68 */ sth r0, 0x68(r30)
+/* 802989AC 0029460C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 802989B0 00294610 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 802989B4 00294614 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 802989B8 00294618 7C 04 02 14 */ add r0, r4, r0
+/* 802989BC 0029461C 7C 60 1A 14 */ add r3, r0, r3
+/* 802989C0 00294620 38 63 FF E2 */ addi r3, r3, -30
+/* 802989C4 00294624 2C 03 FC 78 */ cmpwi r3, -904
+/* 802989C8 00294628 41 81 00 0C */ bgt lbl_802989D4
+/* 802989CC 0029462C 38 00 00 00 */ li r0, 0
+/* 802989D0 00294630 48 00 00 2C */ b lbl_802989FC
+lbl_802989D4:
+/* 802989D4 00294634 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 802989D8 00294638 41 80 00 10 */ blt lbl_802989E8
+/* 802989DC 0029463C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 802989E0 00294640 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 802989E4 00294644 48 00 00 18 */ b lbl_802989FC
+lbl_802989E8:
+/* 802989E8 00294648 38 03 03 88 */ addi r0, r3, 0x388
+/* 802989EC 0029464C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802989F0 00294650 54 00 08 3C */ slwi r0, r0, 1
+/* 802989F4 00294654 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 802989F8 00294658 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802989FC:
+/* 802989FC 0029465C B0 1E 00 6C */ sth r0, 0x6c(r30)
+/* 80298A00 00294660 48 00 06 A8 */ b lbl_802990A8
+lbl_80298A04:
+/* 80298A04 00294664 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298A08 00294668 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298A0C 0029466C 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298A10 00294670 7C 04 02 14 */ add r0, r4, r0
+/* 80298A14 00294674 7C 63 02 14 */ add r3, r3, r0
+/* 80298A18 00294678 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298A1C 0029467C 41 81 00 0C */ bgt lbl_80298A28
+/* 80298A20 00294680 38 00 00 00 */ li r0, 0
+/* 80298A24 00294684 48 00 00 2C */ b lbl_80298A50
+lbl_80298A28:
+/* 80298A28 00294688 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298A2C 0029468C 41 80 00 10 */ blt lbl_80298A3C
+/* 80298A30 00294690 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298A34 00294694 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298A38 00294698 48 00 00 18 */ b lbl_80298A50
+lbl_80298A3C:
+/* 80298A3C 0029469C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298A40 002946A0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298A44 002946A4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298A48 002946A8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298A4C 002946AC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298A50:
+/* 80298A50 002946B0 B0 1E 00 40 */ sth r0, 0x40(r30)
+/* 80298A54 002946B4 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298A58 002946B8 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298A5C 002946BC 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298A60 002946C0 7C 04 02 14 */ add r0, r4, r0
+/* 80298A64 002946C4 7C 63 02 14 */ add r3, r3, r0
+/* 80298A68 002946C8 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298A6C 002946CC 41 81 00 0C */ bgt lbl_80298A78
+/* 80298A70 002946D0 38 00 00 00 */ li r0, 0
+/* 80298A74 002946D4 48 00 00 2C */ b lbl_80298AA0
+lbl_80298A78:
+/* 80298A78 002946D8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298A7C 002946DC 41 80 00 10 */ blt lbl_80298A8C
+/* 80298A80 002946E0 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298A84 002946E4 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298A88 002946E8 48 00 00 18 */ b lbl_80298AA0
+lbl_80298A8C:
+/* 80298A8C 002946EC 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298A90 002946F0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298A94 002946F4 54 00 08 3C */ slwi r0, r0, 1
+/* 80298A98 002946F8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298A9C 002946FC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298AA0:
+/* 80298AA0 00294700 B0 1E 00 44 */ sth r0, 0x44(r30)
+/* 80298AA4 00294704 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80298AA8 00294708 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298AAC 0029470C 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80298AB0 00294710 7C 04 02 14 */ add r0, r4, r0
+/* 80298AB4 00294714 7C 63 02 14 */ add r3, r3, r0
+/* 80298AB8 00294718 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298ABC 0029471C 41 81 00 0C */ bgt lbl_80298AC8
+/* 80298AC0 00294720 38 00 00 00 */ li r0, 0
+/* 80298AC4 00294724 48 00 00 2C */ b lbl_80298AF0
+lbl_80298AC8:
+/* 80298AC8 00294728 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298ACC 0029472C 41 80 00 10 */ blt lbl_80298ADC
+/* 80298AD0 00294730 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298AD4 00294734 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298AD8 00294738 48 00 00 18 */ b lbl_80298AF0
+lbl_80298ADC:
+/* 80298ADC 0029473C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298AE0 00294740 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298AE4 00294744 54 00 08 3C */ slwi r0, r0, 1
+/* 80298AE8 00294748 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298AEC 0029474C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298AF0:
+/* 80298AF0 00294750 B0 1E 00 48 */ sth r0, 0x48(r30)
+/* 80298AF4 00294754 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80298AF8 00294758 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 80298AFC 0029475C 80 7E 00 38 */ lwz r3, 0x38(r30)
+/* 80298B00 00294760 7C 04 02 14 */ add r0, r4, r0
+/* 80298B04 00294764 7C 63 02 14 */ add r3, r3, r0
+/* 80298B08 00294768 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298B0C 0029476C 41 81 00 0C */ bgt lbl_80298B18
+/* 80298B10 00294770 38 00 00 00 */ li r0, 0
+/* 80298B14 00294774 48 00 00 2C */ b lbl_80298B40
+lbl_80298B18:
+/* 80298B18 00294778 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298B1C 0029477C 41 80 00 10 */ blt lbl_80298B2C
+/* 80298B20 00294780 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298B24 00294784 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298B28 00294788 48 00 00 18 */ b lbl_80298B40
+lbl_80298B2C:
+/* 80298B2C 0029478C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298B30 00294790 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298B34 00294794 54 00 08 3C */ slwi r0, r0, 1
+/* 80298B38 00294798 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298B3C 0029479C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298B40:
+/* 80298B40 002947A0 B0 1E 00 64 */ sth r0, 0x64(r30)
+/* 80298B44 002947A4 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80298B48 002947A8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80298B4C 002947AC 41 82 01 48 */ beq lbl_80298C94
+/* 80298B50 002947B0 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298B54 002947B4 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298B58 002947B8 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298B5C 002947BC 7C 04 02 14 */ add r0, r4, r0
+/* 80298B60 002947C0 7C 63 02 14 */ add r3, r3, r0
+/* 80298B64 002947C4 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298B68 002947C8 41 81 00 0C */ bgt lbl_80298B74
+/* 80298B6C 002947CC 38 00 00 00 */ li r0, 0
+/* 80298B70 002947D0 48 00 00 2C */ b lbl_80298B9C
+lbl_80298B74:
+/* 80298B74 002947D4 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298B78 002947D8 41 80 00 10 */ blt lbl_80298B88
+/* 80298B7C 002947DC 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298B80 002947E0 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298B84 002947E4 48 00 00 18 */ b lbl_80298B9C
+lbl_80298B88:
+/* 80298B88 002947E8 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298B8C 002947EC 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298B90 002947F0 54 00 08 3C */ slwi r0, r0, 1
+/* 80298B94 002947F4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298B98 002947F8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298B9C:
+/* 80298B9C 002947FC B0 1E 00 4C */ sth r0, 0x4c(r30)
+/* 80298BA0 00294800 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298BA4 00294804 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298BA8 00294808 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298BAC 0029480C 7C 04 02 14 */ add r0, r4, r0
+/* 80298BB0 00294810 7C 63 02 14 */ add r3, r3, r0
+/* 80298BB4 00294814 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298BB8 00294818 41 81 00 0C */ bgt lbl_80298BC4
+/* 80298BBC 0029481C 38 00 00 00 */ li r0, 0
+/* 80298BC0 00294820 48 00 00 2C */ b lbl_80298BEC
+lbl_80298BC4:
+/* 80298BC4 00294824 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298BC8 00294828 41 80 00 10 */ blt lbl_80298BD8
+/* 80298BCC 0029482C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298BD0 00294830 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298BD4 00294834 48 00 00 18 */ b lbl_80298BEC
+lbl_80298BD8:
+/* 80298BD8 00294838 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298BDC 0029483C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298BE0 00294840 54 00 08 3C */ slwi r0, r0, 1
+/* 80298BE4 00294844 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298BE8 00294848 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298BEC:
+/* 80298BEC 0029484C B0 1E 00 50 */ sth r0, 0x50(r30)
+/* 80298BF0 00294850 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80298BF4 00294854 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298BF8 00294858 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80298BFC 0029485C 7C 04 02 14 */ add r0, r4, r0
+/* 80298C00 00294860 7C 63 02 14 */ add r3, r3, r0
+/* 80298C04 00294864 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298C08 00294868 41 81 00 0C */ bgt lbl_80298C14
+/* 80298C0C 0029486C 38 00 00 00 */ li r0, 0
+/* 80298C10 00294870 48 00 00 2C */ b lbl_80298C3C
+lbl_80298C14:
+/* 80298C14 00294874 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298C18 00294878 41 80 00 10 */ blt lbl_80298C28
+/* 80298C1C 0029487C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298C20 00294880 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298C24 00294884 48 00 00 18 */ b lbl_80298C3C
+lbl_80298C28:
+/* 80298C28 00294888 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298C2C 0029488C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298C30 00294890 54 00 08 3C */ slwi r0, r0, 1
+/* 80298C34 00294894 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298C38 00294898 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298C3C:
+/* 80298C3C 0029489C B0 1E 00 54 */ sth r0, 0x54(r30)
+/* 80298C40 002948A0 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80298C44 002948A4 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298C48 002948A8 80 7E 00 38 */ lwz r3, 0x38(r30)
+/* 80298C4C 002948AC 7C 04 02 14 */ add r0, r4, r0
+/* 80298C50 002948B0 7C 63 02 14 */ add r3, r3, r0
+/* 80298C54 002948B4 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298C58 002948B8 41 81 00 0C */ bgt lbl_80298C64
+/* 80298C5C 002948BC 38 00 00 00 */ li r0, 0
+/* 80298C60 002948C0 48 00 00 2C */ b lbl_80298C8C
+lbl_80298C64:
+/* 80298C64 002948C4 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298C68 002948C8 41 80 00 10 */ blt lbl_80298C78
+/* 80298C6C 002948CC 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298C70 002948D0 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298C74 002948D4 48 00 00 18 */ b lbl_80298C8C
+lbl_80298C78:
+/* 80298C78 002948D8 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298C7C 002948DC 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298C80 002948E0 54 00 08 3C */ slwi r0, r0, 1
+/* 80298C84 002948E4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298C88 002948E8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298C8C:
+/* 80298C8C 002948EC B0 1E 00 68 */ sth r0, 0x68(r30)
+/* 80298C90 002948F0 48 00 01 64 */ b lbl_80298DF4
+lbl_80298C94:
+/* 80298C94 002948F4 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298C98 002948F8 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298C9C 002948FC 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298CA0 00294900 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298CA4 00294904 7C 65 1A 14 */ add r3, r5, r3
+/* 80298CA8 00294908 7C 04 02 14 */ add r0, r4, r0
+/* 80298CAC 0029490C 7C 63 02 14 */ add r3, r3, r0
+/* 80298CB0 00294910 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298CB4 00294914 41 81 00 0C */ bgt lbl_80298CC0
+/* 80298CB8 00294918 38 00 00 00 */ li r0, 0
+/* 80298CBC 0029491C 48 00 00 2C */ b lbl_80298CE8
+lbl_80298CC0:
+/* 80298CC0 00294920 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298CC4 00294924 41 80 00 10 */ blt lbl_80298CD4
+/* 80298CC8 00294928 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298CCC 0029492C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298CD0 00294930 48 00 00 18 */ b lbl_80298CE8
+lbl_80298CD4:
+/* 80298CD4 00294934 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298CD8 00294938 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298CDC 0029493C 54 00 08 3C */ slwi r0, r0, 1
+/* 80298CE0 00294940 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298CE4 00294944 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298CE8:
+/* 80298CE8 00294948 B0 1E 00 4C */ sth r0, 0x4c(r30)
+/* 80298CEC 0029494C 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298CF0 00294950 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298CF4 00294954 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298CF8 00294958 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298CFC 0029495C 7C 65 1A 14 */ add r3, r5, r3
+/* 80298D00 00294960 7C 04 02 14 */ add r0, r4, r0
+/* 80298D04 00294964 7C 63 02 14 */ add r3, r3, r0
+/* 80298D08 00294968 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298D0C 0029496C 41 81 00 0C */ bgt lbl_80298D18
+/* 80298D10 00294970 38 00 00 00 */ li r0, 0
+/* 80298D14 00294974 48 00 00 2C */ b lbl_80298D40
+lbl_80298D18:
+/* 80298D18 00294978 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298D1C 0029497C 41 80 00 10 */ blt lbl_80298D2C
+/* 80298D20 00294980 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298D24 00294984 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298D28 00294988 48 00 00 18 */ b lbl_80298D40
+lbl_80298D2C:
+/* 80298D2C 0029498C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298D30 00294990 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298D34 00294994 54 00 08 3C */ slwi r0, r0, 1
+/* 80298D38 00294998 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298D3C 0029499C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298D40:
+/* 80298D40 002949A0 B0 1E 00 50 */ sth r0, 0x50(r30)
+/* 80298D44 002949A4 80 BE 00 30 */ lwz r5, 0x30(r30)
+/* 80298D48 002949A8 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80298D4C 002949AC 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298D50 002949B0 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298D54 002949B4 7C 65 1A 14 */ add r3, r5, r3
+/* 80298D58 002949B8 7C 04 02 14 */ add r0, r4, r0
+/* 80298D5C 002949BC 7C 63 02 14 */ add r3, r3, r0
+/* 80298D60 002949C0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298D64 002949C4 41 81 00 0C */ bgt lbl_80298D70
+/* 80298D68 002949C8 38 00 00 00 */ li r0, 0
+/* 80298D6C 002949CC 48 00 00 2C */ b lbl_80298D98
+lbl_80298D70:
+/* 80298D70 002949D0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298D74 002949D4 41 80 00 10 */ blt lbl_80298D84
+/* 80298D78 002949D8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298D7C 002949DC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298D80 002949E0 48 00 00 18 */ b lbl_80298D98
+lbl_80298D84:
+/* 80298D84 002949E4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298D88 002949E8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298D8C 002949EC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298D90 002949F0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298D94 002949F4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298D98:
+/* 80298D98 002949F8 B0 1E 00 54 */ sth r0, 0x54(r30)
+/* 80298D9C 002949FC 80 BE 00 30 */ lwz r5, 0x30(r30)
+/* 80298DA0 00294A00 80 7E 00 38 */ lwz r3, 0x38(r30)
+/* 80298DA4 00294A04 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298DA8 00294A08 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80298DAC 00294A0C 7C 65 1A 14 */ add r3, r5, r3
+/* 80298DB0 00294A10 7C 04 02 14 */ add r0, r4, r0
+/* 80298DB4 00294A14 7C 63 02 14 */ add r3, r3, r0
+/* 80298DB8 00294A18 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298DBC 00294A1C 41 81 00 0C */ bgt lbl_80298DC8
+/* 80298DC0 00294A20 38 00 00 00 */ li r0, 0
+/* 80298DC4 00294A24 48 00 00 2C */ b lbl_80298DF0
+lbl_80298DC8:
+/* 80298DC8 00294A28 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298DCC 00294A2C 41 80 00 10 */ blt lbl_80298DDC
+/* 80298DD0 00294A30 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298DD4 00294A34 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298DD8 00294A38 48 00 00 18 */ b lbl_80298DF0
+lbl_80298DDC:
+/* 80298DDC 00294A3C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298DE0 00294A40 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298DE4 00294A44 54 00 08 3C */ slwi r0, r0, 1
+/* 80298DE8 00294A48 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298DEC 00294A4C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298DF0:
+/* 80298DF0 00294A50 B0 1E 00 68 */ sth r0, 0x68(r30)
+lbl_80298DF4:
+/* 80298DF4 00294A54 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80298DF8 00294A58 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80298DFC 00294A5C 41 82 01 48 */ beq lbl_80298F44
+/* 80298E00 00294A60 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298E04 00294A64 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298E08 00294A68 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298E0C 00294A6C 7C 04 02 14 */ add r0, r4, r0
+/* 80298E10 00294A70 7C 63 02 14 */ add r3, r3, r0
+/* 80298E14 00294A74 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298E18 00294A78 41 81 00 0C */ bgt lbl_80298E24
+/* 80298E1C 00294A7C 38 00 00 00 */ li r0, 0
+/* 80298E20 00294A80 48 00 00 2C */ b lbl_80298E4C
+lbl_80298E24:
+/* 80298E24 00294A84 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298E28 00294A88 41 80 00 10 */ blt lbl_80298E38
+/* 80298E2C 00294A8C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298E30 00294A90 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298E34 00294A94 48 00 00 18 */ b lbl_80298E4C
+lbl_80298E38:
+/* 80298E38 00294A98 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298E3C 00294A9C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298E40 00294AA0 54 00 08 3C */ slwi r0, r0, 1
+/* 80298E44 00294AA4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298E48 00294AA8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298E4C:
+/* 80298E4C 00294AAC B0 1E 00 58 */ sth r0, 0x58(r30)
+/* 80298E50 00294AB0 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 80298E54 00294AB4 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298E58 00294AB8 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298E5C 00294ABC 7C 04 02 14 */ add r0, r4, r0
+/* 80298E60 00294AC0 7C 63 02 14 */ add r3, r3, r0
+/* 80298E64 00294AC4 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298E68 00294AC8 41 81 00 0C */ bgt lbl_80298E74
+/* 80298E6C 00294ACC 38 00 00 00 */ li r0, 0
+/* 80298E70 00294AD0 48 00 00 2C */ b lbl_80298E9C
+lbl_80298E74:
+/* 80298E74 00294AD4 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298E78 00294AD8 41 80 00 10 */ blt lbl_80298E88
+/* 80298E7C 00294ADC 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298E80 00294AE0 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298E84 00294AE4 48 00 00 18 */ b lbl_80298E9C
+lbl_80298E88:
+/* 80298E88 00294AE8 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298E8C 00294AEC 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298E90 00294AF0 54 00 08 3C */ slwi r0, r0, 1
+/* 80298E94 00294AF4 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298E98 00294AF8 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298E9C:
+/* 80298E9C 00294AFC B0 1E 00 5C */ sth r0, 0x5c(r30)
+/* 80298EA0 00294B00 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80298EA4 00294B04 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298EA8 00294B08 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80298EAC 00294B0C 7C 04 02 14 */ add r0, r4, r0
+/* 80298EB0 00294B10 7C 63 02 14 */ add r3, r3, r0
+/* 80298EB4 00294B14 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298EB8 00294B18 41 81 00 0C */ bgt lbl_80298EC4
+/* 80298EBC 00294B1C 38 00 00 00 */ li r0, 0
+/* 80298EC0 00294B20 48 00 00 2C */ b lbl_80298EEC
+lbl_80298EC4:
+/* 80298EC4 00294B24 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298EC8 00294B28 41 80 00 10 */ blt lbl_80298ED8
+/* 80298ECC 00294B2C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298ED0 00294B30 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298ED4 00294B34 48 00 00 18 */ b lbl_80298EEC
+lbl_80298ED8:
+/* 80298ED8 00294B38 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298EDC 00294B3C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298EE0 00294B40 54 00 08 3C */ slwi r0, r0, 1
+/* 80298EE4 00294B44 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298EE8 00294B48 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298EEC:
+/* 80298EEC 00294B4C B0 1E 00 60 */ sth r0, 0x60(r30)
+/* 80298EF0 00294B50 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80298EF4 00294B54 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298EF8 00294B58 80 7E 00 38 */ lwz r3, 0x38(r30)
+/* 80298EFC 00294B5C 7C 04 02 14 */ add r0, r4, r0
+/* 80298F00 00294B60 7C 63 02 14 */ add r3, r3, r0
+/* 80298F04 00294B64 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298F08 00294B68 41 81 00 0C */ bgt lbl_80298F14
+/* 80298F0C 00294B6C 38 00 00 00 */ li r0, 0
+/* 80298F10 00294B70 48 00 00 2C */ b lbl_80298F3C
+lbl_80298F14:
+/* 80298F14 00294B74 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298F18 00294B78 41 80 00 10 */ blt lbl_80298F28
+/* 80298F1C 00294B7C 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298F20 00294B80 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298F24 00294B84 48 00 00 18 */ b lbl_80298F3C
+lbl_80298F28:
+/* 80298F28 00294B88 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298F2C 00294B8C 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298F30 00294B90 54 00 08 3C */ slwi r0, r0, 1
+/* 80298F34 00294B94 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298F38 00294B98 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298F3C:
+/* 80298F3C 00294B9C B0 1E 00 6C */ sth r0, 0x6c(r30)
+/* 80298F40 00294BA0 48 00 01 64 */ b lbl_802990A4
+lbl_80298F44:
+/* 80298F44 00294BA4 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298F48 00294BA8 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80298F4C 00294BAC 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298F50 00294BB0 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298F54 00294BB4 7C 65 1A 14 */ add r3, r5, r3
+/* 80298F58 00294BB8 7C 04 02 14 */ add r0, r4, r0
+/* 80298F5C 00294BBC 7C 63 02 14 */ add r3, r3, r0
+/* 80298F60 00294BC0 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298F64 00294BC4 41 81 00 0C */ bgt lbl_80298F70
+/* 80298F68 00294BC8 38 00 00 00 */ li r0, 0
+/* 80298F6C 00294BCC 48 00 00 2C */ b lbl_80298F98
+lbl_80298F70:
+/* 80298F70 00294BD0 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298F74 00294BD4 41 80 00 10 */ blt lbl_80298F84
+/* 80298F78 00294BD8 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298F7C 00294BDC 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298F80 00294BE0 48 00 00 18 */ b lbl_80298F98
+lbl_80298F84:
+/* 80298F84 00294BE4 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298F88 00294BE8 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298F8C 00294BEC 54 00 08 3C */ slwi r0, r0, 1
+/* 80298F90 00294BF0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298F94 00294BF4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298F98:
+/* 80298F98 00294BF8 B0 1E 00 58 */ sth r0, 0x58(r30)
+/* 80298F9C 00294BFC 80 BE 00 2C */ lwz r5, 0x2c(r30)
+/* 80298FA0 00294C00 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80298FA4 00294C04 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80298FA8 00294C08 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80298FAC 00294C0C 7C 65 1A 14 */ add r3, r5, r3
+/* 80298FB0 00294C10 7C 04 02 14 */ add r0, r4, r0
+/* 80298FB4 00294C14 7C 63 02 14 */ add r3, r3, r0
+/* 80298FB8 00294C18 2C 03 FC 78 */ cmpwi r3, -904
+/* 80298FBC 00294C1C 41 81 00 0C */ bgt lbl_80298FC8
+/* 80298FC0 00294C20 38 00 00 00 */ li r0, 0
+/* 80298FC4 00294C24 48 00 00 2C */ b lbl_80298FF0
+lbl_80298FC8:
+/* 80298FC8 00294C28 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80298FCC 00294C2C 41 80 00 10 */ blt lbl_80298FDC
+/* 80298FD0 00294C30 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80298FD4 00294C34 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80298FD8 00294C38 48 00 00 18 */ b lbl_80298FF0
+lbl_80298FDC:
+/* 80298FDC 00294C3C 38 03 03 88 */ addi r0, r3, 0x388
+/* 80298FE0 00294C40 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80298FE4 00294C44 54 00 08 3C */ slwi r0, r0, 1
+/* 80298FE8 00294C48 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80298FEC 00294C4C 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80298FF0:
+/* 80298FF0 00294C50 B0 1E 00 5C */ sth r0, 0x5c(r30)
+/* 80298FF4 00294C54 80 BE 00 30 */ lwz r5, 0x30(r30)
+/* 80298FF8 00294C58 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80298FFC 00294C5C 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80299000 00294C60 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 80299004 00294C64 7C 65 1A 14 */ add r3, r5, r3
+/* 80299008 00294C68 7C 04 02 14 */ add r0, r4, r0
+/* 8029900C 00294C6C 7C 63 02 14 */ add r3, r3, r0
+/* 80299010 00294C70 2C 03 FC 78 */ cmpwi r3, -904
+/* 80299014 00294C74 41 81 00 0C */ bgt lbl_80299020
+/* 80299018 00294C78 38 00 00 00 */ li r0, 0
+/* 8029901C 00294C7C 48 00 00 2C */ b lbl_80299048
+lbl_80299020:
+/* 80299020 00294C80 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 80299024 00294C84 41 80 00 10 */ blt lbl_80299034
+/* 80299028 00294C88 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 8029902C 00294C8C 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80299030 00294C90 48 00 00 18 */ b lbl_80299048
+lbl_80299034:
+/* 80299034 00294C94 38 03 03 88 */ addi r0, r3, 0x388
+/* 80299038 00294C98 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 8029903C 00294C9C 54 00 08 3C */ slwi r0, r0, 1
+/* 80299040 00294CA0 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 80299044 00294CA4 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_80299048:
+/* 80299048 00294CA8 B0 1E 00 60 */ sth r0, 0x60(r30)
+/* 8029904C 00294CAC 80 BE 00 30 */ lwz r5, 0x30(r30)
+/* 80299050 00294CB0 80 7E 00 38 */ lwz r3, 0x38(r30)
+/* 80299054 00294CB4 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 80299058 00294CB8 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 8029905C 00294CBC 7C 65 1A 14 */ add r3, r5, r3
+/* 80299060 00294CC0 7C 04 02 14 */ add r0, r4, r0
+/* 80299064 00294CC4 7C 63 02 14 */ add r3, r3, r0
+/* 80299068 00294CC8 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029906C 00294CCC 41 81 00 0C */ bgt lbl_80299078
+/* 80299070 00294CD0 38 00 00 00 */ li r0, 0
+/* 80299074 00294CD4 48 00 00 2C */ b lbl_802990A0
+lbl_80299078:
+/* 80299078 00294CD8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029907C 00294CDC 41 80 00 10 */ blt lbl_8029908C
+/* 80299080 00294CE0 3C 60 00 01 */ lis r3, 0x0000FF64@ha
+/* 80299084 00294CE4 38 03 FF 64 */ addi r0, r3, 0x0000FF64@l
+/* 80299088 00294CE8 48 00 00 18 */ b lbl_802990A0
+lbl_8029908C:
+/* 8029908C 00294CEC 38 03 03 88 */ addi r0, r3, 0x388
+/* 80299090 00294CF0 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 80299094 00294CF4 54 00 08 3C */ slwi r0, r0, 1
+/* 80299098 00294CF8 38 63 B1 70 */ addi r3, r3, lbl_8043B170@l
+/* 8029909C 00294CFC 7C 03 02 2E */ lhzx r0, r3, r0
+lbl_802990A0:
+/* 802990A0 00294D00 B0 1E 00 6C */ sth r0, 0x6c(r30)
+lbl_802990A4:
+/* 802990A4 00294D04 67 BD 80 00 */ oris r29, r29, 0x8000
+lbl_802990A8:
+/* 802990A8 00294D08 80 7C 00 18 */ lwz r3, 0x18(r28)
+/* 802990AC 00294D0C 48 00 1C F5 */ bl __MIXRmtResetChannel
+/* 802990B0 00294D10 4B FD 56 AD */ bl OSDisableInterrupts
+/* 802990B4 00294D14 A0 9E 00 3C */ lhz r4, 0x3c(r30)
+/* 802990B8 00294D18 38 00 00 00 */ li r0, 0
+/* 802990BC 00294D1C 7C 7F 1B 78 */ mr r31, r3
+/* 802990C0 00294D20 38 7C 00 3E */ addi r3, r28, 0x3e
+/* 802990C4 00294D24 B0 9C 00 92 */ sth r4, 0x92(r28)
+/* 802990C8 00294D28 B0 1C 00 94 */ sth r0, 0x94(r28)
+/* 802990CC 00294D2C A0 1E 00 40 */ lhz r0, 0x40(r30)
+/* 802990D0 00294D30 2C 00 00 00 */ cmpwi r0, 0
+/* 802990D4 00294D34 B0 1C 00 3C */ sth r0, 0x3c(r28)
+/* 802990D8 00294D38 41 82 00 08 */ beq lbl_802990E0
+/* 802990DC 00294D3C 63 BD 00 01 */ ori r29, r29, 1
+lbl_802990E0:
+/* 802990E0 00294D40 38 00 00 00 */ li r0, 0
+/* 802990E4 00294D44 B0 03 00 00 */ sth r0, 0(r3)
+/* 802990E8 00294D48 A0 1E 00 44 */ lhz r0, 0x44(r30)
+/* 802990EC 00294D4C 2C 00 00 00 */ cmpwi r0, 0
+/* 802990F0 00294D50 B0 03 00 02 */ sth r0, 2(r3)
+/* 802990F4 00294D54 41 82 00 08 */ beq lbl_802990FC
+/* 802990F8 00294D58 63 BD 00 02 */ ori r29, r29, 2
+lbl_802990FC:
+/* 802990FC 00294D5C 38 00 00 00 */ li r0, 0
+/* 80299100 00294D60 B0 03 00 04 */ sth r0, 4(r3)
+/* 80299104 00294D64 A0 1E 00 4C */ lhz r0, 0x4c(r30)
+/* 80299108 00294D68 2C 00 00 00 */ cmpwi r0, 0
+/* 8029910C 00294D6C B0 03 00 06 */ sth r0, 6(r3)
+/* 80299110 00294D70 41 82 00 08 */ beq lbl_80299118
+/* 80299114 00294D74 67 BD 00 01 */ oris r29, r29, 1
+lbl_80299118:
+/* 80299118 00294D78 38 00 00 00 */ li r0, 0
+/* 8029911C 00294D7C B0 03 00 08 */ sth r0, 8(r3)
+/* 80299120 00294D80 A0 1E 00 50 */ lhz r0, 0x50(r30)
+/* 80299124 00294D84 2C 00 00 00 */ cmpwi r0, 0
+/* 80299128 00294D88 B0 03 00 0A */ sth r0, 0xa(r3)
+/* 8029912C 00294D8C 41 82 00 08 */ beq lbl_80299134
+/* 80299130 00294D90 67 BD 00 02 */ oris r29, r29, 2
+lbl_80299134:
+/* 80299134 00294D94 38 00 00 00 */ li r0, 0
+/* 80299138 00294D98 B0 03 00 0C */ sth r0, 0xc(r3)
+/* 8029913C 00294D9C A0 1E 00 58 */ lhz r0, 0x58(r30)
+/* 80299140 00294DA0 2C 00 00 00 */ cmpwi r0, 0
+/* 80299144 00294DA4 B0 03 00 0E */ sth r0, 0xe(r3)
+/* 80299148 00294DA8 41 82 00 08 */ beq lbl_80299150
+/* 8029914C 00294DAC 67 BD 00 20 */ oris r29, r29, 0x20
+lbl_80299150:
+/* 80299150 00294DB0 38 00 00 00 */ li r0, 0
+/* 80299154 00294DB4 B0 03 00 10 */ sth r0, 0x10(r3)
+/* 80299158 00294DB8 A0 1E 00 5C */ lhz r0, 0x5c(r30)
+/* 8029915C 00294DBC 2C 00 00 00 */ cmpwi r0, 0
+/* 80299160 00294DC0 B0 03 00 12 */ sth r0, 0x12(r3)
+/* 80299164 00294DC4 41 82 00 08 */ beq lbl_8029916C
+/* 80299168 00294DC8 67 BD 00 40 */ oris r29, r29, 0x40
+lbl_8029916C:
+/* 8029916C 00294DCC 38 00 00 00 */ li r0, 0
+/* 80299170 00294DD0 B0 03 00 14 */ sth r0, 0x14(r3)
+/* 80299174 00294DD4 A0 1E 00 64 */ lhz r0, 0x64(r30)
+/* 80299178 00294DD8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029917C 00294DDC B0 03 00 16 */ sth r0, 0x16(r3)
+/* 80299180 00294DE0 41 82 00 08 */ beq lbl_80299188
+/* 80299184 00294DE4 67 BD 04 00 */ oris r29, r29, 0x400
+lbl_80299188:
+/* 80299188 00294DE8 38 00 00 00 */ li r0, 0
+/* 8029918C 00294DEC B0 03 00 18 */ sth r0, 0x18(r3)
+/* 80299190 00294DF0 A0 1E 00 68 */ lhz r0, 0x68(r30)
+/* 80299194 00294DF4 2C 00 00 00 */ cmpwi r0, 0
+/* 80299198 00294DF8 B0 03 00 1A */ sth r0, 0x1a(r3)
+/* 8029919C 00294DFC 41 82 00 08 */ beq lbl_802991A4
+/* 802991A0 00294E00 67 BD 08 00 */ oris r29, r29, 0x800
+lbl_802991A4:
+/* 802991A4 00294E04 38 00 00 00 */ li r0, 0
+/* 802991A8 00294E08 B0 03 00 1C */ sth r0, 0x1c(r3)
+/* 802991AC 00294E0C A0 1E 00 48 */ lhz r0, 0x48(r30)
+/* 802991B0 00294E10 2C 00 00 00 */ cmpwi r0, 0
+/* 802991B4 00294E14 B0 03 00 1E */ sth r0, 0x1e(r3)
+/* 802991B8 00294E18 41 82 00 08 */ beq lbl_802991C0
+/* 802991BC 00294E1C 63 BD 00 08 */ ori r29, r29, 8
+lbl_802991C0:
+/* 802991C0 00294E20 38 00 00 00 */ li r0, 0
+/* 802991C4 00294E24 B0 03 00 20 */ sth r0, 0x20(r3)
+/* 802991C8 00294E28 A0 1E 00 54 */ lhz r0, 0x54(r30)
+/* 802991CC 00294E2C 2C 00 00 00 */ cmpwi r0, 0
+/* 802991D0 00294E30 B0 03 00 22 */ sth r0, 0x22(r3)
+/* 802991D4 00294E34 41 82 00 08 */ beq lbl_802991DC
+/* 802991D8 00294E38 67 BD 00 08 */ oris r29, r29, 8
+lbl_802991DC:
+/* 802991DC 00294E3C 38 00 00 00 */ li r0, 0
+/* 802991E0 00294E40 B0 03 00 24 */ sth r0, 0x24(r3)
+/* 802991E4 00294E44 A0 1E 00 60 */ lhz r0, 0x60(r30)
+/* 802991E8 00294E48 2C 00 00 00 */ cmpwi r0, 0
+/* 802991EC 00294E4C B0 03 00 26 */ sth r0, 0x26(r3)
+/* 802991F0 00294E50 41 82 00 08 */ beq lbl_802991F8
+/* 802991F4 00294E54 67 BD 01 00 */ oris r29, r29, 0x100
+lbl_802991F8:
+/* 802991F8 00294E58 38 00 00 00 */ li r0, 0
+/* 802991FC 00294E5C B0 03 00 28 */ sth r0, 0x28(r3)
+/* 80299200 00294E60 A0 1E 00 6C */ lhz r0, 0x6c(r30)
+/* 80299204 00294E64 2C 00 00 00 */ cmpwi r0, 0
+/* 80299208 00294E68 B0 03 00 2A */ sth r0, 0x2a(r3)
+/* 8029920C 00294E6C 41 82 00 08 */ beq lbl_80299214
+/* 80299210 00294E70 67 BD 20 00 */ oris r29, r29, 0x2000
+lbl_80299214:
+/* 80299214 00294E74 80 1C 00 1C */ lwz r0, 0x1c(r28)
+/* 80299218 00294E78 3B C0 00 00 */ li r30, 0
+/* 8029921C 00294E7C B3 C3 00 2C */ sth r30, 0x2c(r3)
+/* 80299220 00294E80 38 7C 01 02 */ addi r3, r28, 0x102
+/* 80299224 00294E84 60 00 01 12 */ ori r0, r0, 0x112
+/* 80299228 00294E88 38 80 00 00 */ li r4, 0
+/* 8029922C 00294E8C 93 BC 00 34 */ stw r29, 0x34(r28)
+/* 80299230 00294E90 38 A0 00 20 */ li r5, 0x20
+/* 80299234 00294E94 90 1C 00 1C */ stw r0, 0x1c(r28)
+/* 80299238 00294E98 4B D6 AE CD */ bl memset
+/* 8029923C 00294E9C 80 1C 00 1C */ lwz r0, 0x1c(r28)
+/* 80299240 00294EA0 7F E3 FB 78 */ mr r3, r31
+/* 80299244 00294EA4 B3 DC 01 00 */ sth r30, 0x100(r28)
+/* 80299248 00294EA8 64 00 03 00 */ oris r0, r0, 0x300
+/* 8029924C 00294EAC 90 1C 00 1C */ stw r0, 0x1c(r28)
+/* 80299250 00294EB0 4B FD 55 35 */ bl OSRestoreInterrupts
+/* 80299254 00294EB4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80299258 00294EB8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8029925C 00294EBC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80299260 00294EC0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80299264 00294EC4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80299268 00294EC8 7C 08 03 A6 */ mtlr r0
+/* 8029926C 00294ECC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80299270 00294ED0 4E 80 00 20 */ blr
+
+.global MIXReleaseChannel
+MIXReleaseChannel:
+/* 80299274 00294ED4 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 80299278 00294ED8 38 80 00 00 */ li r4, 0
+/* 8029927C 00294EDC 80 6D AC 50 */ lwz r3, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80299280 00294EE0 1C 00 00 70 */ mulli r0, r0, 0x70
+/* 80299284 00294EE4 7C 83 01 2E */ stwx r4, r3, r0
+/* 80299288 00294EE8 4E 80 00 20 */ blr
+
+.global MIXSetInput
+MIXSetInput:
+/* 8029928C 00294EEC 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 80299290 00294EF0 80 6D AC 50 */ lwz r3, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80299294 00294EF4 1C 00 00 70 */ mulli r0, r0, 0x70
+/* 80299298 00294EF8 7C 63 02 14 */ add r3, r3, r0
+/* 8029929C 00294EFC 90 83 00 08 */ stw r4, 8(r3)
+/* 802992A0 00294F00 80 03 00 04 */ lwz r0, 4(r3)
+/* 802992A4 00294F04 64 00 10 00 */ oris r0, r0, 0x1000
+/* 802992A8 00294F08 90 03 00 04 */ stw r0, 4(r3)
+/* 802992AC 00294F0C 4E 80 00 20 */ blr
+
+.global MIXSetFader
+MIXSetFader:
+/* 802992B0 00294F10 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 802992B4 00294F14 80 6D AC 50 */ lwz r3, lbl_8063FF10-_SDA_BASE_(r13)
+/* 802992B8 00294F18 1C 00 00 70 */ mulli r0, r0, 0x70
+/* 802992BC 00294F1C 7C 63 02 14 */ add r3, r3, r0
+/* 802992C0 00294F20 90 83 00 20 */ stw r4, 0x20(r3)
+/* 802992C4 00294F24 80 03 00 04 */ lwz r0, 4(r3)
+/* 802992C8 00294F28 64 00 40 00 */ oris r0, r0, 0x4000
+/* 802992CC 00294F2C 90 03 00 04 */ stw r0, 4(r3)
+/* 802992D0 00294F30 4E 80 00 20 */ blr
+
+.global MIXUpdateSettings
+MIXUpdateSettings:
+/* 802992D4 00294F34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802992D8 00294F38 7C 08 02 A6 */ mflr r0
+/* 802992DC 00294F3C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802992E0 00294F40 39 61 00 20 */ addi r11, r1, 0x20
+/* 802992E4 00294F44 4B F2 DE 41 */ bl _savegpr_26
+/* 802992E8 00294F48 80 0D AC 54 */ lwz r0, lbl_8063FF14-_SDA_BASE_(r13)
+/* 802992EC 00294F4C 2C 00 00 00 */ cmpwi r0, 0
+/* 802992F0 00294F50 41 82 16 5C */ beq lbl_8029A94C
+/* 802992F4 00294F54 3C 60 80 44 */ lis r3, lbl_8043B170@ha
+/* 802992F8 00294F58 3B 40 00 00 */ li r26, 0
+/* 802992FC 00294F5C 3B 60 00 00 */ li r27, 0
+/* 80299300 00294F60 3F A0 00 01 */ lis r29, 1
+/* 80299304 00294F64 3B C3 B1 70 */ addi r30, r3, lbl_8043B170@l
+/* 80299308 00294F68 3B 80 00 00 */ li r28, 0
+/* 8029930C 00294F6C 3F E0 2A AB */ lis r31, 0x2aab
+/* 80299310 00294F70 48 00 16 30 */ b lbl_8029A940
+lbl_80299314:
+/* 80299314 00294F74 80 8D AC 50 */ lwz r4, lbl_8063FF10-_SDA_BASE_(r13)
+/* 80299318 00294F78 38 60 00 00 */ li r3, 0
+/* 8029931C 00294F7C 38 00 00 00 */ li r0, 0
+/* 80299320 00294F80 7C A4 DA 14 */ add r5, r4, r27
+/* 80299324 00294F84 7C 84 D8 2E */ lwzx r4, r4, r27
+/* 80299328 00294F88 2C 04 00 00 */ cmpwi r4, 0
+/* 8029932C 00294F8C 41 82 16 0C */ beq lbl_8029A938
+/* 80299330 00294F90 80 E5 00 04 */ lwz r7, 4(r5)
+/* 80299334 00294F94 38 C0 00 00 */ li r6, 0
+/* 80299338 00294F98 54 E7 00 85 */ rlwinm. r7, r7, 0, 2, 2
+/* 8029933C 00294F9C 41 82 00 1C */ beq lbl_80299358
+/* 80299340 00294FA0 A0 E5 00 3E */ lhz r7, 0x3e(r5)
+/* 80299344 00294FA4 38 60 00 01 */ li r3, 1
+/* 80299348 00294FA8 B0 E5 00 3C */ sth r7, 0x3c(r5)
+/* 8029934C 00294FAC 80 E5 00 04 */ lwz r7, 4(r5)
+/* 80299350 00294FB0 54 E7 00 C2 */ rlwinm r7, r7, 0, 3, 1
+/* 80299354 00294FB4 90 E5 00 04 */ stw r7, 4(r5)
+lbl_80299358:
+/* 80299358 00294FB8 81 05 00 04 */ lwz r8, 4(r5)
+/* 8029935C 00294FBC 55 07 00 C7 */ rlwinm. r7, r8, 0, 3, 3
+/* 80299360 00294FC0 41 82 00 5C */ beq lbl_802993BC
+/* 80299364 00294FC4 55 03 07 39 */ rlwinm. r3, r8, 0, 0x1c, 0x1c
+/* 80299368 00294FC8 41 82 00 0C */ beq lbl_80299374
+/* 8029936C 00294FCC B3 85 00 3E */ sth r28, 0x3e(r5)
+/* 80299370 00294FD0 48 00 00 38 */ b lbl_802993A8
+lbl_80299374:
+/* 80299374 00294FD4 80 65 00 08 */ lwz r3, 8(r5)
+/* 80299378 00294FD8 2C 03 FC 78 */ cmpwi r3, -904
+/* 8029937C 00294FDC 41 81 00 0C */ bgt lbl_80299388
+/* 80299380 00294FE0 38 60 00 00 */ li r3, 0
+/* 80299384 00294FE4 48 00 00 20 */ b lbl_802993A4
+lbl_80299388:
+/* 80299388 00294FE8 2C 03 00 3C */ cmpwi r3, 0x3c
+/* 8029938C 00294FEC 41 80 00 0C */ blt lbl_80299398
+/* 80299390 00294FF0 38 7D FF 64 */ addi r3, r29, -156
+/* 80299394 00294FF4 48 00 00 10 */ b lbl_802993A4
+lbl_80299398:
+/* 80299398 00294FF8 54 63 08 3C */ slwi r3, r3, 1
+/* 8029939C 00294FFC 7C 7E 1A 14 */ add r3, r30, r3
+/* 802993A0 00295000 A0 63 07 10 */ lhz r3, 0x710(r3)
+lbl_802993A4:
+/* 802993A4 00295004 B0 65 00 3E */ sth r3, 0x3e(r5)
+lbl_802993A8:
+/* 802993A8 00295008 80 E5 00 04 */ lwz r7, 4(r5)
+/* 802993AC 0029500C 38 60 00 01 */ li r3, 1
+/* 802993B0 00295010 54 E7 01 04 */ rlwinm r7, r7, 0, 4, 2
+/* 802993B4 00295014 64 E7 20 00 */ oris r7, r7, 0x2000
+/* 802993B8 00295018 90 E5 00 04 */ stw r7, 4(r5)
+lbl_802993BC:
+/* 802993BC 0029501C 80 E5 00 04 */ lwz r7, 4(r5)
+/* 802993C0 00295020 54 E7 00 01 */ rlwinm. r7, r7, 0, 0, 0
+/* 802993C4 00295024 41 82 00 74 */ beq lbl_80299438
+/* 802993C8 00295028 A0 E5 00 42 */ lhz r7, 0x42(r5)
+/* 802993CC 0029502C 38 00 00 01 */ li r0, 1
+/* 802993D0 00295030 B0 E5 00 40 */ sth r7, 0x40(r5)
+/* 802993D4 00295034 A0 E5 00 46 */ lhz r7, 0x46(r5)
+/* 802993D8 00295038 B0 E5 00 44 */ sth r7, 0x44(r5)
+/* 802993DC 0029503C A0 E5 00 4A */ lhz r7, 0x4a(r5)
+/* 802993E0 00295040 B0 E5 00 48 */ sth r7, 0x48(r5)
+/* 802993E4 00295044 A0 E5 00 4E */ lhz r7, 0x4e(r5)
+/* 802993E8 00295048 B0 E5 00 4C */ sth r7, 0x4c(r5)
+/* 802993EC 0029504C A0 E5 00 52 */ lhz r7, 0x52(r5)
+/* 802993F0 00295050 B0 E5 00 50 */ sth r7, 0x50(r5)
+/* 802993F4 00295054 A0 E5 00 56 */ lhz r7, 0x56(r5)
+/* 802993F8 00295058 B0 E5 00 54 */ sth r7, 0x54(r5)
+/* 802993FC 0029505C A0 E5 00 5A */ lhz r7, 0x5a(r5)
+/* 80299400 00295060 B0 E5 00 58 */ sth r7, 0x58(r5)
+/* 80299404 00295064 A0 E5 00 5E */ lhz r7, 0x5e(r5)
+/* 80299408 00295068 B0 E5 00 5C */ sth r7, 0x5c(r5)
+/* 8029940C 0029506C A0 E5 00 62 */ lhz r7, 0x62(r5)
+/* 80299410 00295070 B0 E5 00 60 */ sth r7, 0x60(r5)
+/* 80299414 00295074 A0 E5 00 66 */ lhz r7, 0x66(r5)
+/* 80299418 00295078 B0 E5 00 64 */ sth r7, 0x64(r5)
+/* 8029941C 0029507C A0 E5 00 6A */ lhz r7, 0x6a(r5)
+/* 80299420 00295080 B0 E5 00 68 */ sth r7, 0x68(r5)
+/* 80299424 00295084 A0 E5 00 6E */ lhz r7, 0x6e(r5)
+/* 80299428 00295088 B0 E5 00 6C */ sth r7, 0x6c(r5)
+/* 8029942C 0029508C 80 E5 00 04 */ lwz r7, 4(r5)
+/* 80299430 00295090 54 E7 00 7E */ clrlwi r7, r7, 1
+/* 80299434 00295094 90 E5 00 04 */ stw r7, 4(r5)
+lbl_80299438:
+/* 80299438 00295098 80 E5 00 04 */ lwz r7, 4(r5)
+/* 8029943C 0029509C 54 E7 00 43 */ rlwinm. r7, r7, 0, 1, 1
+/* 80299440 002950A0 41 82 11 64 */ beq lbl_8029A5A4
+/* 80299444 002950A4 80 0D AC 5C */ lwz r0, lbl_8063FF1C-_SDA_BASE_(r13)
+/* 80299448 002950A8 2C 00 00 03 */ cmpwi r0, 3
+/* 8029944C 002950AC 41 82 0B 90 */ beq lbl_80299FDC
+/* 80299450 002950B0 40 80 11 40 */ bge lbl_8029A590
+/* 80299454 002950B4 2C 00 00 00 */ cmpwi r0, 0
+/* 80299458 002950B8 41 82 00 0C */ beq lbl_80299464
+/* 8029945C 002950BC 40 80 05 8C */ bge lbl_802999E8
+/* 80299460 002950C0 48 00 11 30 */ b lbl_8029A590
+lbl_80299464:
+/* 80299464 002950C4 80 E5 00 20 */ lwz r7, 0x20(r5)
+/* 80299468 002950C8 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 8029946C 002950CC 7C 07 02 14 */ add r0, r7, r0
+/* 80299470 002950D0 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299474 002950D4 41 81 00 0C */ bgt lbl_80299480
+/* 80299478 002950D8 38 00 00 00 */ li r0, 0
+/* 8029947C 002950DC 48 00 00 20 */ b lbl_8029949C
+lbl_80299480:
+/* 80299480 002950E0 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299484 002950E4 41 80 00 0C */ blt lbl_80299490
+/* 80299488 002950E8 38 1D FF 64 */ addi r0, r29, -156
+/* 8029948C 002950EC 48 00 00 10 */ b lbl_8029949C
+lbl_80299490:
+/* 80299490 002950F0 54 00 08 3C */ slwi r0, r0, 1
+/* 80299494 002950F4 7C FE 02 14 */ add r7, r30, r0
+/* 80299498 002950F8 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029949C:
+/* 8029949C 002950FC B0 05 00 42 */ sth r0, 0x42(r5)
+/* 802994A0 00295100 80 E5 00 20 */ lwz r7, 0x20(r5)
+/* 802994A4 00295104 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 802994A8 00295108 7C 07 02 14 */ add r0, r7, r0
+/* 802994AC 0029510C 2C 00 FC 78 */ cmpwi r0, -904
+/* 802994B0 00295110 41 81 00 0C */ bgt lbl_802994BC
+/* 802994B4 00295114 38 00 00 00 */ li r0, 0
+/* 802994B8 00295118 48 00 00 20 */ b lbl_802994D8
+lbl_802994BC:
+/* 802994BC 0029511C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 802994C0 00295120 41 80 00 0C */ blt lbl_802994CC
+/* 802994C4 00295124 38 1D FF 64 */ addi r0, r29, -156
+/* 802994C8 00295128 48 00 00 10 */ b lbl_802994D8
+lbl_802994CC:
+/* 802994CC 0029512C 54 00 08 3C */ slwi r0, r0, 1
+/* 802994D0 00295130 7C FE 02 14 */ add r7, r30, r0
+/* 802994D4 00295134 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802994D8:
+/* 802994D8 00295138 B0 05 00 46 */ sth r0, 0x46(r5)
+/* 802994DC 0029513C 80 E5 00 20 */ lwz r7, 0x20(r5)
+/* 802994E0 00295140 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 802994E4 00295144 7C E7 02 14 */ add r7, r7, r0
+/* 802994E8 00295148 38 E7 FF E2 */ addi r7, r7, -30
+/* 802994EC 0029514C 2C 07 FC 78 */ cmpwi r7, -904
+/* 802994F0 00295150 41 81 00 0C */ bgt lbl_802994FC
+/* 802994F4 00295154 38 00 00 00 */ li r0, 0
+/* 802994F8 00295158 48 00 00 20 */ b lbl_80299518
+lbl_802994FC:
+/* 802994FC 0029515C 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299500 00295160 41 80 00 0C */ blt lbl_8029950C
+/* 80299504 00295164 38 1D FF 64 */ addi r0, r29, -156
+/* 80299508 00295168 48 00 00 10 */ b lbl_80299518
+lbl_8029950C:
+/* 8029950C 0029516C 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299510 00295170 7C FE 02 14 */ add r7, r30, r0
+/* 80299514 00295174 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299518:
+/* 80299518 00295178 B0 05 00 4A */ sth r0, 0x4a(r5)
+/* 8029951C 0029517C 80 05 00 04 */ lwz r0, 4(r5)
+/* 80299520 00295180 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80299524 00295184 41 82 00 C0 */ beq lbl_802995E4
+/* 80299528 00295188 80 E5 00 0C */ lwz r7, 0xc(r5)
+/* 8029952C 0029518C 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 80299530 00295190 7C 07 02 14 */ add r0, r7, r0
+/* 80299534 00295194 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299538 00295198 41 81 00 0C */ bgt lbl_80299544
+/* 8029953C 0029519C 38 00 00 00 */ li r0, 0
+/* 80299540 002951A0 48 00 00 20 */ b lbl_80299560
+lbl_80299544:
+/* 80299544 002951A4 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299548 002951A8 41 80 00 0C */ blt lbl_80299554
+/* 8029954C 002951AC 38 1D FF 64 */ addi r0, r29, -156
+/* 80299550 002951B0 48 00 00 10 */ b lbl_80299560
+lbl_80299554:
+/* 80299554 002951B4 54 00 08 3C */ slwi r0, r0, 1
+/* 80299558 002951B8 7C FE 02 14 */ add r7, r30, r0
+/* 8029955C 002951BC A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299560:
+/* 80299560 002951C0 B0 05 00 4E */ sth r0, 0x4e(r5)
+/* 80299564 002951C4 80 E5 00 0C */ lwz r7, 0xc(r5)
+/* 80299568 002951C8 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 8029956C 002951CC 7C 07 02 14 */ add r0, r7, r0
+/* 80299570 002951D0 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299574 002951D4 41 81 00 0C */ bgt lbl_80299580
+/* 80299578 002951D8 38 00 00 00 */ li r0, 0
+/* 8029957C 002951DC 48 00 00 20 */ b lbl_8029959C
+lbl_80299580:
+/* 80299580 002951E0 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299584 002951E4 41 80 00 0C */ blt lbl_80299590
+/* 80299588 002951E8 38 1D FF 64 */ addi r0, r29, -156
+/* 8029958C 002951EC 48 00 00 10 */ b lbl_8029959C
+lbl_80299590:
+/* 80299590 002951F0 54 00 08 3C */ slwi r0, r0, 1
+/* 80299594 002951F4 7C FE 02 14 */ add r7, r30, r0
+/* 80299598 002951F8 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029959C:
+/* 8029959C 002951FC B0 05 00 52 */ sth r0, 0x52(r5)
+/* 802995A0 00295200 80 E5 00 0C */ lwz r7, 0xc(r5)
+/* 802995A4 00295204 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 802995A8 00295208 7C E7 02 14 */ add r7, r7, r0
+/* 802995AC 0029520C 38 E7 FF E2 */ addi r7, r7, -30
+/* 802995B0 00295210 2C 07 FC 78 */ cmpwi r7, -904
+/* 802995B4 00295214 41 81 00 0C */ bgt lbl_802995C0
+/* 802995B8 00295218 38 00 00 00 */ li r0, 0
+/* 802995BC 0029521C 48 00 00 20 */ b lbl_802995DC
+lbl_802995C0:
+/* 802995C0 00295220 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 802995C4 00295224 41 80 00 0C */ blt lbl_802995D0
+/* 802995C8 00295228 38 1D FF 64 */ addi r0, r29, -156
+/* 802995CC 0029522C 48 00 00 10 */ b lbl_802995DC
+lbl_802995D0:
+/* 802995D0 00295230 54 E0 08 3C */ slwi r0, r7, 1
+/* 802995D4 00295234 7C FE 02 14 */ add r7, r30, r0
+/* 802995D8 00295238 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802995DC:
+/* 802995DC 0029523C B0 05 00 56 */ sth r0, 0x56(r5)
+/* 802995E0 00295240 48 00 00 D4 */ b lbl_802996B4
+lbl_802995E4:
+/* 802995E4 00295244 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 802995E8 00295248 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 802995EC 0029524C 80 E5 00 0C */ lwz r7, 0xc(r5)
+/* 802995F0 00295250 7C 08 02 14 */ add r0, r8, r0
+/* 802995F4 00295254 7C 07 02 14 */ add r0, r7, r0
+/* 802995F8 00295258 2C 00 FC 78 */ cmpwi r0, -904
+/* 802995FC 0029525C 41 81 00 0C */ bgt lbl_80299608
+/* 80299600 00295260 38 00 00 00 */ li r0, 0
+/* 80299604 00295264 48 00 00 20 */ b lbl_80299624
+lbl_80299608:
+/* 80299608 00295268 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029960C 0029526C 41 80 00 0C */ blt lbl_80299618
+/* 80299610 00295270 38 1D FF 64 */ addi r0, r29, -156
+/* 80299614 00295274 48 00 00 10 */ b lbl_80299624
+lbl_80299618:
+/* 80299618 00295278 54 00 08 3C */ slwi r0, r0, 1
+/* 8029961C 0029527C 7C FE 02 14 */ add r7, r30, r0
+/* 80299620 00295280 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299624:
+/* 80299624 00295284 B0 05 00 4E */ sth r0, 0x4e(r5)
+/* 80299628 00295288 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029962C 0029528C 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80299630 00295290 80 E5 00 0C */ lwz r7, 0xc(r5)
+/* 80299634 00295294 7C 08 02 14 */ add r0, r8, r0
+/* 80299638 00295298 7C 07 02 14 */ add r0, r7, r0
+/* 8029963C 0029529C 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299640 002952A0 41 81 00 0C */ bgt lbl_8029964C
+/* 80299644 002952A4 38 00 00 00 */ li r0, 0
+/* 80299648 002952A8 48 00 00 20 */ b lbl_80299668
+lbl_8029964C:
+/* 8029964C 002952AC 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299650 002952B0 41 80 00 0C */ blt lbl_8029965C
+/* 80299654 002952B4 38 1D FF 64 */ addi r0, r29, -156
+/* 80299658 002952B8 48 00 00 10 */ b lbl_80299668
+lbl_8029965C:
+/* 8029965C 002952BC 54 00 08 3C */ slwi r0, r0, 1
+/* 80299660 002952C0 7C FE 02 14 */ add r7, r30, r0
+/* 80299664 002952C4 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299668:
+/* 80299668 002952C8 B0 05 00 52 */ sth r0, 0x52(r5)
+/* 8029966C 002952CC 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299670 002952D0 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80299674 002952D4 80 E5 00 30 */ lwz r7, 0x30(r5)
+/* 80299678 002952D8 7C 08 02 14 */ add r0, r8, r0
+/* 8029967C 002952DC 7C E0 3A 14 */ add r7, r0, r7
+/* 80299680 002952E0 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299684 002952E4 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299688 002952E8 41 81 00 0C */ bgt lbl_80299694
+/* 8029968C 002952EC 38 00 00 00 */ li r0, 0
+/* 80299690 002952F0 48 00 00 20 */ b lbl_802996B0
+lbl_80299694:
+/* 80299694 002952F4 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299698 002952F8 41 80 00 0C */ blt lbl_802996A4
+/* 8029969C 002952FC 38 1D FF 64 */ addi r0, r29, -156
+/* 802996A0 00295300 48 00 00 10 */ b lbl_802996B0
+lbl_802996A4:
+/* 802996A4 00295304 54 E0 08 3C */ slwi r0, r7, 1
+/* 802996A8 00295308 7C FE 02 14 */ add r7, r30, r0
+/* 802996AC 0029530C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802996B0:
+/* 802996B0 00295310 B0 05 00 56 */ sth r0, 0x56(r5)
+lbl_802996B4:
+/* 802996B4 00295314 80 05 00 04 */ lwz r0, 4(r5)
+/* 802996B8 00295318 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802996BC 0029531C 41 82 00 C0 */ beq lbl_8029977C
+/* 802996C0 00295320 80 E5 00 10 */ lwz r7, 0x10(r5)
+/* 802996C4 00295324 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 802996C8 00295328 7C 07 02 14 */ add r0, r7, r0
+/* 802996CC 0029532C 2C 00 FC 78 */ cmpwi r0, -904
+/* 802996D0 00295330 41 81 00 0C */ bgt lbl_802996DC
+/* 802996D4 00295334 38 00 00 00 */ li r0, 0
+/* 802996D8 00295338 48 00 00 20 */ b lbl_802996F8
+lbl_802996DC:
+/* 802996DC 0029533C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 802996E0 00295340 41 80 00 0C */ blt lbl_802996EC
+/* 802996E4 00295344 38 1D FF 64 */ addi r0, r29, -156
+/* 802996E8 00295348 48 00 00 10 */ b lbl_802996F8
+lbl_802996EC:
+/* 802996EC 0029534C 54 00 08 3C */ slwi r0, r0, 1
+/* 802996F0 00295350 7C FE 02 14 */ add r7, r30, r0
+/* 802996F4 00295354 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802996F8:
+/* 802996F8 00295358 B0 05 00 5A */ sth r0, 0x5a(r5)
+/* 802996FC 0029535C 80 E5 00 10 */ lwz r7, 0x10(r5)
+/* 80299700 00295360 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 80299704 00295364 7C 07 02 14 */ add r0, r7, r0
+/* 80299708 00295368 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029970C 0029536C 41 81 00 0C */ bgt lbl_80299718
+/* 80299710 00295370 38 00 00 00 */ li r0, 0
+/* 80299714 00295374 48 00 00 20 */ b lbl_80299734
+lbl_80299718:
+/* 80299718 00295378 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029971C 0029537C 41 80 00 0C */ blt lbl_80299728
+/* 80299720 00295380 38 1D FF 64 */ addi r0, r29, -156
+/* 80299724 00295384 48 00 00 10 */ b lbl_80299734
+lbl_80299728:
+/* 80299728 00295388 54 00 08 3C */ slwi r0, r0, 1
+/* 8029972C 0029538C 7C FE 02 14 */ add r7, r30, r0
+/* 80299730 00295390 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299734:
+/* 80299734 00295394 B0 05 00 5E */ sth r0, 0x5e(r5)
+/* 80299738 00295398 80 E5 00 10 */ lwz r7, 0x10(r5)
+/* 8029973C 0029539C 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 80299740 002953A0 7C E7 02 14 */ add r7, r7, r0
+/* 80299744 002953A4 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299748 002953A8 2C 07 FC 78 */ cmpwi r7, -904
+/* 8029974C 002953AC 41 81 00 0C */ bgt lbl_80299758
+/* 80299750 002953B0 38 00 00 00 */ li r0, 0
+/* 80299754 002953B4 48 00 00 20 */ b lbl_80299774
+lbl_80299758:
+/* 80299758 002953B8 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 8029975C 002953BC 41 80 00 0C */ blt lbl_80299768
+/* 80299760 002953C0 38 1D FF 64 */ addi r0, r29, -156
+/* 80299764 002953C4 48 00 00 10 */ b lbl_80299774
+lbl_80299768:
+/* 80299768 002953C8 54 E0 08 3C */ slwi r0, r7, 1
+/* 8029976C 002953CC 7C FE 02 14 */ add r7, r30, r0
+/* 80299770 002953D0 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299774:
+/* 80299774 002953D4 B0 05 00 62 */ sth r0, 0x62(r5)
+/* 80299778 002953D8 48 00 00 D4 */ b lbl_8029984C
+lbl_8029977C:
+/* 8029977C 002953DC 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299780 002953E0 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80299784 002953E4 80 E5 00 10 */ lwz r7, 0x10(r5)
+/* 80299788 002953E8 7C 08 02 14 */ add r0, r8, r0
+/* 8029978C 002953EC 7C 07 02 14 */ add r0, r7, r0
+/* 80299790 002953F0 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299794 002953F4 41 81 00 0C */ bgt lbl_802997A0
+/* 80299798 002953F8 38 00 00 00 */ li r0, 0
+/* 8029979C 002953FC 48 00 00 20 */ b lbl_802997BC
+lbl_802997A0:
+/* 802997A0 00295400 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 802997A4 00295404 41 80 00 0C */ blt lbl_802997B0
+/* 802997A8 00295408 38 1D FF 64 */ addi r0, r29, -156
+/* 802997AC 0029540C 48 00 00 10 */ b lbl_802997BC
+lbl_802997B0:
+/* 802997B0 00295410 54 00 08 3C */ slwi r0, r0, 1
+/* 802997B4 00295414 7C FE 02 14 */ add r7, r30, r0
+/* 802997B8 00295418 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802997BC:
+/* 802997BC 0029541C B0 05 00 5A */ sth r0, 0x5a(r5)
+/* 802997C0 00295420 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 802997C4 00295424 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 802997C8 00295428 80 E5 00 10 */ lwz r7, 0x10(r5)
+/* 802997CC 0029542C 7C 08 02 14 */ add r0, r8, r0
+/* 802997D0 00295430 7C 07 02 14 */ add r0, r7, r0
+/* 802997D4 00295434 2C 00 FC 78 */ cmpwi r0, -904
+/* 802997D8 00295438 41 81 00 0C */ bgt lbl_802997E4
+/* 802997DC 0029543C 38 00 00 00 */ li r0, 0
+/* 802997E0 00295440 48 00 00 20 */ b lbl_80299800
+lbl_802997E4:
+/* 802997E4 00295444 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 802997E8 00295448 41 80 00 0C */ blt lbl_802997F4
+/* 802997EC 0029544C 38 1D FF 64 */ addi r0, r29, -156
+/* 802997F0 00295450 48 00 00 10 */ b lbl_80299800
+lbl_802997F4:
+/* 802997F4 00295454 54 00 08 3C */ slwi r0, r0, 1
+/* 802997F8 00295458 7C FE 02 14 */ add r7, r30, r0
+/* 802997FC 0029545C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299800:
+/* 80299800 00295460 B0 05 00 5E */ sth r0, 0x5e(r5)
+/* 80299804 00295464 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299808 00295468 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029980C 0029546C 80 E5 00 30 */ lwz r7, 0x30(r5)
+/* 80299810 00295470 7C 08 02 14 */ add r0, r8, r0
+/* 80299814 00295474 7C E0 3A 14 */ add r7, r0, r7
+/* 80299818 00295478 38 E7 FF E2 */ addi r7, r7, -30
+/* 8029981C 0029547C 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299820 00295480 41 81 00 0C */ bgt lbl_8029982C
+/* 80299824 00295484 38 00 00 00 */ li r0, 0
+/* 80299828 00295488 48 00 00 20 */ b lbl_80299848
+lbl_8029982C:
+/* 8029982C 0029548C 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299830 00295490 41 80 00 0C */ blt lbl_8029983C
+/* 80299834 00295494 38 1D FF 64 */ addi r0, r29, -156
+/* 80299838 00295498 48 00 00 10 */ b lbl_80299848
+lbl_8029983C:
+/* 8029983C 0029549C 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299840 002954A0 7C FE 02 14 */ add r7, r30, r0
+/* 80299844 002954A4 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299848:
+/* 80299848 002954A8 B0 05 00 62 */ sth r0, 0x62(r5)
+lbl_8029984C:
+/* 8029984C 002954AC 80 05 00 04 */ lwz r0, 4(r5)
+/* 80299850 002954B0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80299854 002954B4 41 82 00 C0 */ beq lbl_80299914
+/* 80299858 002954B8 80 E5 00 14 */ lwz r7, 0x14(r5)
+/* 8029985C 002954BC 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 80299860 002954C0 7C 07 02 14 */ add r0, r7, r0
+/* 80299864 002954C4 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299868 002954C8 41 81 00 0C */ bgt lbl_80299874
+/* 8029986C 002954CC 38 00 00 00 */ li r0, 0
+/* 80299870 002954D0 48 00 00 20 */ b lbl_80299890
+lbl_80299874:
+/* 80299874 002954D4 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299878 002954D8 41 80 00 0C */ blt lbl_80299884
+/* 8029987C 002954DC 38 1D FF 64 */ addi r0, r29, -156
+/* 80299880 002954E0 48 00 00 10 */ b lbl_80299890
+lbl_80299884:
+/* 80299884 002954E4 54 00 08 3C */ slwi r0, r0, 1
+/* 80299888 002954E8 7C FE 02 14 */ add r7, r30, r0
+/* 8029988C 002954EC A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299890:
+/* 80299890 002954F0 B0 05 00 66 */ sth r0, 0x66(r5)
+/* 80299894 002954F4 80 E5 00 14 */ lwz r7, 0x14(r5)
+/* 80299898 002954F8 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 8029989C 002954FC 7C 07 02 14 */ add r0, r7, r0
+/* 802998A0 00295500 2C 00 FC 78 */ cmpwi r0, -904
+/* 802998A4 00295504 41 81 00 0C */ bgt lbl_802998B0
+/* 802998A8 00295508 38 00 00 00 */ li r0, 0
+/* 802998AC 0029550C 48 00 00 20 */ b lbl_802998CC
+lbl_802998B0:
+/* 802998B0 00295510 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 802998B4 00295514 41 80 00 0C */ blt lbl_802998C0
+/* 802998B8 00295518 38 1D FF 64 */ addi r0, r29, -156
+/* 802998BC 0029551C 48 00 00 10 */ b lbl_802998CC
+lbl_802998C0:
+/* 802998C0 00295520 54 00 08 3C */ slwi r0, r0, 1
+/* 802998C4 00295524 7C FE 02 14 */ add r7, r30, r0
+/* 802998C8 00295528 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802998CC:
+/* 802998CC 0029552C B0 05 00 6A */ sth r0, 0x6a(r5)
+/* 802998D0 00295530 80 E5 00 14 */ lwz r7, 0x14(r5)
+/* 802998D4 00295534 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 802998D8 00295538 7C E7 02 14 */ add r7, r7, r0
+/* 802998DC 0029553C 38 E7 FF E2 */ addi r7, r7, -30
+/* 802998E0 00295540 2C 07 FC 78 */ cmpwi r7, -904
+/* 802998E4 00295544 41 81 00 0C */ bgt lbl_802998F0
+/* 802998E8 00295548 38 00 00 00 */ li r0, 0
+/* 802998EC 0029554C 48 00 00 20 */ b lbl_8029990C
+lbl_802998F0:
+/* 802998F0 00295550 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 802998F4 00295554 41 80 00 0C */ blt lbl_80299900
+/* 802998F8 00295558 38 1D FF 64 */ addi r0, r29, -156
+/* 802998FC 0029555C 48 00 00 10 */ b lbl_8029990C
+lbl_80299900:
+/* 80299900 00295560 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299904 00295564 7C FE 02 14 */ add r7, r30, r0
+/* 80299908 00295568 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029990C:
+/* 8029990C 0029556C B0 05 00 6E */ sth r0, 0x6e(r5)
+/* 80299910 00295570 48 00 0C 80 */ b lbl_8029A590
+lbl_80299914:
+/* 80299914 00295574 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299918 00295578 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 8029991C 0029557C 80 E5 00 14 */ lwz r7, 0x14(r5)
+/* 80299920 00295580 7C 08 02 14 */ add r0, r8, r0
+/* 80299924 00295584 7C 07 02 14 */ add r0, r7, r0
+/* 80299928 00295588 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029992C 0029558C 41 81 00 0C */ bgt lbl_80299938
+/* 80299930 00295590 38 00 00 00 */ li r0, 0
+/* 80299934 00295594 48 00 00 20 */ b lbl_80299954
+lbl_80299938:
+/* 80299938 00295598 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029993C 0029559C 41 80 00 0C */ blt lbl_80299948
+/* 80299940 002955A0 38 1D FF 64 */ addi r0, r29, -156
+/* 80299944 002955A4 48 00 00 10 */ b lbl_80299954
+lbl_80299948:
+/* 80299948 002955A8 54 00 08 3C */ slwi r0, r0, 1
+/* 8029994C 002955AC 7C FE 02 14 */ add r7, r30, r0
+/* 80299950 002955B0 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299954:
+/* 80299954 002955B4 B0 05 00 66 */ sth r0, 0x66(r5)
+/* 80299958 002955B8 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029995C 002955BC 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80299960 002955C0 80 E5 00 14 */ lwz r7, 0x14(r5)
+/* 80299964 002955C4 7C 08 02 14 */ add r0, r8, r0
+/* 80299968 002955C8 7C 07 02 14 */ add r0, r7, r0
+/* 8029996C 002955CC 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299970 002955D0 41 81 00 0C */ bgt lbl_8029997C
+/* 80299974 002955D4 38 00 00 00 */ li r0, 0
+/* 80299978 002955D8 48 00 00 20 */ b lbl_80299998
+lbl_8029997C:
+/* 8029997C 002955DC 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299980 002955E0 41 80 00 0C */ blt lbl_8029998C
+/* 80299984 002955E4 38 1D FF 64 */ addi r0, r29, -156
+/* 80299988 002955E8 48 00 00 10 */ b lbl_80299998
+lbl_8029998C:
+/* 8029998C 002955EC 54 00 08 3C */ slwi r0, r0, 1
+/* 80299990 002955F0 7C FE 02 14 */ add r7, r30, r0
+/* 80299994 002955F4 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299998:
+/* 80299998 002955F8 B0 05 00 6A */ sth r0, 0x6a(r5)
+/* 8029999C 002955FC 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 802999A0 00295600 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 802999A4 00295604 80 E5 00 30 */ lwz r7, 0x30(r5)
+/* 802999A8 00295608 7C 08 02 14 */ add r0, r8, r0
+/* 802999AC 0029560C 7C E0 3A 14 */ add r7, r0, r7
+/* 802999B0 00295610 38 E7 FF E2 */ addi r7, r7, -30
+/* 802999B4 00295614 2C 07 FC 78 */ cmpwi r7, -904
+/* 802999B8 00295618 41 81 00 0C */ bgt lbl_802999C4
+/* 802999BC 0029561C 38 00 00 00 */ li r0, 0
+/* 802999C0 00295620 48 00 00 20 */ b lbl_802999E0
+lbl_802999C4:
+/* 802999C4 00295624 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 802999C8 00295628 41 80 00 0C */ blt lbl_802999D4
+/* 802999CC 0029562C 38 1D FF 64 */ addi r0, r29, -156
+/* 802999D0 00295630 48 00 00 10 */ b lbl_802999E0
+lbl_802999D4:
+/* 802999D4 00295634 54 E0 08 3C */ slwi r0, r7, 1
+/* 802999D8 00295638 7C FE 02 14 */ add r7, r30, r0
+/* 802999DC 0029563C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_802999E0:
+/* 802999E0 00295640 B0 05 00 6E */ sth r0, 0x6e(r5)
+/* 802999E4 00295644 48 00 0B AC */ b lbl_8029A590
+lbl_802999E8:
+/* 802999E8 00295648 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 802999EC 0029564C 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 802999F0 00295650 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 802999F4 00295654 7C 08 02 14 */ add r0, r8, r0
+/* 802999F8 00295658 7C 07 02 14 */ add r0, r7, r0
+/* 802999FC 0029565C 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299A00 00295660 41 81 00 0C */ bgt lbl_80299A0C
+/* 80299A04 00295664 38 00 00 00 */ li r0, 0
+/* 80299A08 00295668 48 00 00 20 */ b lbl_80299A28
+lbl_80299A0C:
+/* 80299A0C 0029566C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299A10 00295670 41 80 00 0C */ blt lbl_80299A1C
+/* 80299A14 00295674 38 1D FF 64 */ addi r0, r29, -156
+/* 80299A18 00295678 48 00 00 10 */ b lbl_80299A28
+lbl_80299A1C:
+/* 80299A1C 0029567C 54 00 08 3C */ slwi r0, r0, 1
+/* 80299A20 00295680 7C FE 02 14 */ add r7, r30, r0
+/* 80299A24 00295684 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299A28:
+/* 80299A28 00295688 B0 05 00 42 */ sth r0, 0x42(r5)
+/* 80299A2C 0029568C 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299A30 00295690 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80299A34 00295694 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299A38 00295698 7C 08 02 14 */ add r0, r8, r0
+/* 80299A3C 0029569C 7C 07 02 14 */ add r0, r7, r0
+/* 80299A40 002956A0 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299A44 002956A4 41 81 00 0C */ bgt lbl_80299A50
+/* 80299A48 002956A8 38 00 00 00 */ li r0, 0
+/* 80299A4C 002956AC 48 00 00 20 */ b lbl_80299A6C
+lbl_80299A50:
+/* 80299A50 002956B0 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299A54 002956B4 41 80 00 0C */ blt lbl_80299A60
+/* 80299A58 002956B8 38 1D FF 64 */ addi r0, r29, -156
+/* 80299A5C 002956BC 48 00 00 10 */ b lbl_80299A6C
+lbl_80299A60:
+/* 80299A60 002956C0 54 00 08 3C */ slwi r0, r0, 1
+/* 80299A64 002956C4 7C FE 02 14 */ add r7, r30, r0
+/* 80299A68 002956C8 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299A6C:
+/* 80299A6C 002956CC B0 05 00 46 */ sth r0, 0x46(r5)
+/* 80299A70 002956D0 80 E5 00 20 */ lwz r7, 0x20(r5)
+/* 80299A74 002956D4 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 80299A78 002956D8 7C E7 02 14 */ add r7, r7, r0
+/* 80299A7C 002956DC 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299A80 002956E0 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299A84 002956E4 41 81 00 0C */ bgt lbl_80299A90
+/* 80299A88 002956E8 38 00 00 00 */ li r0, 0
+/* 80299A8C 002956EC 48 00 00 20 */ b lbl_80299AAC
+lbl_80299A90:
+/* 80299A90 002956F0 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299A94 002956F4 41 80 00 0C */ blt lbl_80299AA0
+/* 80299A98 002956F8 38 1D FF 64 */ addi r0, r29, -156
+/* 80299A9C 002956FC 48 00 00 10 */ b lbl_80299AAC
+lbl_80299AA0:
+/* 80299AA0 00295700 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299AA4 00295704 7C FE 02 14 */ add r7, r30, r0
+/* 80299AA8 00295708 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299AAC:
+/* 80299AAC 0029570C B0 05 00 4A */ sth r0, 0x4a(r5)
+/* 80299AB0 00295710 80 05 00 04 */ lwz r0, 4(r5)
+/* 80299AB4 00295714 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80299AB8 00295718 41 82 00 D0 */ beq lbl_80299B88
+/* 80299ABC 0029571C 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299AC0 00295720 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80299AC4 00295724 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299AC8 00295728 7C 08 02 14 */ add r0, r8, r0
+/* 80299ACC 0029572C 7C 07 02 14 */ add r0, r7, r0
+/* 80299AD0 00295730 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299AD4 00295734 41 81 00 0C */ bgt lbl_80299AE0
+/* 80299AD8 00295738 38 00 00 00 */ li r0, 0
+/* 80299ADC 0029573C 48 00 00 20 */ b lbl_80299AFC
+lbl_80299AE0:
+/* 80299AE0 00295740 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299AE4 00295744 41 80 00 0C */ blt lbl_80299AF0
+/* 80299AE8 00295748 38 1D FF 64 */ addi r0, r29, -156
+/* 80299AEC 0029574C 48 00 00 10 */ b lbl_80299AFC
+lbl_80299AF0:
+/* 80299AF0 00295750 54 00 08 3C */ slwi r0, r0, 1
+/* 80299AF4 00295754 7C FE 02 14 */ add r7, r30, r0
+/* 80299AF8 00295758 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299AFC:
+/* 80299AFC 0029575C B0 05 00 4E */ sth r0, 0x4e(r5)
+/* 80299B00 00295760 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299B04 00295764 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80299B08 00295768 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299B0C 0029576C 7C 08 02 14 */ add r0, r8, r0
+/* 80299B10 00295770 7C 07 02 14 */ add r0, r7, r0
+/* 80299B14 00295774 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299B18 00295778 41 81 00 0C */ bgt lbl_80299B24
+/* 80299B1C 0029577C 38 00 00 00 */ li r0, 0
+/* 80299B20 00295780 48 00 00 20 */ b lbl_80299B40
+lbl_80299B24:
+/* 80299B24 00295784 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299B28 00295788 41 80 00 0C */ blt lbl_80299B34
+/* 80299B2C 0029578C 38 1D FF 64 */ addi r0, r29, -156
+/* 80299B30 00295790 48 00 00 10 */ b lbl_80299B40
+lbl_80299B34:
+/* 80299B34 00295794 54 00 08 3C */ slwi r0, r0, 1
+/* 80299B38 00295798 7C FE 02 14 */ add r7, r30, r0
+/* 80299B3C 0029579C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299B40:
+/* 80299B40 002957A0 B0 05 00 52 */ sth r0, 0x52(r5)
+/* 80299B44 002957A4 80 E5 00 0C */ lwz r7, 0xc(r5)
+/* 80299B48 002957A8 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 80299B4C 002957AC 7C E7 02 14 */ add r7, r7, r0
+/* 80299B50 002957B0 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299B54 002957B4 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299B58 002957B8 41 81 00 0C */ bgt lbl_80299B64
+/* 80299B5C 002957BC 38 00 00 00 */ li r0, 0
+/* 80299B60 002957C0 48 00 00 20 */ b lbl_80299B80
+lbl_80299B64:
+/* 80299B64 002957C4 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299B68 002957C8 41 80 00 0C */ blt lbl_80299B74
+/* 80299B6C 002957CC 38 1D FF 64 */ addi r0, r29, -156
+/* 80299B70 002957D0 48 00 00 10 */ b lbl_80299B80
+lbl_80299B74:
+/* 80299B74 002957D4 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299B78 002957D8 7C FE 02 14 */ add r7, r30, r0
+/* 80299B7C 002957DC A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299B80:
+/* 80299B80 002957E0 B0 05 00 56 */ sth r0, 0x56(r5)
+/* 80299B84 002957E4 48 00 00 E4 */ b lbl_80299C68
+lbl_80299B88:
+/* 80299B88 002957E8 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 80299B8C 002957EC 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299B90 002957F0 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299B94 002957F4 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80299B98 002957F8 7C E9 3A 14 */ add r7, r9, r7
+/* 80299B9C 002957FC 7C 08 02 14 */ add r0, r8, r0
+/* 80299BA0 00295800 7C 07 02 14 */ add r0, r7, r0
+/* 80299BA4 00295804 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299BA8 00295808 41 81 00 0C */ bgt lbl_80299BB4
+/* 80299BAC 0029580C 38 00 00 00 */ li r0, 0
+/* 80299BB0 00295810 48 00 00 20 */ b lbl_80299BD0
+lbl_80299BB4:
+/* 80299BB4 00295814 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299BB8 00295818 41 80 00 0C */ blt lbl_80299BC4
+/* 80299BBC 0029581C 38 1D FF 64 */ addi r0, r29, -156
+/* 80299BC0 00295820 48 00 00 10 */ b lbl_80299BD0
+lbl_80299BC4:
+/* 80299BC4 00295824 54 00 08 3C */ slwi r0, r0, 1
+/* 80299BC8 00295828 7C FE 02 14 */ add r7, r30, r0
+/* 80299BCC 0029582C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299BD0:
+/* 80299BD0 00295830 B0 05 00 4E */ sth r0, 0x4e(r5)
+/* 80299BD4 00295834 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 80299BD8 00295838 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299BDC 0029583C 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299BE0 00295840 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80299BE4 00295844 7C E9 3A 14 */ add r7, r9, r7
+/* 80299BE8 00295848 7C 08 02 14 */ add r0, r8, r0
+/* 80299BEC 0029584C 7C 07 02 14 */ add r0, r7, r0
+/* 80299BF0 00295850 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299BF4 00295854 41 81 00 0C */ bgt lbl_80299C00
+/* 80299BF8 00295858 38 00 00 00 */ li r0, 0
+/* 80299BFC 0029585C 48 00 00 20 */ b lbl_80299C1C
+lbl_80299C00:
+/* 80299C00 00295860 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299C04 00295864 41 80 00 0C */ blt lbl_80299C10
+/* 80299C08 00295868 38 1D FF 64 */ addi r0, r29, -156
+/* 80299C0C 0029586C 48 00 00 10 */ b lbl_80299C1C
+lbl_80299C10:
+/* 80299C10 00295870 54 00 08 3C */ slwi r0, r0, 1
+/* 80299C14 00295874 7C FE 02 14 */ add r7, r30, r0
+/* 80299C18 00295878 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299C1C:
+/* 80299C1C 0029587C B0 05 00 52 */ sth r0, 0x52(r5)
+/* 80299C20 00295880 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299C24 00295884 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80299C28 00295888 80 E5 00 30 */ lwz r7, 0x30(r5)
+/* 80299C2C 0029588C 7C 08 02 14 */ add r0, r8, r0
+/* 80299C30 00295890 7C E0 3A 14 */ add r7, r0, r7
+/* 80299C34 00295894 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299C38 00295898 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299C3C 0029589C 41 81 00 0C */ bgt lbl_80299C48
+/* 80299C40 002958A0 38 00 00 00 */ li r0, 0
+/* 80299C44 002958A4 48 00 00 20 */ b lbl_80299C64
+lbl_80299C48:
+/* 80299C48 002958A8 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299C4C 002958AC 41 80 00 0C */ blt lbl_80299C58
+/* 80299C50 002958B0 38 1D FF 64 */ addi r0, r29, -156
+/* 80299C54 002958B4 48 00 00 10 */ b lbl_80299C64
+lbl_80299C58:
+/* 80299C58 002958B8 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299C5C 002958BC 7C FE 02 14 */ add r7, r30, r0
+/* 80299C60 002958C0 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299C64:
+/* 80299C64 002958C4 B0 05 00 56 */ sth r0, 0x56(r5)
+lbl_80299C68:
+/* 80299C68 002958C8 80 05 00 04 */ lwz r0, 4(r5)
+/* 80299C6C 002958CC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80299C70 002958D0 41 82 00 D0 */ beq lbl_80299D40
+/* 80299C74 002958D4 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299C78 002958D8 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 80299C7C 002958DC 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299C80 002958E0 7C 08 02 14 */ add r0, r8, r0
+/* 80299C84 002958E4 7C 07 02 14 */ add r0, r7, r0
+/* 80299C88 002958E8 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299C8C 002958EC 41 81 00 0C */ bgt lbl_80299C98
+/* 80299C90 002958F0 38 00 00 00 */ li r0, 0
+/* 80299C94 002958F4 48 00 00 20 */ b lbl_80299CB4
+lbl_80299C98:
+/* 80299C98 002958F8 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299C9C 002958FC 41 80 00 0C */ blt lbl_80299CA8
+/* 80299CA0 00295900 38 1D FF 64 */ addi r0, r29, -156
+/* 80299CA4 00295904 48 00 00 10 */ b lbl_80299CB4
+lbl_80299CA8:
+/* 80299CA8 00295908 54 00 08 3C */ slwi r0, r0, 1
+/* 80299CAC 0029590C 7C FE 02 14 */ add r7, r30, r0
+/* 80299CB0 00295910 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299CB4:
+/* 80299CB4 00295914 B0 05 00 5A */ sth r0, 0x5a(r5)
+/* 80299CB8 00295918 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299CBC 0029591C 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 80299CC0 00295920 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299CC4 00295924 7C 08 02 14 */ add r0, r8, r0
+/* 80299CC8 00295928 7C 07 02 14 */ add r0, r7, r0
+/* 80299CCC 0029592C 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299CD0 00295930 41 81 00 0C */ bgt lbl_80299CDC
+/* 80299CD4 00295934 38 00 00 00 */ li r0, 0
+/* 80299CD8 00295938 48 00 00 20 */ b lbl_80299CF8
+lbl_80299CDC:
+/* 80299CDC 0029593C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299CE0 00295940 41 80 00 0C */ blt lbl_80299CEC
+/* 80299CE4 00295944 38 1D FF 64 */ addi r0, r29, -156
+/* 80299CE8 00295948 48 00 00 10 */ b lbl_80299CF8
+lbl_80299CEC:
+/* 80299CEC 0029594C 54 00 08 3C */ slwi r0, r0, 1
+/* 80299CF0 00295950 7C FE 02 14 */ add r7, r30, r0
+/* 80299CF4 00295954 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299CF8:
+/* 80299CF8 00295958 B0 05 00 5E */ sth r0, 0x5e(r5)
+/* 80299CFC 0029595C 80 E5 00 10 */ lwz r7, 0x10(r5)
+/* 80299D00 00295960 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 80299D04 00295964 7C E7 02 14 */ add r7, r7, r0
+/* 80299D08 00295968 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299D0C 0029596C 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299D10 00295970 41 81 00 0C */ bgt lbl_80299D1C
+/* 80299D14 00295974 38 00 00 00 */ li r0, 0
+/* 80299D18 00295978 48 00 00 20 */ b lbl_80299D38
+lbl_80299D1C:
+/* 80299D1C 0029597C 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299D20 00295980 41 80 00 0C */ blt lbl_80299D2C
+/* 80299D24 00295984 38 1D FF 64 */ addi r0, r29, -156
+/* 80299D28 00295988 48 00 00 10 */ b lbl_80299D38
+lbl_80299D2C:
+/* 80299D2C 0029598C 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299D30 00295990 7C FE 02 14 */ add r7, r30, r0
+/* 80299D34 00295994 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299D38:
+/* 80299D38 00295998 B0 05 00 62 */ sth r0, 0x62(r5)
+/* 80299D3C 0029599C 48 00 00 E4 */ b lbl_80299E20
+lbl_80299D40:
+/* 80299D40 002959A0 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 80299D44 002959A4 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299D48 002959A8 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299D4C 002959AC 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 80299D50 002959B0 7C E9 3A 14 */ add r7, r9, r7
+/* 80299D54 002959B4 7C 08 02 14 */ add r0, r8, r0
+/* 80299D58 002959B8 7C 07 02 14 */ add r0, r7, r0
+/* 80299D5C 002959BC 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299D60 002959C0 41 81 00 0C */ bgt lbl_80299D6C
+/* 80299D64 002959C4 38 00 00 00 */ li r0, 0
+/* 80299D68 002959C8 48 00 00 20 */ b lbl_80299D88
+lbl_80299D6C:
+/* 80299D6C 002959CC 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299D70 002959D0 41 80 00 0C */ blt lbl_80299D7C
+/* 80299D74 002959D4 38 1D FF 64 */ addi r0, r29, -156
+/* 80299D78 002959D8 48 00 00 10 */ b lbl_80299D88
+lbl_80299D7C:
+/* 80299D7C 002959DC 54 00 08 3C */ slwi r0, r0, 1
+/* 80299D80 002959E0 7C FE 02 14 */ add r7, r30, r0
+/* 80299D84 002959E4 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299D88:
+/* 80299D88 002959E8 B0 05 00 5A */ sth r0, 0x5a(r5)
+/* 80299D8C 002959EC 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 80299D90 002959F0 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299D94 002959F4 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299D98 002959F8 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 80299D9C 002959FC 7C E9 3A 14 */ add r7, r9, r7
+/* 80299DA0 00295A00 7C 08 02 14 */ add r0, r8, r0
+/* 80299DA4 00295A04 7C 07 02 14 */ add r0, r7, r0
+/* 80299DA8 00295A08 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299DAC 00295A0C 41 81 00 0C */ bgt lbl_80299DB8
+/* 80299DB0 00295A10 38 00 00 00 */ li r0, 0
+/* 80299DB4 00295A14 48 00 00 20 */ b lbl_80299DD4
+lbl_80299DB8:
+/* 80299DB8 00295A18 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299DBC 00295A1C 41 80 00 0C */ blt lbl_80299DC8
+/* 80299DC0 00295A20 38 1D FF 64 */ addi r0, r29, -156
+/* 80299DC4 00295A24 48 00 00 10 */ b lbl_80299DD4
+lbl_80299DC8:
+/* 80299DC8 00295A28 54 00 08 3C */ slwi r0, r0, 1
+/* 80299DCC 00295A2C 7C FE 02 14 */ add r7, r30, r0
+/* 80299DD0 00295A30 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299DD4:
+/* 80299DD4 00295A34 B0 05 00 5E */ sth r0, 0x5e(r5)
+/* 80299DD8 00295A38 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299DDC 00295A3C 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 80299DE0 00295A40 80 E5 00 30 */ lwz r7, 0x30(r5)
+/* 80299DE4 00295A44 7C 08 02 14 */ add r0, r8, r0
+/* 80299DE8 00295A48 7C E0 3A 14 */ add r7, r0, r7
+/* 80299DEC 00295A4C 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299DF0 00295A50 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299DF4 00295A54 41 81 00 0C */ bgt lbl_80299E00
+/* 80299DF8 00295A58 38 00 00 00 */ li r0, 0
+/* 80299DFC 00295A5C 48 00 00 20 */ b lbl_80299E1C
+lbl_80299E00:
+/* 80299E00 00295A60 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299E04 00295A64 41 80 00 0C */ blt lbl_80299E10
+/* 80299E08 00295A68 38 1D FF 64 */ addi r0, r29, -156
+/* 80299E0C 00295A6C 48 00 00 10 */ b lbl_80299E1C
+lbl_80299E10:
+/* 80299E10 00295A70 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299E14 00295A74 7C FE 02 14 */ add r7, r30, r0
+/* 80299E18 00295A78 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299E1C:
+/* 80299E1C 00295A7C B0 05 00 62 */ sth r0, 0x62(r5)
+lbl_80299E20:
+/* 80299E20 00295A80 80 05 00 04 */ lwz r0, 4(r5)
+/* 80299E24 00295A84 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80299E28 00295A88 41 82 00 D0 */ beq lbl_80299EF8
+/* 80299E2C 00295A8C 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299E30 00295A90 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80299E34 00295A94 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299E38 00295A98 7C 08 02 14 */ add r0, r8, r0
+/* 80299E3C 00295A9C 7C 07 02 14 */ add r0, r7, r0
+/* 80299E40 00295AA0 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299E44 00295AA4 41 81 00 0C */ bgt lbl_80299E50
+/* 80299E48 00295AA8 38 00 00 00 */ li r0, 0
+/* 80299E4C 00295AAC 48 00 00 20 */ b lbl_80299E6C
+lbl_80299E50:
+/* 80299E50 00295AB0 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299E54 00295AB4 41 80 00 0C */ blt lbl_80299E60
+/* 80299E58 00295AB8 38 1D FF 64 */ addi r0, r29, -156
+/* 80299E5C 00295ABC 48 00 00 10 */ b lbl_80299E6C
+lbl_80299E60:
+/* 80299E60 00295AC0 54 00 08 3C */ slwi r0, r0, 1
+/* 80299E64 00295AC4 7C FE 02 14 */ add r7, r30, r0
+/* 80299E68 00295AC8 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299E6C:
+/* 80299E6C 00295ACC B0 05 00 66 */ sth r0, 0x66(r5)
+/* 80299E70 00295AD0 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299E74 00295AD4 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80299E78 00295AD8 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299E7C 00295ADC 7C 08 02 14 */ add r0, r8, r0
+/* 80299E80 00295AE0 7C 07 02 14 */ add r0, r7, r0
+/* 80299E84 00295AE4 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299E88 00295AE8 41 81 00 0C */ bgt lbl_80299E94
+/* 80299E8C 00295AEC 38 00 00 00 */ li r0, 0
+/* 80299E90 00295AF0 48 00 00 20 */ b lbl_80299EB0
+lbl_80299E94:
+/* 80299E94 00295AF4 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299E98 00295AF8 41 80 00 0C */ blt lbl_80299EA4
+/* 80299E9C 00295AFC 38 1D FF 64 */ addi r0, r29, -156
+/* 80299EA0 00295B00 48 00 00 10 */ b lbl_80299EB0
+lbl_80299EA4:
+/* 80299EA4 00295B04 54 00 08 3C */ slwi r0, r0, 1
+/* 80299EA8 00295B08 7C FE 02 14 */ add r7, r30, r0
+/* 80299EAC 00295B0C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299EB0:
+/* 80299EB0 00295B10 B0 05 00 6A */ sth r0, 0x6a(r5)
+/* 80299EB4 00295B14 80 E5 00 14 */ lwz r7, 0x14(r5)
+/* 80299EB8 00295B18 80 05 00 30 */ lwz r0, 0x30(r5)
+/* 80299EBC 00295B1C 7C E7 02 14 */ add r7, r7, r0
+/* 80299EC0 00295B20 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299EC4 00295B24 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299EC8 00295B28 41 81 00 0C */ bgt lbl_80299ED4
+/* 80299ECC 00295B2C 38 00 00 00 */ li r0, 0
+/* 80299ED0 00295B30 48 00 00 20 */ b lbl_80299EF0
+lbl_80299ED4:
+/* 80299ED4 00295B34 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299ED8 00295B38 41 80 00 0C */ blt lbl_80299EE4
+/* 80299EDC 00295B3C 38 1D FF 64 */ addi r0, r29, -156
+/* 80299EE0 00295B40 48 00 00 10 */ b lbl_80299EF0
+lbl_80299EE4:
+/* 80299EE4 00295B44 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299EE8 00295B48 7C FE 02 14 */ add r7, r30, r0
+/* 80299EEC 00295B4C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299EF0:
+/* 80299EF0 00295B50 B0 05 00 6E */ sth r0, 0x6e(r5)
+/* 80299EF4 00295B54 48 00 06 9C */ b lbl_8029A590
+lbl_80299EF8:
+/* 80299EF8 00295B58 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 80299EFC 00295B5C 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299F00 00295B60 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299F04 00295B64 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80299F08 00295B68 7C E9 3A 14 */ add r7, r9, r7
+/* 80299F0C 00295B6C 7C 08 02 14 */ add r0, r8, r0
+/* 80299F10 00295B70 7C 07 02 14 */ add r0, r7, r0
+/* 80299F14 00295B74 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299F18 00295B78 41 81 00 0C */ bgt lbl_80299F24
+/* 80299F1C 00295B7C 38 00 00 00 */ li r0, 0
+/* 80299F20 00295B80 48 00 00 20 */ b lbl_80299F40
+lbl_80299F24:
+/* 80299F24 00295B84 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299F28 00295B88 41 80 00 0C */ blt lbl_80299F34
+/* 80299F2C 00295B8C 38 1D FF 64 */ addi r0, r29, -156
+/* 80299F30 00295B90 48 00 00 10 */ b lbl_80299F40
+lbl_80299F34:
+/* 80299F34 00295B94 54 00 08 3C */ slwi r0, r0, 1
+/* 80299F38 00295B98 7C FE 02 14 */ add r7, r30, r0
+/* 80299F3C 00295B9C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299F40:
+/* 80299F40 00295BA0 B0 05 00 66 */ sth r0, 0x66(r5)
+/* 80299F44 00295BA4 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 80299F48 00295BA8 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 80299F4C 00295BAC 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299F50 00295BB0 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80299F54 00295BB4 7C E9 3A 14 */ add r7, r9, r7
+/* 80299F58 00295BB8 7C 08 02 14 */ add r0, r8, r0
+/* 80299F5C 00295BBC 7C 07 02 14 */ add r0, r7, r0
+/* 80299F60 00295BC0 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299F64 00295BC4 41 81 00 0C */ bgt lbl_80299F70
+/* 80299F68 00295BC8 38 00 00 00 */ li r0, 0
+/* 80299F6C 00295BCC 48 00 00 20 */ b lbl_80299F8C
+lbl_80299F70:
+/* 80299F70 00295BD0 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 80299F74 00295BD4 41 80 00 0C */ blt lbl_80299F80
+/* 80299F78 00295BD8 38 1D FF 64 */ addi r0, r29, -156
+/* 80299F7C 00295BDC 48 00 00 10 */ b lbl_80299F8C
+lbl_80299F80:
+/* 80299F80 00295BE0 54 00 08 3C */ slwi r0, r0, 1
+/* 80299F84 00295BE4 7C FE 02 14 */ add r7, r30, r0
+/* 80299F88 00295BE8 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299F8C:
+/* 80299F8C 00295BEC B0 05 00 6A */ sth r0, 0x6a(r5)
+/* 80299F90 00295BF0 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 80299F94 00295BF4 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80299F98 00295BF8 80 E5 00 30 */ lwz r7, 0x30(r5)
+/* 80299F9C 00295BFC 7C 08 02 14 */ add r0, r8, r0
+/* 80299FA0 00295C00 7C E0 3A 14 */ add r7, r0, r7
+/* 80299FA4 00295C04 38 E7 FF E2 */ addi r7, r7, -30
+/* 80299FA8 00295C08 2C 07 FC 78 */ cmpwi r7, -904
+/* 80299FAC 00295C0C 41 81 00 0C */ bgt lbl_80299FB8
+/* 80299FB0 00295C10 38 00 00 00 */ li r0, 0
+/* 80299FB4 00295C14 48 00 00 20 */ b lbl_80299FD4
+lbl_80299FB8:
+/* 80299FB8 00295C18 2C 07 00 3C */ cmpwi r7, 0x3c
+/* 80299FBC 00295C1C 41 80 00 0C */ blt lbl_80299FC8
+/* 80299FC0 00295C20 38 1D FF 64 */ addi r0, r29, -156
+/* 80299FC4 00295C24 48 00 00 10 */ b lbl_80299FD4
+lbl_80299FC8:
+/* 80299FC8 00295C28 54 E0 08 3C */ slwi r0, r7, 1
+/* 80299FCC 00295C2C 7C FE 02 14 */ add r7, r30, r0
+/* 80299FD0 00295C30 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_80299FD4:
+/* 80299FD4 00295C34 B0 05 00 6E */ sth r0, 0x6e(r5)
+/* 80299FD8 00295C38 48 00 05 B8 */ b lbl_8029A590
+lbl_80299FDC:
+/* 80299FDC 00295C3C 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 80299FE0 00295C40 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80299FE4 00295C44 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80299FE8 00295C48 7C 08 02 14 */ add r0, r8, r0
+/* 80299FEC 00295C4C 7C 07 02 14 */ add r0, r7, r0
+/* 80299FF0 00295C50 2C 00 FC 78 */ cmpwi r0, -904
+/* 80299FF4 00295C54 41 81 00 0C */ bgt lbl_8029A000
+/* 80299FF8 00295C58 38 00 00 00 */ li r0, 0
+/* 80299FFC 00295C5C 48 00 00 20 */ b lbl_8029A01C
+lbl_8029A000:
+/* 8029A000 00295C60 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A004 00295C64 41 80 00 0C */ blt lbl_8029A010
+/* 8029A008 00295C68 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A00C 00295C6C 48 00 00 10 */ b lbl_8029A01C
+lbl_8029A010:
+/* 8029A010 00295C70 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A014 00295C74 7C FE 02 14 */ add r7, r30, r0
+/* 8029A018 00295C78 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A01C:
+/* 8029A01C 00295C7C B0 05 00 42 */ sth r0, 0x42(r5)
+/* 8029A020 00295C80 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029A024 00295C84 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 8029A028 00295C88 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 8029A02C 00295C8C 7C 08 02 14 */ add r0, r8, r0
+/* 8029A030 00295C90 7C 07 02 14 */ add r0, r7, r0
+/* 8029A034 00295C94 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A038 00295C98 41 81 00 0C */ bgt lbl_8029A044
+/* 8029A03C 00295C9C 38 00 00 00 */ li r0, 0
+/* 8029A040 00295CA0 48 00 00 20 */ b lbl_8029A060
+lbl_8029A044:
+/* 8029A044 00295CA4 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A048 00295CA8 41 80 00 0C */ blt lbl_8029A054
+/* 8029A04C 00295CAC 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A050 00295CB0 48 00 00 10 */ b lbl_8029A060
+lbl_8029A054:
+/* 8029A054 00295CB4 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A058 00295CB8 7C FE 02 14 */ add r7, r30, r0
+/* 8029A05C 00295CBC A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A060:
+/* 8029A060 00295CC0 B0 05 00 46 */ sth r0, 0x46(r5)
+/* 8029A064 00295CC4 81 05 00 30 */ lwz r8, 0x30(r5)
+/* 8029A068 00295CC8 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 8029A06C 00295CCC 80 E5 00 34 */ lwz r7, 0x34(r5)
+/* 8029A070 00295CD0 7C 08 02 14 */ add r0, r8, r0
+/* 8029A074 00295CD4 7C 07 02 14 */ add r0, r7, r0
+/* 8029A078 00295CD8 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A07C 00295CDC 41 81 00 0C */ bgt lbl_8029A088
+/* 8029A080 00295CE0 38 00 00 00 */ li r0, 0
+/* 8029A084 00295CE4 48 00 00 20 */ b lbl_8029A0A4
+lbl_8029A088:
+/* 8029A088 00295CE8 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A08C 00295CEC 41 80 00 0C */ blt lbl_8029A098
+/* 8029A090 00295CF0 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A094 00295CF4 48 00 00 10 */ b lbl_8029A0A4
+lbl_8029A098:
+/* 8029A098 00295CF8 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A09C 00295CFC 7C FE 02 14 */ add r7, r30, r0
+/* 8029A0A0 00295D00 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A0A4:
+/* 8029A0A4 00295D04 B0 05 00 4A */ sth r0, 0x4a(r5)
+/* 8029A0A8 00295D08 81 05 00 30 */ lwz r8, 0x30(r5)
+/* 8029A0AC 00295D0C 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 8029A0B0 00295D10 80 E5 00 38 */ lwz r7, 0x38(r5)
+/* 8029A0B4 00295D14 7C 08 02 14 */ add r0, r8, r0
+/* 8029A0B8 00295D18 7C 07 02 14 */ add r0, r7, r0
+/* 8029A0BC 00295D1C 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A0C0 00295D20 41 81 00 0C */ bgt lbl_8029A0CC
+/* 8029A0C4 00295D24 38 00 00 00 */ li r0, 0
+/* 8029A0C8 00295D28 48 00 00 20 */ b lbl_8029A0E8
+lbl_8029A0CC:
+/* 8029A0CC 00295D2C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A0D0 00295D30 41 80 00 0C */ blt lbl_8029A0DC
+/* 8029A0D4 00295D34 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A0D8 00295D38 48 00 00 10 */ b lbl_8029A0E8
+lbl_8029A0DC:
+/* 8029A0DC 00295D3C 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A0E0 00295D40 7C FE 02 14 */ add r7, r30, r0
+/* 8029A0E4 00295D44 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A0E8:
+/* 8029A0E8 00295D48 B0 05 00 66 */ sth r0, 0x66(r5)
+/* 8029A0EC 00295D4C 80 05 00 04 */ lwz r0, 4(r5)
+/* 8029A0F0 00295D50 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8029A0F4 00295D54 41 82 01 18 */ beq lbl_8029A20C
+/* 8029A0F8 00295D58 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029A0FC 00295D5C 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A100 00295D60 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 8029A104 00295D64 7C 08 02 14 */ add r0, r8, r0
+/* 8029A108 00295D68 7C 07 02 14 */ add r0, r7, r0
+/* 8029A10C 00295D6C 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A110 00295D70 41 81 00 0C */ bgt lbl_8029A11C
+/* 8029A114 00295D74 38 00 00 00 */ li r0, 0
+/* 8029A118 00295D78 48 00 00 20 */ b lbl_8029A138
+lbl_8029A11C:
+/* 8029A11C 00295D7C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A120 00295D80 41 80 00 0C */ blt lbl_8029A12C
+/* 8029A124 00295D84 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A128 00295D88 48 00 00 10 */ b lbl_8029A138
+lbl_8029A12C:
+/* 8029A12C 00295D8C 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A130 00295D90 7C FE 02 14 */ add r7, r30, r0
+/* 8029A134 00295D94 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A138:
+/* 8029A138 00295D98 B0 05 00 4E */ sth r0, 0x4e(r5)
+/* 8029A13C 00295D9C 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029A140 00295DA0 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A144 00295DA4 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 8029A148 00295DA8 7C 08 02 14 */ add r0, r8, r0
+/* 8029A14C 00295DAC 7C 07 02 14 */ add r0, r7, r0
+/* 8029A150 00295DB0 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A154 00295DB4 41 81 00 0C */ bgt lbl_8029A160
+/* 8029A158 00295DB8 38 00 00 00 */ li r0, 0
+/* 8029A15C 00295DBC 48 00 00 20 */ b lbl_8029A17C
+lbl_8029A160:
+/* 8029A160 00295DC0 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A164 00295DC4 41 80 00 0C */ blt lbl_8029A170
+/* 8029A168 00295DC8 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A16C 00295DCC 48 00 00 10 */ b lbl_8029A17C
+lbl_8029A170:
+/* 8029A170 00295DD0 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A174 00295DD4 7C FE 02 14 */ add r7, r30, r0
+/* 8029A178 00295DD8 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A17C:
+/* 8029A17C 00295DDC B0 05 00 52 */ sth r0, 0x52(r5)
+/* 8029A180 00295DE0 81 05 00 30 */ lwz r8, 0x30(r5)
+/* 8029A184 00295DE4 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A188 00295DE8 80 E5 00 34 */ lwz r7, 0x34(r5)
+/* 8029A18C 00295DEC 7C 08 02 14 */ add r0, r8, r0
+/* 8029A190 00295DF0 7C 07 02 14 */ add r0, r7, r0
+/* 8029A194 00295DF4 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A198 00295DF8 41 81 00 0C */ bgt lbl_8029A1A4
+/* 8029A19C 00295DFC 38 00 00 00 */ li r0, 0
+/* 8029A1A0 00295E00 48 00 00 20 */ b lbl_8029A1C0
+lbl_8029A1A4:
+/* 8029A1A4 00295E04 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A1A8 00295E08 41 80 00 0C */ blt lbl_8029A1B4
+/* 8029A1AC 00295E0C 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A1B0 00295E10 48 00 00 10 */ b lbl_8029A1C0
+lbl_8029A1B4:
+/* 8029A1B4 00295E14 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A1B8 00295E18 7C FE 02 14 */ add r7, r30, r0
+/* 8029A1BC 00295E1C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A1C0:
+/* 8029A1C0 00295E20 B0 05 00 56 */ sth r0, 0x56(r5)
+/* 8029A1C4 00295E24 81 05 00 30 */ lwz r8, 0x30(r5)
+/* 8029A1C8 00295E28 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A1CC 00295E2C 80 E5 00 38 */ lwz r7, 0x38(r5)
+/* 8029A1D0 00295E30 7C 08 02 14 */ add r0, r8, r0
+/* 8029A1D4 00295E34 7C 07 02 14 */ add r0, r7, r0
+/* 8029A1D8 00295E38 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A1DC 00295E3C 41 81 00 0C */ bgt lbl_8029A1E8
+/* 8029A1E0 00295E40 38 00 00 00 */ li r0, 0
+/* 8029A1E4 00295E44 48 00 00 20 */ b lbl_8029A204
+lbl_8029A1E8:
+/* 8029A1E8 00295E48 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A1EC 00295E4C 41 80 00 0C */ blt lbl_8029A1F8
+/* 8029A1F0 00295E50 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A1F4 00295E54 48 00 00 10 */ b lbl_8029A204
+lbl_8029A1F8:
+/* 8029A1F8 00295E58 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A1FC 00295E5C 7C FE 02 14 */ add r7, r30, r0
+/* 8029A200 00295E60 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A204:
+/* 8029A204 00295E64 B0 05 00 6A */ sth r0, 0x6a(r5)
+/* 8029A208 00295E68 48 00 01 34 */ b lbl_8029A33C
+lbl_8029A20C:
+/* 8029A20C 00295E6C 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 8029A210 00295E70 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 8029A214 00295E74 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A218 00295E78 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A21C 00295E7C 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A220 00295E80 7C 08 02 14 */ add r0, r8, r0
+/* 8029A224 00295E84 7C 07 02 14 */ add r0, r7, r0
+/* 8029A228 00295E88 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A22C 00295E8C 41 81 00 0C */ bgt lbl_8029A238
+/* 8029A230 00295E90 38 00 00 00 */ li r0, 0
+/* 8029A234 00295E94 48 00 00 20 */ b lbl_8029A254
+lbl_8029A238:
+/* 8029A238 00295E98 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A23C 00295E9C 41 80 00 0C */ blt lbl_8029A248
+/* 8029A240 00295EA0 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A244 00295EA4 48 00 00 10 */ b lbl_8029A254
+lbl_8029A248:
+/* 8029A248 00295EA8 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A24C 00295EAC 7C FE 02 14 */ add r7, r30, r0
+/* 8029A250 00295EB0 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A254:
+/* 8029A254 00295EB4 B0 05 00 4E */ sth r0, 0x4e(r5)
+/* 8029A258 00295EB8 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 8029A25C 00295EBC 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 8029A260 00295EC0 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A264 00295EC4 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A268 00295EC8 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A26C 00295ECC 7C 08 02 14 */ add r0, r8, r0
+/* 8029A270 00295ED0 7C 07 02 14 */ add r0, r7, r0
+/* 8029A274 00295ED4 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A278 00295ED8 41 81 00 0C */ bgt lbl_8029A284
+/* 8029A27C 00295EDC 38 00 00 00 */ li r0, 0
+/* 8029A280 00295EE0 48 00 00 20 */ b lbl_8029A2A0
+lbl_8029A284:
+/* 8029A284 00295EE4 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A288 00295EE8 41 80 00 0C */ blt lbl_8029A294
+/* 8029A28C 00295EEC 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A290 00295EF0 48 00 00 10 */ b lbl_8029A2A0
+lbl_8029A294:
+/* 8029A294 00295EF4 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A298 00295EF8 7C FE 02 14 */ add r7, r30, r0
+/* 8029A29C 00295EFC A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A2A0:
+/* 8029A2A0 00295F00 B0 05 00 52 */ sth r0, 0x52(r5)
+/* 8029A2A4 00295F04 81 25 00 30 */ lwz r9, 0x30(r5)
+/* 8029A2A8 00295F08 80 E5 00 34 */ lwz r7, 0x34(r5)
+/* 8029A2AC 00295F0C 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A2B0 00295F10 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A2B4 00295F14 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A2B8 00295F18 7C 08 02 14 */ add r0, r8, r0
+/* 8029A2BC 00295F1C 7C 07 02 14 */ add r0, r7, r0
+/* 8029A2C0 00295F20 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A2C4 00295F24 41 81 00 0C */ bgt lbl_8029A2D0
+/* 8029A2C8 00295F28 38 00 00 00 */ li r0, 0
+/* 8029A2CC 00295F2C 48 00 00 20 */ b lbl_8029A2EC
+lbl_8029A2D0:
+/* 8029A2D0 00295F30 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A2D4 00295F34 41 80 00 0C */ blt lbl_8029A2E0
+/* 8029A2D8 00295F38 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A2DC 00295F3C 48 00 00 10 */ b lbl_8029A2EC
+lbl_8029A2E0:
+/* 8029A2E0 00295F40 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A2E4 00295F44 7C FE 02 14 */ add r7, r30, r0
+/* 8029A2E8 00295F48 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A2EC:
+/* 8029A2EC 00295F4C B0 05 00 56 */ sth r0, 0x56(r5)
+/* 8029A2F0 00295F50 81 25 00 30 */ lwz r9, 0x30(r5)
+/* 8029A2F4 00295F54 80 E5 00 38 */ lwz r7, 0x38(r5)
+/* 8029A2F8 00295F58 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A2FC 00295F5C 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 8029A300 00295F60 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A304 00295F64 7C 08 02 14 */ add r0, r8, r0
+/* 8029A308 00295F68 7C 07 02 14 */ add r0, r7, r0
+/* 8029A30C 00295F6C 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A310 00295F70 41 81 00 0C */ bgt lbl_8029A31C
+/* 8029A314 00295F74 38 00 00 00 */ li r0, 0
+/* 8029A318 00295F78 48 00 00 20 */ b lbl_8029A338
+lbl_8029A31C:
+/* 8029A31C 00295F7C 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A320 00295F80 41 80 00 0C */ blt lbl_8029A32C
+/* 8029A324 00295F84 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A328 00295F88 48 00 00 10 */ b lbl_8029A338
+lbl_8029A32C:
+/* 8029A32C 00295F8C 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A330 00295F90 7C FE 02 14 */ add r7, r30, r0
+/* 8029A334 00295F94 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A338:
+/* 8029A338 00295F98 B0 05 00 6A */ sth r0, 0x6a(r5)
+lbl_8029A33C:
+/* 8029A33C 00295F9C 80 05 00 04 */ lwz r0, 4(r5)
+/* 8029A340 00295FA0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8029A344 00295FA4 41 82 01 18 */ beq lbl_8029A45C
+/* 8029A348 00295FA8 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029A34C 00295FAC 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A350 00295FB0 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 8029A354 00295FB4 7C 08 02 14 */ add r0, r8, r0
+/* 8029A358 00295FB8 7C 07 02 14 */ add r0, r7, r0
+/* 8029A35C 00295FBC 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A360 00295FC0 41 81 00 0C */ bgt lbl_8029A36C
+/* 8029A364 00295FC4 38 00 00 00 */ li r0, 0
+/* 8029A368 00295FC8 48 00 00 20 */ b lbl_8029A388
+lbl_8029A36C:
+/* 8029A36C 00295FCC 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A370 00295FD0 41 80 00 0C */ blt lbl_8029A37C
+/* 8029A374 00295FD4 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A378 00295FD8 48 00 00 10 */ b lbl_8029A388
+lbl_8029A37C:
+/* 8029A37C 00295FDC 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A380 00295FE0 7C FE 02 14 */ add r7, r30, r0
+/* 8029A384 00295FE4 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A388:
+/* 8029A388 00295FE8 B0 05 00 5A */ sth r0, 0x5a(r5)
+/* 8029A38C 00295FEC 81 05 00 2C */ lwz r8, 0x2c(r5)
+/* 8029A390 00295FF0 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A394 00295FF4 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 8029A398 00295FF8 7C 08 02 14 */ add r0, r8, r0
+/* 8029A39C 00295FFC 7C 07 02 14 */ add r0, r7, r0
+/* 8029A3A0 00296000 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A3A4 00296004 41 81 00 0C */ bgt lbl_8029A3B0
+/* 8029A3A8 00296008 38 00 00 00 */ li r0, 0
+/* 8029A3AC 0029600C 48 00 00 20 */ b lbl_8029A3CC
+lbl_8029A3B0:
+/* 8029A3B0 00296010 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A3B4 00296014 41 80 00 0C */ blt lbl_8029A3C0
+/* 8029A3B8 00296018 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A3BC 0029601C 48 00 00 10 */ b lbl_8029A3CC
+lbl_8029A3C0:
+/* 8029A3C0 00296020 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A3C4 00296024 7C FE 02 14 */ add r7, r30, r0
+/* 8029A3C8 00296028 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A3CC:
+/* 8029A3CC 0029602C B0 05 00 5E */ sth r0, 0x5e(r5)
+/* 8029A3D0 00296030 81 05 00 30 */ lwz r8, 0x30(r5)
+/* 8029A3D4 00296034 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A3D8 00296038 80 E5 00 34 */ lwz r7, 0x34(r5)
+/* 8029A3DC 0029603C 7C 08 02 14 */ add r0, r8, r0
+/* 8029A3E0 00296040 7C 07 02 14 */ add r0, r7, r0
+/* 8029A3E4 00296044 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A3E8 00296048 41 81 00 0C */ bgt lbl_8029A3F4
+/* 8029A3EC 0029604C 38 00 00 00 */ li r0, 0
+/* 8029A3F0 00296050 48 00 00 20 */ b lbl_8029A410
+lbl_8029A3F4:
+/* 8029A3F4 00296054 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A3F8 00296058 41 80 00 0C */ blt lbl_8029A404
+/* 8029A3FC 0029605C 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A400 00296060 48 00 00 10 */ b lbl_8029A410
+lbl_8029A404:
+/* 8029A404 00296064 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A408 00296068 7C FE 02 14 */ add r7, r30, r0
+/* 8029A40C 0029606C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A410:
+/* 8029A410 00296070 B0 05 00 62 */ sth r0, 0x62(r5)
+/* 8029A414 00296074 81 05 00 30 */ lwz r8, 0x30(r5)
+/* 8029A418 00296078 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A41C 0029607C 80 E5 00 38 */ lwz r7, 0x38(r5)
+/* 8029A420 00296080 7C 08 02 14 */ add r0, r8, r0
+/* 8029A424 00296084 7C 07 02 14 */ add r0, r7, r0
+/* 8029A428 00296088 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A42C 0029608C 41 81 00 0C */ bgt lbl_8029A438
+/* 8029A430 00296090 38 00 00 00 */ li r0, 0
+/* 8029A434 00296094 48 00 00 20 */ b lbl_8029A454
+lbl_8029A438:
+/* 8029A438 00296098 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A43C 0029609C 41 80 00 0C */ blt lbl_8029A448
+/* 8029A440 002960A0 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A444 002960A4 48 00 00 10 */ b lbl_8029A454
+lbl_8029A448:
+/* 8029A448 002960A8 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A44C 002960AC 7C FE 02 14 */ add r7, r30, r0
+/* 8029A450 002960B0 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A454:
+/* 8029A454 002960B4 B0 05 00 6E */ sth r0, 0x6e(r5)
+/* 8029A458 002960B8 48 00 01 34 */ b lbl_8029A58C
+lbl_8029A45C:
+/* 8029A45C 002960BC 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 8029A460 002960C0 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 8029A464 002960C4 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A468 002960C8 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A46C 002960CC 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A470 002960D0 7C 08 02 14 */ add r0, r8, r0
+/* 8029A474 002960D4 7C 07 02 14 */ add r0, r7, r0
+/* 8029A478 002960D8 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A47C 002960DC 41 81 00 0C */ bgt lbl_8029A488
+/* 8029A480 002960E0 38 00 00 00 */ li r0, 0
+/* 8029A484 002960E4 48 00 00 20 */ b lbl_8029A4A4
+lbl_8029A488:
+/* 8029A488 002960E8 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A48C 002960EC 41 80 00 0C */ blt lbl_8029A498
+/* 8029A490 002960F0 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A494 002960F4 48 00 00 10 */ b lbl_8029A4A4
+lbl_8029A498:
+/* 8029A498 002960F8 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A49C 002960FC 7C FE 02 14 */ add r7, r30, r0
+/* 8029A4A0 00296100 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A4A4:
+/* 8029A4A4 00296104 B0 05 00 5A */ sth r0, 0x5a(r5)
+/* 8029A4A8 00296108 81 25 00 2C */ lwz r9, 0x2c(r5)
+/* 8029A4AC 0029610C 80 E5 00 28 */ lwz r7, 0x28(r5)
+/* 8029A4B0 00296110 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A4B4 00296114 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A4B8 00296118 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A4BC 0029611C 7C 08 02 14 */ add r0, r8, r0
+/* 8029A4C0 00296120 7C 07 02 14 */ add r0, r7, r0
+/* 8029A4C4 00296124 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A4C8 00296128 41 81 00 0C */ bgt lbl_8029A4D4
+/* 8029A4CC 0029612C 38 00 00 00 */ li r0, 0
+/* 8029A4D0 00296130 48 00 00 20 */ b lbl_8029A4F0
+lbl_8029A4D4:
+/* 8029A4D4 00296134 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A4D8 00296138 41 80 00 0C */ blt lbl_8029A4E4
+/* 8029A4DC 0029613C 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A4E0 00296140 48 00 00 10 */ b lbl_8029A4F0
+lbl_8029A4E4:
+/* 8029A4E4 00296144 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A4E8 00296148 7C FE 02 14 */ add r7, r30, r0
+/* 8029A4EC 0029614C A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A4F0:
+/* 8029A4F0 00296150 B0 05 00 5E */ sth r0, 0x5e(r5)
+/* 8029A4F4 00296154 81 25 00 30 */ lwz r9, 0x30(r5)
+/* 8029A4F8 00296158 80 E5 00 34 */ lwz r7, 0x34(r5)
+/* 8029A4FC 0029615C 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A500 00296160 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A504 00296164 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A508 00296168 7C 08 02 14 */ add r0, r8, r0
+/* 8029A50C 0029616C 7C 07 02 14 */ add r0, r7, r0
+/* 8029A510 00296170 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A514 00296174 41 81 00 0C */ bgt lbl_8029A520
+/* 8029A518 00296178 38 00 00 00 */ li r0, 0
+/* 8029A51C 0029617C 48 00 00 20 */ b lbl_8029A53C
+lbl_8029A520:
+/* 8029A520 00296180 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A524 00296184 41 80 00 0C */ blt lbl_8029A530
+/* 8029A528 00296188 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A52C 0029618C 48 00 00 10 */ b lbl_8029A53C
+lbl_8029A530:
+/* 8029A530 00296190 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A534 00296194 7C FE 02 14 */ add r7, r30, r0
+/* 8029A538 00296198 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A53C:
+/* 8029A53C 0029619C B0 05 00 62 */ sth r0, 0x62(r5)
+/* 8029A540 002961A0 81 25 00 30 */ lwz r9, 0x30(r5)
+/* 8029A544 002961A4 80 E5 00 38 */ lwz r7, 0x38(r5)
+/* 8029A548 002961A8 81 05 00 20 */ lwz r8, 0x20(r5)
+/* 8029A54C 002961AC 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 8029A550 002961B0 7C E9 3A 14 */ add r7, r9, r7
+/* 8029A554 002961B4 7C 08 02 14 */ add r0, r8, r0
+/* 8029A558 002961B8 7C 07 02 14 */ add r0, r7, r0
+/* 8029A55C 002961BC 2C 00 FC 78 */ cmpwi r0, -904
+/* 8029A560 002961C0 41 81 00 0C */ bgt lbl_8029A56C
+/* 8029A564 002961C4 38 00 00 00 */ li r0, 0
+/* 8029A568 002961C8 48 00 00 20 */ b lbl_8029A588
+lbl_8029A56C:
+/* 8029A56C 002961CC 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 8029A570 002961D0 41 80 00 0C */ blt lbl_8029A57C
+/* 8029A574 002961D4 38 1D FF 64 */ addi r0, r29, -156
+/* 8029A578 002961D8 48 00 00 10 */ b lbl_8029A588
+lbl_8029A57C:
+/* 8029A57C 002961DC 54 00 08 3C */ slwi r0, r0, 1
+/* 8029A580 002961E0 7C FE 02 14 */ add r7, r30, r0
+/* 8029A584 002961E4 A0 07 07 10 */ lhz r0, 0x710(r7)
+lbl_8029A588:
+/* 8029A588 002961E8 B0 05 00 6E */ sth r0, 0x6e(r5)
+lbl_8029A58C:
+/* 8029A58C 002961EC 64 C6 80 00 */ oris r6, r6, 0x8000
+lbl_8029A590:
+/* 8029A590 002961F0 80 E5 00 04 */ lwz r7, 4(r5)
+/* 8029A594 002961F4 38 00 00 01 */ li r0, 1
+/* 8029A598 002961F8 54 E7 00 80 */ rlwinm r7, r7, 0, 2, 0
+/* 8029A59C 002961FC 64 E7 80 00 */ oris r7, r7, 0x8000
+/* 8029A5A0 00296200 90 E5 00 04 */ stw r7, 4(r5)
+lbl_8029A5A4:
+/* 8029A5A4 00296204 2C 03 00 00 */ cmpwi r3, 0
+/* 8029A5A8 00296208 41 82 00 3C */ beq lbl_8029A5E4
+/* 8029A5AC 0029620C A0 65 00 3C */ lhz r3, 0x3c(r5)
+/* 8029A5B0 00296210 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A5B4 00296214 B0 64 00 92 */ sth r3, 0x92(r4)
+/* 8029A5B8 00296218 A0 E5 00 3C */ lhz r7, 0x3c(r5)
+/* 8029A5BC 0029621C A0 65 00 3E */ lhz r3, 0x3e(r5)
+/* 8029A5C0 00296220 7C 67 18 50 */ subf r3, r7, r3
+/* 8029A5C4 00296224 7C 68 18 96 */ mulhw r3, r8, r3
+/* 8029A5C8 00296228 7C 63 26 70 */ srawi r3, r3, 4
+/* 8029A5CC 0029622C 54 67 0F FE */ srwi r7, r3, 0x1f
+/* 8029A5D0 00296230 7C 63 3A 14 */ add r3, r3, r7
+/* 8029A5D4 00296234 B0 64 00 94 */ sth r3, 0x94(r4)
+/* 8029A5D8 00296238 80 64 00 1C */ lwz r3, 0x1c(r4)
+/* 8029A5DC 0029623C 60 63 01 00 */ ori r3, r3, 0x100
+/* 8029A5E0 00296240 90 64 00 1C */ stw r3, 0x1c(r4)
+lbl_8029A5E4:
+/* 8029A5E4 00296244 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A5E8 00296248 41 82 03 48 */ beq lbl_8029A930
+/* 8029A5EC 0029624C A0 05 00 40 */ lhz r0, 0x40(r5)
+/* 8029A5F0 00296250 38 64 00 3E */ addi r3, r4, 0x3e
+/* 8029A5F4 00296254 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A5F8 00296258 B0 04 00 3C */ sth r0, 0x3c(r4)
+/* 8029A5FC 0029625C 41 82 00 08 */ beq lbl_8029A604
+/* 8029A600 00296260 60 C6 00 01 */ ori r6, r6, 1
+lbl_8029A604:
+/* 8029A604 00296264 A0 E5 00 40 */ lhz r7, 0x40(r5)
+/* 8029A608 00296268 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A60C 0029626C A0 05 00 42 */ lhz r0, 0x42(r5)
+/* 8029A610 00296270 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A614 00296274 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A618 00296278 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A61C 0029627C 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A620 00296280 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A624 00296284 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A628 00296288 B0 E3 00 00 */ sth r7, 0(r3)
+/* 8029A62C 0029628C 41 82 00 08 */ beq lbl_8029A634
+/* 8029A630 00296290 60 C6 00 04 */ ori r6, r6, 4
+lbl_8029A634:
+/* 8029A634 00296294 A0 05 00 44 */ lhz r0, 0x44(r5)
+/* 8029A638 00296298 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A63C 0029629C B0 03 00 02 */ sth r0, 2(r3)
+/* 8029A640 002962A0 41 82 00 08 */ beq lbl_8029A648
+/* 8029A644 002962A4 60 C6 00 02 */ ori r6, r6, 2
+lbl_8029A648:
+/* 8029A648 002962A8 A0 E5 00 44 */ lhz r7, 0x44(r5)
+/* 8029A64C 002962AC 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A650 002962B0 A0 05 00 46 */ lhz r0, 0x46(r5)
+/* 8029A654 002962B4 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A658 002962B8 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A65C 002962BC 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A660 002962C0 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A664 002962C4 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A668 002962C8 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A66C 002962CC B0 E3 00 04 */ sth r7, 4(r3)
+/* 8029A670 002962D0 41 82 00 08 */ beq lbl_8029A678
+/* 8029A674 002962D4 60 C6 00 04 */ ori r6, r6, 4
+lbl_8029A678:
+/* 8029A678 002962D8 A0 05 00 4C */ lhz r0, 0x4c(r5)
+/* 8029A67C 002962DC 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A680 002962E0 B0 03 00 06 */ sth r0, 6(r3)
+/* 8029A684 002962E4 41 82 00 08 */ beq lbl_8029A68C
+/* 8029A688 002962E8 64 C6 00 01 */ oris r6, r6, 1
+lbl_8029A68C:
+/* 8029A68C 002962EC A0 E5 00 4C */ lhz r7, 0x4c(r5)
+/* 8029A690 002962F0 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A694 002962F4 A0 05 00 4E */ lhz r0, 0x4e(r5)
+/* 8029A698 002962F8 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A69C 002962FC 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A6A0 00296300 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A6A4 00296304 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A6A8 00296308 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A6AC 0029630C 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A6B0 00296310 B0 E3 00 08 */ sth r7, 8(r3)
+/* 8029A6B4 00296314 41 82 00 08 */ beq lbl_8029A6BC
+/* 8029A6B8 00296318 64 C6 00 04 */ oris r6, r6, 4
+lbl_8029A6BC:
+/* 8029A6BC 0029631C A0 05 00 50 */ lhz r0, 0x50(r5)
+/* 8029A6C0 00296320 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A6C4 00296324 B0 03 00 0A */ sth r0, 0xa(r3)
+/* 8029A6C8 00296328 41 82 00 08 */ beq lbl_8029A6D0
+/* 8029A6CC 0029632C 64 C6 00 02 */ oris r6, r6, 2
+lbl_8029A6D0:
+/* 8029A6D0 00296330 A0 E5 00 50 */ lhz r7, 0x50(r5)
+/* 8029A6D4 00296334 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A6D8 00296338 A0 05 00 52 */ lhz r0, 0x52(r5)
+/* 8029A6DC 0029633C 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A6E0 00296340 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A6E4 00296344 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A6E8 00296348 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A6EC 0029634C 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A6F0 00296350 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A6F4 00296354 B0 E3 00 0C */ sth r7, 0xc(r3)
+/* 8029A6F8 00296358 41 82 00 08 */ beq lbl_8029A700
+/* 8029A6FC 0029635C 64 C6 00 04 */ oris r6, r6, 4
+lbl_8029A700:
+/* 8029A700 00296360 A0 05 00 58 */ lhz r0, 0x58(r5)
+/* 8029A704 00296364 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A708 00296368 B0 03 00 0E */ sth r0, 0xe(r3)
+/* 8029A70C 0029636C 41 82 00 08 */ beq lbl_8029A714
+/* 8029A710 00296370 64 C6 00 20 */ oris r6, r6, 0x20
+lbl_8029A714:
+/* 8029A714 00296374 A0 E5 00 58 */ lhz r7, 0x58(r5)
+/* 8029A718 00296378 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A71C 0029637C A0 05 00 5A */ lhz r0, 0x5a(r5)
+/* 8029A720 00296380 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A724 00296384 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A728 00296388 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A72C 0029638C 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A730 00296390 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A734 00296394 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A738 00296398 B0 E3 00 10 */ sth r7, 0x10(r3)
+/* 8029A73C 0029639C 41 82 00 08 */ beq lbl_8029A744
+/* 8029A740 002963A0 64 C6 00 80 */ oris r6, r6, 0x80
+lbl_8029A744:
+/* 8029A744 002963A4 A0 05 00 5C */ lhz r0, 0x5c(r5)
+/* 8029A748 002963A8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A74C 002963AC B0 03 00 12 */ sth r0, 0x12(r3)
+/* 8029A750 002963B0 41 82 00 08 */ beq lbl_8029A758
+/* 8029A754 002963B4 64 C6 00 40 */ oris r6, r6, 0x40
+lbl_8029A758:
+/* 8029A758 002963B8 A0 E5 00 5C */ lhz r7, 0x5c(r5)
+/* 8029A75C 002963BC 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A760 002963C0 A0 05 00 5E */ lhz r0, 0x5e(r5)
+/* 8029A764 002963C4 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A768 002963C8 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A76C 002963CC 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A770 002963D0 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A774 002963D4 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A778 002963D8 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A77C 002963DC B0 E3 00 14 */ sth r7, 0x14(r3)
+/* 8029A780 002963E0 41 82 00 08 */ beq lbl_8029A788
+/* 8029A784 002963E4 64 C6 00 80 */ oris r6, r6, 0x80
+lbl_8029A788:
+/* 8029A788 002963E8 A0 05 00 64 */ lhz r0, 0x64(r5)
+/* 8029A78C 002963EC 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A790 002963F0 B0 03 00 16 */ sth r0, 0x16(r3)
+/* 8029A794 002963F4 41 82 00 08 */ beq lbl_8029A79C
+/* 8029A798 002963F8 64 C6 04 00 */ oris r6, r6, 0x400
+lbl_8029A79C:
+/* 8029A79C 002963FC A0 E5 00 64 */ lhz r7, 0x64(r5)
+/* 8029A7A0 00296400 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A7A4 00296404 A0 05 00 66 */ lhz r0, 0x66(r5)
+/* 8029A7A8 00296408 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A7AC 0029640C 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A7B0 00296410 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A7B4 00296414 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A7B8 00296418 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A7BC 0029641C 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A7C0 00296420 B0 E3 00 18 */ sth r7, 0x18(r3)
+/* 8029A7C4 00296424 41 82 00 08 */ beq lbl_8029A7CC
+/* 8029A7C8 00296428 64 C6 10 00 */ oris r6, r6, 0x1000
+lbl_8029A7CC:
+/* 8029A7CC 0029642C A0 05 00 68 */ lhz r0, 0x68(r5)
+/* 8029A7D0 00296430 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A7D4 00296434 B0 03 00 1A */ sth r0, 0x1a(r3)
+/* 8029A7D8 00296438 41 82 00 08 */ beq lbl_8029A7E0
+/* 8029A7DC 0029643C 64 C6 08 00 */ oris r6, r6, 0x800
+lbl_8029A7E0:
+/* 8029A7E0 00296440 A0 E5 00 68 */ lhz r7, 0x68(r5)
+/* 8029A7E4 00296444 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A7E8 00296448 A0 05 00 6A */ lhz r0, 0x6a(r5)
+/* 8029A7EC 0029644C 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A7F0 00296450 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A7F4 00296454 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A7F8 00296458 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A7FC 0029645C 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A800 00296460 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A804 00296464 B0 E3 00 1C */ sth r7, 0x1c(r3)
+/* 8029A808 00296468 41 82 00 08 */ beq lbl_8029A810
+/* 8029A80C 0029646C 64 C6 10 00 */ oris r6, r6, 0x1000
+lbl_8029A810:
+/* 8029A810 00296470 A0 05 00 48 */ lhz r0, 0x48(r5)
+/* 8029A814 00296474 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A818 00296478 B0 03 00 1E */ sth r0, 0x1e(r3)
+/* 8029A81C 0029647C 41 82 00 08 */ beq lbl_8029A824
+/* 8029A820 00296480 60 C6 00 08 */ ori r6, r6, 8
+lbl_8029A824:
+/* 8029A824 00296484 A0 E5 00 48 */ lhz r7, 0x48(r5)
+/* 8029A828 00296488 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A82C 0029648C A0 05 00 4A */ lhz r0, 0x4a(r5)
+/* 8029A830 00296490 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A834 00296494 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A838 00296498 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A83C 0029649C 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A840 002964A0 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A844 002964A4 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A848 002964A8 B0 E3 00 20 */ sth r7, 0x20(r3)
+/* 8029A84C 002964AC 41 82 00 08 */ beq lbl_8029A854
+/* 8029A850 002964B0 60 C6 00 10 */ ori r6, r6, 0x10
+lbl_8029A854:
+/* 8029A854 002964B4 A0 05 00 54 */ lhz r0, 0x54(r5)
+/* 8029A858 002964B8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A85C 002964BC B0 03 00 22 */ sth r0, 0x22(r3)
+/* 8029A860 002964C0 41 82 00 08 */ beq lbl_8029A868
+/* 8029A864 002964C4 64 C6 00 08 */ oris r6, r6, 8
+lbl_8029A868:
+/* 8029A868 002964C8 A0 E5 00 54 */ lhz r7, 0x54(r5)
+/* 8029A86C 002964CC 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A870 002964D0 A0 05 00 56 */ lhz r0, 0x56(r5)
+/* 8029A874 002964D4 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A878 002964D8 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A87C 002964DC 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A880 002964E0 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A884 002964E4 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A888 002964E8 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A88C 002964EC B0 E3 00 24 */ sth r7, 0x24(r3)
+/* 8029A890 002964F0 41 82 00 08 */ beq lbl_8029A898
+/* 8029A894 002964F4 64 C6 00 10 */ oris r6, r6, 0x10
+lbl_8029A898:
+/* 8029A898 002964F8 A0 05 00 60 */ lhz r0, 0x60(r5)
+/* 8029A89C 002964FC 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A8A0 00296500 B0 03 00 26 */ sth r0, 0x26(r3)
+/* 8029A8A4 00296504 41 82 00 08 */ beq lbl_8029A8AC
+/* 8029A8A8 00296508 64 C6 01 00 */ oris r6, r6, 0x100
+lbl_8029A8AC:
+/* 8029A8AC 0029650C A0 E5 00 60 */ lhz r7, 0x60(r5)
+/* 8029A8B0 00296510 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A8B4 00296514 A0 05 00 62 */ lhz r0, 0x62(r5)
+/* 8029A8B8 00296518 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A8BC 0029651C 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A8C0 00296520 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A8C4 00296524 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8029A8C8 00296528 7C E0 3A 14 */ add r7, r0, r7
+/* 8029A8CC 0029652C 54 E0 04 3F */ clrlwi. r0, r7, 0x10
+/* 8029A8D0 00296530 B0 E3 00 28 */ sth r7, 0x28(r3)
+/* 8029A8D4 00296534 41 82 00 08 */ beq lbl_8029A8DC
+/* 8029A8D8 00296538 64 C6 02 00 */ oris r6, r6, 0x200
+lbl_8029A8DC:
+/* 8029A8DC 0029653C A0 05 00 6C */ lhz r0, 0x6c(r5)
+/* 8029A8E0 00296540 2C 00 00 00 */ cmpwi r0, 0
+/* 8029A8E4 00296544 B0 03 00 2A */ sth r0, 0x2a(r3)
+/* 8029A8E8 00296548 41 82 00 08 */ beq lbl_8029A8F0
+/* 8029A8EC 0029654C 64 C6 20 00 */ oris r6, r6, 0x2000
+lbl_8029A8F0:
+/* 8029A8F0 00296550 A0 E5 00 6C */ lhz r7, 0x6c(r5)
+/* 8029A8F4 00296554 39 1F AA AB */ addi r8, r31, -21845
+/* 8029A8F8 00296558 A0 05 00 6E */ lhz r0, 0x6e(r5)
+/* 8029A8FC 0029655C 7C 07 00 50 */ subf r0, r7, r0
+/* 8029A900 00296560 7C 08 00 96 */ mulhw r0, r8, r0
+/* 8029A904 00296564 7C 00 26 70 */ srawi r0, r0, 4
+/* 8029A908 00296568 54 05 0F FE */ srwi r5, r0, 0x1f
+/* 8029A90C 0029656C 7C A0 2A 14 */ add r5, r0, r5
+/* 8029A910 00296570 54 A0 04 3F */ clrlwi. r0, r5, 0x10
+/* 8029A914 00296574 B0 A3 00 2C */ sth r5, 0x2c(r3)
+/* 8029A918 00296578 41 82 00 08 */ beq lbl_8029A920
+/* 8029A91C 0029657C 64 C6 40 00 */ oris r6, r6, 0x4000
+lbl_8029A920:
+/* 8029A920 00296580 90 C4 00 34 */ stw r6, 0x34(r4)
+/* 8029A924 00296584 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 8029A928 00296588 60 00 00 12 */ ori r0, r0, 0x12
+/* 8029A92C 0029658C 90 04 00 1C */ stw r0, 0x1c(r4)
+lbl_8029A930:
+/* 8029A930 00296590 7F 43 D3 78 */ mr r3, r26
+/* 8029A934 00296594 48 00 00 31 */ bl __MIXRmtUpdateSettings
+lbl_8029A938:
+/* 8029A938 00296598 3B 7B 00 70 */ addi r27, r27, 0x70
+/* 8029A93C 0029659C 3B 5A 00 01 */ addi r26, r26, 1
+lbl_8029A940:
+/* 8029A940 002965A0 80 0D AC 58 */ lwz r0, lbl_8063FF18-_SDA_BASE_(r13)
+/* 8029A944 002965A4 7C 1A 00 40 */ cmplw r26, r0
+/* 8029A948 002965A8 41 80 E9 CC */ blt lbl_80299314
+lbl_8029A94C:
+/* 8029A94C 002965AC 39 61 00 20 */ addi r11, r1, 0x20
+/* 8029A950 002965B0 4B F2 C8 21 */ bl _restgpr_26
+/* 8029A954 002965B4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8029A958 002965B8 7C 08 03 A6 */ mtlr r0
+/* 8029A95C 002965BC 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029A960 002965C0 4E 80 00 20 */ blr
diff --git a/asm/SDK/MIX/remote.s b/asm/SDK/MIX/remote.s
new file mode 100644
index 0000000..ce045ce
--- /dev/null
+++ b/asm/SDK/MIX/remote.s
@@ -0,0 +1,329 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __MIXRmtUpdateSettings
+__MIXRmtUpdateSettings:
+/* 8029A964 002965C4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029A968 002965C8 7C 08 02 A6 */ mflr r0
+/* 8029A96C 002965CC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029A970 002965D0 1C 03 00 44 */ mulli r0, r3, 0x44
+/* 8029A974 002965D4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029A978 002965D8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8029A97C 002965DC 7C 9E 23 78 */ mr r30, r4
+/* 8029A980 002965E0 80 6D AC 60 */ lwz r3, lbl_8063FF20-_SDA_BASE_(r13)
+/* 8029A984 002965E4 7F E3 02 14 */ add r31, r3, r0
+/* 8029A988 002965E8 7C 63 00 2E */ lwzx r3, r3, r0
+/* 8029A98C 002965EC 54 60 00 03 */ rlwinm. r0, r3, 0, 0, 1
+/* 8029A990 002965F0 41 82 03 F8 */ beq lbl_8029AD88
+/* 8029A994 002965F4 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
+/* 8029A998 002965F8 41 82 00 50 */ beq lbl_8029A9E8
+/* 8029A99C 002965FC A0 1F 00 26 */ lhz r0, 0x26(r31)
+/* 8029A9A0 00296600 B0 1F 00 24 */ sth r0, 0x24(r31)
+/* 8029A9A4 00296604 A0 1F 00 2A */ lhz r0, 0x2a(r31)
+/* 8029A9A8 00296608 B0 1F 00 28 */ sth r0, 0x28(r31)
+/* 8029A9AC 0029660C A0 1F 00 2E */ lhz r0, 0x2e(r31)
+/* 8029A9B0 00296610 B0 1F 00 2C */ sth r0, 0x2c(r31)
+/* 8029A9B4 00296614 A0 1F 00 32 */ lhz r0, 0x32(r31)
+/* 8029A9B8 00296618 B0 1F 00 30 */ sth r0, 0x30(r31)
+/* 8029A9BC 0029661C A0 1F 00 36 */ lhz r0, 0x36(r31)
+/* 8029A9C0 00296620 B0 1F 00 34 */ sth r0, 0x34(r31)
+/* 8029A9C4 00296624 A0 1F 00 3A */ lhz r0, 0x3a(r31)
+/* 8029A9C8 00296628 B0 1F 00 38 */ sth r0, 0x38(r31)
+/* 8029A9CC 0029662C A0 1F 00 3E */ lhz r0, 0x3e(r31)
+/* 8029A9D0 00296630 B0 1F 00 3C */ sth r0, 0x3c(r31)
+/* 8029A9D4 00296634 A0 1F 00 42 */ lhz r0, 0x42(r31)
+/* 8029A9D8 00296638 B0 1F 00 40 */ sth r0, 0x40(r31)
+/* 8029A9DC 0029663C 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029A9E0 00296640 54 00 00 7E */ clrlwi r0, r0, 1
+/* 8029A9E4 00296644 90 1F 00 00 */ stw r0, 0(r31)
+lbl_8029A9E8:
+/* 8029A9E8 00296648 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029A9EC 0029664C 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
+/* 8029A9F0 00296650 41 82 01 04 */ beq lbl_8029AAF4
+/* 8029A9F4 00296654 80 7F 00 04 */ lwz r3, 4(r31)
+/* 8029A9F8 00296658 4B FF CF 4D */ bl __MIXGetVolume
+/* 8029A9FC 0029665C B0 7F 00 26 */ sth r3, 0x26(r31)
+/* 8029AA00 00296660 80 7F 00 08 */ lwz r3, 8(r31)
+/* 8029AA04 00296664 4B FF CF 41 */ bl __MIXGetVolume
+/* 8029AA08 00296668 B0 7F 00 2E */ sth r3, 0x2e(r31)
+/* 8029AA0C 0029666C 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 8029AA10 00296670 4B FF CF 35 */ bl __MIXGetVolume
+/* 8029AA14 00296674 B0 7F 00 36 */ sth r3, 0x36(r31)
+/* 8029AA18 00296678 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 8029AA1C 0029667C 4B FF CF 29 */ bl __MIXGetVolume
+/* 8029AA20 00296680 B0 7F 00 3E */ sth r3, 0x3e(r31)
+/* 8029AA24 00296684 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029AA28 00296688 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8029AA2C 0029668C 41 82 00 14 */ beq lbl_8029AA40
+/* 8029AA30 00296690 80 7F 00 14 */ lwz r3, 0x14(r31)
+/* 8029AA34 00296694 4B FF CF 11 */ bl __MIXGetVolume
+/* 8029AA38 00296698 B0 7F 00 2A */ sth r3, 0x2a(r31)
+/* 8029AA3C 0029669C 48 00 00 18 */ b lbl_8029AA54
+lbl_8029AA40:
+/* 8029AA40 002966A0 80 7F 00 04 */ lwz r3, 4(r31)
+/* 8029AA44 002966A4 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 8029AA48 002966A8 7C 63 02 14 */ add r3, r3, r0
+/* 8029AA4C 002966AC 4B FF CE F9 */ bl __MIXGetVolume
+/* 8029AA50 002966B0 B0 7F 00 2A */ sth r3, 0x2a(r31)
+lbl_8029AA54:
+/* 8029AA54 002966B4 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029AA58 002966B8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8029AA5C 002966BC 41 82 00 14 */ beq lbl_8029AA70
+/* 8029AA60 002966C0 80 7F 00 18 */ lwz r3, 0x18(r31)
+/* 8029AA64 002966C4 4B FF CE E1 */ bl __MIXGetVolume
+/* 8029AA68 002966C8 B0 7F 00 32 */ sth r3, 0x32(r31)
+/* 8029AA6C 002966CC 48 00 00 18 */ b lbl_8029AA84
+lbl_8029AA70:
+/* 8029AA70 002966D0 80 7F 00 08 */ lwz r3, 8(r31)
+/* 8029AA74 002966D4 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 8029AA78 002966D8 7C 63 02 14 */ add r3, r3, r0
+/* 8029AA7C 002966DC 4B FF CE C9 */ bl __MIXGetVolume
+/* 8029AA80 002966E0 B0 7F 00 32 */ sth r3, 0x32(r31)
+lbl_8029AA84:
+/* 8029AA84 002966E4 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029AA88 002966E8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 8029AA8C 002966EC 41 82 00 14 */ beq lbl_8029AAA0
+/* 8029AA90 002966F0 80 7F 00 1C */ lwz r3, 0x1c(r31)
+/* 8029AA94 002966F4 4B FF CE B1 */ bl __MIXGetVolume
+/* 8029AA98 002966F8 B0 7F 00 3A */ sth r3, 0x3a(r31)
+/* 8029AA9C 002966FC 48 00 00 18 */ b lbl_8029AAB4
+lbl_8029AAA0:
+/* 8029AAA0 00296700 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 8029AAA4 00296704 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 8029AAA8 00296708 7C 63 02 14 */ add r3, r3, r0
+/* 8029AAAC 0029670C 4B FF CE 99 */ bl __MIXGetVolume
+/* 8029AAB0 00296710 B0 7F 00 3A */ sth r3, 0x3a(r31)
+lbl_8029AAB4:
+/* 8029AAB4 00296714 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029AAB8 00296718 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 8029AABC 0029671C 41 82 00 14 */ beq lbl_8029AAD0
+/* 8029AAC0 00296720 80 7F 00 20 */ lwz r3, 0x20(r31)
+/* 8029AAC4 00296724 4B FF CE 81 */ bl __MIXGetVolume
+/* 8029AAC8 00296728 B0 7F 00 42 */ sth r3, 0x42(r31)
+/* 8029AACC 0029672C 48 00 00 18 */ b lbl_8029AAE4
+lbl_8029AAD0:
+/* 8029AAD0 00296730 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 8029AAD4 00296734 80 1F 00 20 */ lwz r0, 0x20(r31)
+/* 8029AAD8 00296738 7C 63 02 14 */ add r3, r3, r0
+/* 8029AADC 0029673C 4B FF CE 69 */ bl __MIXGetVolume
+/* 8029AAE0 00296740 B0 7F 00 42 */ sth r3, 0x42(r31)
+lbl_8029AAE4:
+/* 8029AAE4 00296744 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8029AAE8 00296748 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
+/* 8029AAEC 0029674C 64 00 80 00 */ oris r0, r0, 0x8000
+/* 8029AAF0 00296750 90 1F 00 00 */ stw r0, 0(r31)
+lbl_8029AAF4:
+/* 8029AAF4 00296754 A0 9F 00 24 */ lhz r4, 0x24(r31)
+/* 8029AAF8 00296758 38 7E 01 04 */ addi r3, r30, 0x104
+/* 8029AAFC 0029675C 38 00 00 00 */ li r0, 0
+/* 8029AB00 00296760 2C 04 00 00 */ cmpwi r4, 0
+/* 8029AB04 00296764 B0 9E 01 02 */ sth r4, 0x102(r30)
+/* 8029AB08 00296768 41 82 00 08 */ beq lbl_8029AB10
+/* 8029AB0C 0029676C 60 00 00 01 */ ori r0, r0, 1
+lbl_8029AB10:
+/* 8029AB10 00296770 A0 DF 00 24 */ lhz r6, 0x24(r31)
+/* 8029AB14 00296774 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029AB18 00296778 A0 BF 00 26 */ lhz r5, 0x26(r31)
+/* 8029AB1C 0029677C 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029AB20 00296780 7C 86 28 50 */ subf r4, r6, r5
+/* 8029AB24 00296784 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029AB28 00296788 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029AB2C 0029678C 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029AB30 00296790 7C A4 2A 14 */ add r5, r4, r5
+/* 8029AB34 00296794 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029AB38 00296798 B0 A3 00 00 */ sth r5, 0(r3)
+/* 8029AB3C 0029679C 41 82 00 0C */ beq lbl_8029AB48
+/* 8029AB40 002967A0 60 00 00 02 */ ori r0, r0, 2
+/* 8029AB44 002967A4 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AB48:
+/* 8029AB48 002967A8 A0 9F 00 28 */ lhz r4, 0x28(r31)
+/* 8029AB4C 002967AC 2C 04 00 00 */ cmpwi r4, 0
+/* 8029AB50 002967B0 B0 83 00 02 */ sth r4, 2(r3)
+/* 8029AB54 002967B4 41 82 00 0C */ beq lbl_8029AB60
+/* 8029AB58 002967B8 60 00 00 04 */ ori r0, r0, 4
+/* 8029AB5C 002967BC 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AB60:
+/* 8029AB60 002967C0 A0 DF 00 28 */ lhz r6, 0x28(r31)
+/* 8029AB64 002967C4 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029AB68 002967C8 A0 BF 00 2A */ lhz r5, 0x2a(r31)
+/* 8029AB6C 002967CC 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029AB70 002967D0 7C 86 28 50 */ subf r4, r6, r5
+/* 8029AB74 002967D4 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029AB78 002967D8 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029AB7C 002967DC 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029AB80 002967E0 7C A4 2A 14 */ add r5, r4, r5
+/* 8029AB84 002967E4 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029AB88 002967E8 B0 A3 00 04 */ sth r5, 4(r3)
+/* 8029AB8C 002967EC 41 82 00 0C */ beq lbl_8029AB98
+/* 8029AB90 002967F0 60 00 00 08 */ ori r0, r0, 8
+/* 8029AB94 002967F4 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AB98:
+/* 8029AB98 002967F8 A0 9F 00 2C */ lhz r4, 0x2c(r31)
+/* 8029AB9C 002967FC 2C 04 00 00 */ cmpwi r4, 0
+/* 8029ABA0 00296800 B0 83 00 06 */ sth r4, 6(r3)
+/* 8029ABA4 00296804 41 82 00 0C */ beq lbl_8029ABB0
+/* 8029ABA8 00296808 60 00 00 10 */ ori r0, r0, 0x10
+/* 8029ABAC 0029680C 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029ABB0:
+/* 8029ABB0 00296810 A0 DF 00 2C */ lhz r6, 0x2c(r31)
+/* 8029ABB4 00296814 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029ABB8 00296818 A0 BF 00 2E */ lhz r5, 0x2e(r31)
+/* 8029ABBC 0029681C 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029ABC0 00296820 7C 86 28 50 */ subf r4, r6, r5
+/* 8029ABC4 00296824 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029ABC8 00296828 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029ABCC 0029682C 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029ABD0 00296830 7C A4 2A 14 */ add r5, r4, r5
+/* 8029ABD4 00296834 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029ABD8 00296838 B0 A3 00 08 */ sth r5, 8(r3)
+/* 8029ABDC 0029683C 41 82 00 0C */ beq lbl_8029ABE8
+/* 8029ABE0 00296840 60 00 00 20 */ ori r0, r0, 0x20
+/* 8029ABE4 00296844 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029ABE8:
+/* 8029ABE8 00296848 A0 9F 00 30 */ lhz r4, 0x30(r31)
+/* 8029ABEC 0029684C 2C 04 00 00 */ cmpwi r4, 0
+/* 8029ABF0 00296850 B0 83 00 0A */ sth r4, 0xa(r3)
+/* 8029ABF4 00296854 41 82 00 0C */ beq lbl_8029AC00
+/* 8029ABF8 00296858 60 00 00 40 */ ori r0, r0, 0x40
+/* 8029ABFC 0029685C 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AC00:
+/* 8029AC00 00296860 A0 DF 00 30 */ lhz r6, 0x30(r31)
+/* 8029AC04 00296864 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029AC08 00296868 A0 BF 00 32 */ lhz r5, 0x32(r31)
+/* 8029AC0C 0029686C 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029AC10 00296870 7C 86 28 50 */ subf r4, r6, r5
+/* 8029AC14 00296874 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029AC18 00296878 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029AC1C 0029687C 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029AC20 00296880 7C A4 2A 14 */ add r5, r4, r5
+/* 8029AC24 00296884 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029AC28 00296888 B0 A3 00 0C */ sth r5, 0xc(r3)
+/* 8029AC2C 0029688C 41 82 00 0C */ beq lbl_8029AC38
+/* 8029AC30 00296890 60 00 00 80 */ ori r0, r0, 0x80
+/* 8029AC34 00296894 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AC38:
+/* 8029AC38 00296898 A0 9F 00 34 */ lhz r4, 0x34(r31)
+/* 8029AC3C 0029689C 2C 04 00 00 */ cmpwi r4, 0
+/* 8029AC40 002968A0 B0 83 00 0E */ sth r4, 0xe(r3)
+/* 8029AC44 002968A4 41 82 00 0C */ beq lbl_8029AC50
+/* 8029AC48 002968A8 60 00 01 00 */ ori r0, r0, 0x100
+/* 8029AC4C 002968AC 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AC50:
+/* 8029AC50 002968B0 A0 DF 00 34 */ lhz r6, 0x34(r31)
+/* 8029AC54 002968B4 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029AC58 002968B8 A0 BF 00 36 */ lhz r5, 0x36(r31)
+/* 8029AC5C 002968BC 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029AC60 002968C0 7C 86 28 50 */ subf r4, r6, r5
+/* 8029AC64 002968C4 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029AC68 002968C8 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029AC6C 002968CC 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029AC70 002968D0 7C A4 2A 14 */ add r5, r4, r5
+/* 8029AC74 002968D4 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029AC78 002968D8 B0 A3 00 10 */ sth r5, 0x10(r3)
+/* 8029AC7C 002968DC 41 82 00 0C */ beq lbl_8029AC88
+/* 8029AC80 002968E0 60 00 02 00 */ ori r0, r0, 0x200
+/* 8029AC84 002968E4 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AC88:
+/* 8029AC88 002968E8 A0 9F 00 38 */ lhz r4, 0x38(r31)
+/* 8029AC8C 002968EC 2C 04 00 00 */ cmpwi r4, 0
+/* 8029AC90 002968F0 B0 83 00 12 */ sth r4, 0x12(r3)
+/* 8029AC94 002968F4 41 82 00 0C */ beq lbl_8029ACA0
+/* 8029AC98 002968F8 60 00 04 00 */ ori r0, r0, 0x400
+/* 8029AC9C 002968FC 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029ACA0:
+/* 8029ACA0 00296900 A0 DF 00 38 */ lhz r6, 0x38(r31)
+/* 8029ACA4 00296904 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029ACA8 00296908 A0 BF 00 3A */ lhz r5, 0x3a(r31)
+/* 8029ACAC 0029690C 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029ACB0 00296910 7C 86 28 50 */ subf r4, r6, r5
+/* 8029ACB4 00296914 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029ACB8 00296918 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029ACBC 0029691C 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029ACC0 00296920 7C A4 2A 14 */ add r5, r4, r5
+/* 8029ACC4 00296924 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029ACC8 00296928 B0 A3 00 14 */ sth r5, 0x14(r3)
+/* 8029ACCC 0029692C 41 82 00 0C */ beq lbl_8029ACD8
+/* 8029ACD0 00296930 60 00 08 00 */ ori r0, r0, 0x800
+/* 8029ACD4 00296934 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029ACD8:
+/* 8029ACD8 00296938 A0 9F 00 3C */ lhz r4, 0x3c(r31)
+/* 8029ACDC 0029693C 2C 04 00 00 */ cmpwi r4, 0
+/* 8029ACE0 00296940 B0 83 00 16 */ sth r4, 0x16(r3)
+/* 8029ACE4 00296944 41 82 00 0C */ beq lbl_8029ACF0
+/* 8029ACE8 00296948 60 00 10 00 */ ori r0, r0, 0x1000
+/* 8029ACEC 0029694C 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029ACF0:
+/* 8029ACF0 00296950 A0 DF 00 3C */ lhz r6, 0x3c(r31)
+/* 8029ACF4 00296954 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029ACF8 00296958 A0 BF 00 3E */ lhz r5, 0x3e(r31)
+/* 8029ACFC 0029695C 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029AD00 00296960 7C 86 28 50 */ subf r4, r6, r5
+/* 8029AD04 00296964 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029AD08 00296968 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029AD0C 0029696C 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029AD10 00296970 7C A4 2A 14 */ add r5, r4, r5
+/* 8029AD14 00296974 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029AD18 00296978 B0 A3 00 18 */ sth r5, 0x18(r3)
+/* 8029AD1C 0029697C 41 82 00 0C */ beq lbl_8029AD28
+/* 8029AD20 00296980 60 00 20 00 */ ori r0, r0, 0x2000
+/* 8029AD24 00296984 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AD28:
+/* 8029AD28 00296988 A0 9F 00 40 */ lhz r4, 0x40(r31)
+/* 8029AD2C 0029698C 2C 04 00 00 */ cmpwi r4, 0
+/* 8029AD30 00296990 B0 83 00 1A */ sth r4, 0x1a(r3)
+/* 8029AD34 00296994 41 82 00 0C */ beq lbl_8029AD40
+/* 8029AD38 00296998 60 00 40 00 */ ori r0, r0, 0x4000
+/* 8029AD3C 0029699C 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AD40:
+/* 8029AD40 002969A0 A0 DF 00 40 */ lhz r6, 0x40(r31)
+/* 8029AD44 002969A4 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8029AD48 002969A8 A0 BF 00 42 */ lhz r5, 0x42(r31)
+/* 8029AD4C 002969AC 38 E4 8E 39 */ addi r7, r4, 0x38E38E39@l
+/* 8029AD50 002969B0 7C 86 28 50 */ subf r4, r6, r5
+/* 8029AD54 002969B4 7C 87 20 96 */ mulhw r4, r7, r4
+/* 8029AD58 002969B8 7C 84 16 70 */ srawi r4, r4, 2
+/* 8029AD5C 002969BC 54 85 0F FE */ srwi r5, r4, 0x1f
+/* 8029AD60 002969C0 7C A4 2A 14 */ add r5, r4, r5
+/* 8029AD64 002969C4 54 A4 04 3F */ clrlwi. r4, r5, 0x10
+/* 8029AD68 002969C8 B0 A3 00 1C */ sth r5, 0x1c(r3)
+/* 8029AD6C 002969CC 41 82 00 0C */ beq lbl_8029AD78
+/* 8029AD70 002969D0 60 00 80 00 */ ori r0, r0, 0x8000
+/* 8029AD74 002969D4 54 00 04 3E */ clrlwi r0, r0, 0x10
+lbl_8029AD78:
+/* 8029AD78 002969D8 80 7E 00 1C */ lwz r3, 0x1c(r30)
+/* 8029AD7C 002969DC B0 1E 01 00 */ sth r0, 0x100(r30)
+/* 8029AD80 002969E0 64 60 03 00 */ oris r0, r3, 0x300
+/* 8029AD84 002969E4 90 1E 00 1C */ stw r0, 0x1c(r30)
+lbl_8029AD88:
+/* 8029AD88 002969E8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029AD8C 002969EC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029AD90 002969F0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8029AD94 002969F4 7C 08 03 A6 */ mtlr r0
+/* 8029AD98 002969F8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029AD9C 002969FC 4E 80 00 20 */ blr
+
+.global __MIXRmtResetChannel
+__MIXRmtResetChannel:
+/* 8029ADA0 00296A00 80 AD AC 60 */ lwz r5, lbl_8063FF20-_SDA_BASE_(r13)
+/* 8029ADA4 00296A04 1C 83 00 44 */ mulli r4, r3, 0x44
+/* 8029ADA8 00296A08 38 60 00 00 */ li r3, 0
+/* 8029ADAC 00296A0C 7C 64 29 6E */ stwux r3, r4, r5
+/* 8029ADB0 00296A10 38 00 FC 40 */ li r0, -960
+/* 8029ADB4 00296A14 90 64 00 04 */ stw r3, 4(r4)
+/* 8029ADB8 00296A18 90 64 00 08 */ stw r3, 8(r4)
+/* 8029ADBC 00296A1C 90 64 00 0C */ stw r3, 0xc(r4)
+/* 8029ADC0 00296A20 90 64 00 10 */ stw r3, 0x10(r4)
+/* 8029ADC4 00296A24 90 04 00 14 */ stw r0, 0x14(r4)
+/* 8029ADC8 00296A28 90 04 00 18 */ stw r0, 0x18(r4)
+/* 8029ADCC 00296A2C 90 04 00 1C */ stw r0, 0x1c(r4)
+/* 8029ADD0 00296A30 90 04 00 20 */ stw r0, 0x20(r4)
+/* 8029ADD4 00296A34 B0 64 00 40 */ sth r3, 0x40(r4)
+/* 8029ADD8 00296A38 B0 64 00 3C */ sth r3, 0x3c(r4)
+/* 8029ADDC 00296A3C B0 64 00 38 */ sth r3, 0x38(r4)
+/* 8029ADE0 00296A40 B0 64 00 34 */ sth r3, 0x34(r4)
+/* 8029ADE4 00296A44 B0 64 00 30 */ sth r3, 0x30(r4)
+/* 8029ADE8 00296A48 B0 64 00 2C */ sth r3, 0x2c(r4)
+/* 8029ADEC 00296A4C B0 64 00 28 */ sth r3, 0x28(r4)
+/* 8029ADF0 00296A50 B0 64 00 24 */ sth r3, 0x24(r4)
+/* 8029ADF4 00296A54 4E 80 00 20 */ blr
diff --git a/asm/SDK/THP/THPAudio.s b/asm/SDK/THP/THPAudio.s
new file mode 100644
index 0000000..5bef4a1
--- /dev/null
+++ b/asm/SDK/THP/THPAudio.s
@@ -0,0 +1,326 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global THPAudioDecode
+THPAudioDecode:
+/* 8029EEFC 0029AB5C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8029EF00 0029AB60 7C 08 02 A6 */ mflr r0
+/* 8029EF04 0029AB64 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8029EF08 0029AB68 39 61 00 40 */ addi r11, r1, 0x40
+/* 8029EF0C 0029AB6C 4B F2 82 01 */ bl _savegpr_20
+/* 8029EF10 0029AB70 2C 03 00 00 */ cmpwi r3, 0
+/* 8029EF14 0029AB74 41 82 00 0C */ beq lbl_8029EF20
+/* 8029EF18 0029AB78 2C 04 00 00 */ cmpwi r4, 0
+/* 8029EF1C 0029AB7C 40 82 00 0C */ bne lbl_8029EF28
+lbl_8029EF20:
+/* 8029EF20 0029AB80 38 60 00 00 */ li r3, 0
+/* 8029EF24 0029AB84 48 00 04 54 */ b lbl_8029F378
+lbl_8029EF28:
+/* 8029EF28 0029AB88 2C 05 00 01 */ cmpwi r5, 1
+/* 8029EF2C 0029AB8C 80 A4 00 00 */ lwz r5, 0(r4)
+/* 8029EF30 0029AB90 3A 84 00 50 */ addi r20, r4, 0x50
+/* 8029EF34 0029AB94 7D 94 2A 14 */ add r12, r20, r5
+/* 8029EF38 0029AB98 40 82 00 1C */ bne lbl_8029EF54
+/* 8029EF3C 0029AB9C 80 04 00 04 */ lwz r0, 4(r4)
+/* 8029EF40 0029ABA0 7C 7E 1B 78 */ mr r30, r3
+/* 8029EF44 0029ABA4 39 00 00 01 */ li r8, 1
+/* 8029EF48 0029ABA8 54 00 08 3C */ slwi r0, r0, 1
+/* 8029EF4C 0029ABAC 7F E3 02 14 */ add r31, r3, r0
+/* 8029EF50 0029ABB0 48 00 00 10 */ b lbl_8029EF60
+lbl_8029EF54:
+/* 8029EF54 0029ABB4 7C 7E 1B 78 */ mr r30, r3
+/* 8029EF58 0029ABB8 3B E3 00 02 */ addi r31, r3, 2
+/* 8029EF5C 0029ABBC 39 00 00 02 */ li r8, 2
+lbl_8029EF60:
+/* 8029EF60 0029ABC0 2C 05 00 00 */ cmpwi r5, 0
+/* 8029EF64 0029ABC4 40 82 01 68 */ bne lbl_8029F0CC
+/* 8029EF68 0029ABC8 88 B4 00 00 */ lbz r5, 0(r20)
+/* 8029EF6C 0029ABCC 3E E0 80 00 */ lis r23, 0x7FFFFFFF@ha
+/* 8029EF70 0029ABD0 39 60 00 00 */ li r11, 0
+/* 8029EF74 0029ABD4 3C 60 00 01 */ lis r3, 0x00008000@ha
+/* 8029EF78 0029ABD8 A9 24 00 48 */ lha r9, 0x48(r4)
+/* 8029EF7C 0029ABDC 54 A0 E7 7E */ rlwinm r0, r5, 0x1c, 0x1d, 0x1f
+/* 8029EF80 0029ABE0 54 A7 07 3E */ clrlwi r7, r5, 0x1c
+/* 8029EF84 0029ABE4 A9 44 00 4A */ lha r10, 0x4a(r4)
+/* 8029EF88 0029ABE8 55 08 08 3C */ slwi r8, r8, 1
+/* 8029EF8C 0029ABEC 38 B4 00 01 */ addi r5, r20, 1
+/* 8029EF90 0029ABF0 3B 63 80 00 */ addi r27, r3, 0x00008000@l
+/* 8029EF94 0029ABF4 3B 37 FF FF */ addi r25, r23, 0x7FFFFFFF@l
+/* 8029EF98 0029ABF8 6D 78 80 00 */ xoris r24, r11, 0x8000
+/* 8029EF9C 0029ABFC 38 C0 00 02 */ li r6, 2
+/* 8029EFA0 0029AC00 3B 40 00 00 */ li r26, 0
+/* 8029EFA4 0029AC04 3A C0 FF FF */ li r22, -1
+/* 8029EFA8 0029AC08 48 00 01 14 */ b lbl_8029F0BC
+lbl_8029EFAC:
+/* 8029EFAC 0029AC0C 54 C3 07 3F */ clrlwi. r3, r6, 0x1c
+/* 8029EFB0 0029AC10 40 82 00 18 */ bne lbl_8029EFC8
+/* 8029EFB4 0029AC14 88 65 00 00 */ lbz r3, 0(r5)
+/* 8029EFB8 0029AC18 38 A5 00 01 */ addi r5, r5, 1
+/* 8029EFBC 0029AC1C 38 C6 00 02 */ addi r6, r6, 2
+/* 8029EFC0 0029AC20 54 60 E7 7E */ rlwinm r0, r3, 0x1c, 0x1d, 0x1f
+/* 8029EFC4 0029AC24 54 67 07 3E */ clrlwi r7, r3, 0x1c
+lbl_8029EFC8:
+/* 8029EFC8 0029AC28 54 C3 07 FF */ clrlwi. r3, r6, 0x1f
+/* 8029EFCC 0029AC2C 41 82 00 18 */ beq lbl_8029EFE4
+/* 8029EFD0 0029AC30 88 65 00 00 */ lbz r3, 0(r5)
+/* 8029EFD4 0029AC34 38 A5 00 01 */ addi r5, r5, 1
+/* 8029EFD8 0029AC38 54 63 E0 06 */ slwi r3, r3, 0x1c
+/* 8029EFDC 0029AC3C 7C 75 E6 70 */ srawi r21, r3, 0x1c
+/* 8029EFE0 0029AC40 48 00 00 10 */ b lbl_8029EFF0
+lbl_8029EFE4:
+/* 8029EFE4 0029AC44 88 65 00 00 */ lbz r3, 0(r5)
+/* 8029EFE8 0029AC48 54 63 C0 06 */ rlwinm r3, r3, 0x18, 0, 3
+/* 8029EFEC 0029AC4C 7C 75 E6 70 */ srawi r21, r3, 0x1c
+lbl_8029EFF0:
+/* 8029EFF0 0029AC50 54 0C 15 BA */ rlwinm r12, r0, 2, 0x16, 0x1d
+/* 8029EFF4 0029AC54 54 E3 06 3E */ clrlwi r3, r7, 0x18
+/* 8029EFF8 0029AC58 7D 84 62 14 */ add r12, r4, r12
+/* 8029EFFC 0029AC5C 7D 5C 07 34 */ extsh r28, r10
+/* 8029F000 0029AC60 A9 4C 00 0A */ lha r10, 0xa(r12)
+/* 8029F004 0029AC64 7E A3 18 30 */ slw r3, r21, r3
+/* 8029F008 0029AC68 A9 8C 00 08 */ lha r12, 8(r12)
+/* 8029F00C 0029AC6C 7D 35 07 34 */ extsh r21, r9
+/* 8029F010 0029AC70 7F 9C 51 D6 */ mullw r28, r28, r10
+/* 8029F014 0029AC74 54 6A 58 28 */ slwi r10, r3, 0xb
+/* 8029F018 0029AC78 38 C6 00 01 */ addi r6, r6, 1
+/* 8029F01C 0029AC7C 7E B5 61 D6 */ mullw r21, r21, r12
+/* 8029F020 0029AC80 7F 83 FE 70 */ srawi r3, r28, 0x1f
+/* 8029F024 0029AC84 7E AC FE 70 */ srawi r12, r21, 0x1f
+/* 8029F028 0029AC88 7F 9C A8 14 */ addc r28, r28, r21
+/* 8029F02C 0029AC8C 7E A3 61 14 */ adde r21, r3, r12
+/* 8029F030 0029AC90 7D 43 FE 70 */ srawi r3, r10, 0x1f
+/* 8029F034 0029AC94 7D 9C 50 14 */ addc r12, r28, r10
+/* 8029F038 0029AC98 7C 75 19 14 */ adde r3, r21, r3
+/* 8029F03C 0029AC9C 55 8A 28 34 */ slwi r10, r12, 5
+/* 8029F040 0029ACA0 54 63 28 34 */ slwi r3, r3, 5
+/* 8029F044 0029ACA4 51 83 2E FE */ rlwimi r3, r12, 5, 0x1b, 0x1f
+/* 8029F048 0029ACA8 7E 8A D8 14 */ addc r20, r10, r27
+/* 8029F04C 0029ACAC 7C 63 D1 14 */ adde r3, r3, r26
+/* 8029F050 0029ACB0 6C 6C 80 00 */ xoris r12, r3, 0x8000
+/* 8029F054 0029ACB4 7D 54 C8 10 */ subfc r10, r20, r25
+/* 8029F058 0029ACB8 7D 8C C1 10 */ subfe r12, r12, r24
+/* 8029F05C 0029ACBC 7D 98 C1 10 */ subfe r12, r24, r24
+/* 8029F060 0029ACC0 7D 8C 00 D1 */ neg. r12, r12
+/* 8029F064 0029ACC4 41 82 00 0C */ beq lbl_8029F070
+/* 8029F068 0029ACC8 3A 97 FF FF */ addi r20, r23, -1
+/* 8029F06C 0029ACCC 38 60 00 00 */ li r3, 0
+lbl_8029F070:
+/* 8029F070 0029ACD0 6C 6A 80 00 */ xoris r10, r3, 0x8000
+/* 8029F074 0029ACD4 6E D5 80 00 */ xoris r21, r22, 0x8000
+/* 8029F078 0029ACD8 7D 97 A0 10 */ subfc r12, r23, r20
+/* 8029F07C 0029ACDC 7E B5 51 10 */ subfe r21, r21, r10
+/* 8029F080 0029ACE0 7E AA 51 10 */ subfe r21, r10, r10
+/* 8029F084 0029ACE4 7E B5 00 D1 */ neg. r21, r21
+/* 8029F088 0029ACE8 41 82 00 0C */ beq lbl_8029F094
+/* 8029F08C 0029ACEC 3E 80 80 00 */ lis r20, 0x8000
+/* 8029F090 0029ACF0 38 60 FF FF */ li r3, -1
+lbl_8029F094:
+/* 8029F094 0029ACF4 56 8C 80 3E */ rotlwi r12, r20, 0x10
+/* 8029F098 0029ACF8 7D 2A 4B 78 */ mr r10, r9
+/* 8029F09C 0029ACFC 50 6C 80 1E */ rlwimi r12, r3, 0x10, 0, 0xf
+/* 8029F0A0 0029AD00 7C 63 86 70 */ srawi r3, r3, 0x10
+/* 8029F0A4 0029AD04 B1 9F 00 00 */ sth r12, 0(r31)
+/* 8029F0A8 0029AD08 7D 89 63 78 */ mr r9, r12
+/* 8029F0AC 0029AD0C 7F FF 42 14 */ add r31, r31, r8
+/* 8029F0B0 0029AD10 39 6B 00 01 */ addi r11, r11, 1
+/* 8029F0B4 0029AD14 B1 9E 00 00 */ sth r12, 0(r30)
+/* 8029F0B8 0029AD18 7F DE 42 14 */ add r30, r30, r8
+lbl_8029F0BC:
+/* 8029F0BC 0029AD1C 80 64 00 04 */ lwz r3, 4(r4)
+/* 8029F0C0 0029AD20 7C 0B 18 40 */ cmplw r11, r3
+/* 8029F0C4 0029AD24 41 80 FE E8 */ blt lbl_8029EFAC
+/* 8029F0C8 0029AD28 48 00 02 B0 */ b lbl_8029F378
+lbl_8029F0CC:
+/* 8029F0CC 0029AD2C 88 14 00 00 */ lbz r0, 0(r20)
+/* 8029F0D0 0029AD30 3F 40 80 00 */ lis r26, 0x7FFFFFFF@ha
+/* 8029F0D4 0029AD34 38 C0 00 00 */ li r6, 0
+/* 8029F0D8 0029AD38 3C E0 00 01 */ lis r7, 0x00008000@ha
+/* 8029F0DC 0029AD3C A8 64 00 48 */ lha r3, 0x48(r4)
+/* 8029F0E0 0029AD40 54 0A E7 7E */ rlwinm r10, r0, 0x1c, 0x1d, 0x1f
+/* 8029F0E4 0029AD44 54 0B 07 3E */ clrlwi r11, r0, 0x1c
+/* 8029F0E8 0029AD48 55 00 08 3C */ slwi r0, r8, 1
+/* 8029F0EC 0029AD4C A8 A4 00 4A */ lha r5, 0x4a(r4)
+/* 8029F0F0 0029AD50 39 14 00 01 */ addi r8, r20, 1
+/* 8029F0F4 0029AD54 3A C7 80 00 */ addi r22, r7, 0x00008000@l
+/* 8029F0F8 0029AD58 3B 9A FF FF */ addi r28, r26, 0x7FFFFFFF@l
+/* 8029F0FC 0029AD5C 6C DB 80 00 */ xoris r27, r6, 0x8000
+/* 8029F100 0029AD60 39 20 00 02 */ li r9, 2
+/* 8029F104 0029AD64 3B A0 00 00 */ li r29, 0
+/* 8029F108 0029AD68 3B 20 FF FF */ li r25, -1
+/* 8029F10C 0029AD6C 48 00 01 0C */ b lbl_8029F218
+lbl_8029F110:
+/* 8029F110 0029AD70 55 27 07 3F */ clrlwi. r7, r9, 0x1c
+/* 8029F114 0029AD74 40 82 00 18 */ bne lbl_8029F12C
+/* 8029F118 0029AD78 88 E8 00 00 */ lbz r7, 0(r8)
+/* 8029F11C 0029AD7C 39 08 00 01 */ addi r8, r8, 1
+/* 8029F120 0029AD80 39 29 00 02 */ addi r9, r9, 2
+/* 8029F124 0029AD84 54 EA E7 7E */ rlwinm r10, r7, 0x1c, 0x1d, 0x1f
+/* 8029F128 0029AD88 54 EB 07 3E */ clrlwi r11, r7, 0x1c
+lbl_8029F12C:
+/* 8029F12C 0029AD8C 55 27 07 FF */ clrlwi. r7, r9, 0x1f
+/* 8029F130 0029AD90 41 82 00 18 */ beq lbl_8029F148
+/* 8029F134 0029AD94 88 E8 00 00 */ lbz r7, 0(r8)
+/* 8029F138 0029AD98 39 08 00 01 */ addi r8, r8, 1
+/* 8029F13C 0029AD9C 54 E7 E0 06 */ slwi r7, r7, 0x1c
+/* 8029F140 0029ADA0 7C F8 E6 70 */ srawi r24, r7, 0x1c
+/* 8029F144 0029ADA4 48 00 00 10 */ b lbl_8029F154
+lbl_8029F148:
+/* 8029F148 0029ADA8 88 E8 00 00 */ lbz r7, 0(r8)
+/* 8029F14C 0029ADAC 54 E7 C0 06 */ rlwinm r7, r7, 0x18, 0, 3
+/* 8029F150 0029ADB0 7C F8 E6 70 */ srawi r24, r7, 0x1c
+lbl_8029F154:
+/* 8029F154 0029ADB4 55 55 15 BA */ rlwinm r21, r10, 2, 0x16, 0x1d
+/* 8029F158 0029ADB8 55 67 06 3E */ clrlwi r7, r11, 0x18
+/* 8029F15C 0029ADBC 7E 84 AA 14 */ add r20, r4, r21
+/* 8029F160 0029ADC0 7C B7 07 34 */ extsh r23, r5
+/* 8029F164 0029ADC4 AA B4 00 0A */ lha r21, 0xa(r20)
+/* 8029F168 0029ADC8 7F 05 38 30 */ slw r5, r24, r7
+/* 8029F16C 0029ADCC A8 F4 00 08 */ lha r7, 8(r20)
+/* 8029F170 0029ADD0 7C 78 07 34 */ extsh r24, r3
+/* 8029F174 0029ADD4 7E B7 A9 D6 */ mullw r21, r23, r21
+/* 8029F178 0029ADD8 54 B7 58 28 */ slwi r23, r5, 0xb
+/* 8029F17C 0029ADDC 39 29 00 01 */ addi r9, r9, 1
+/* 8029F180 0029ADE0 7F 18 39 D6 */ mullw r24, r24, r7
+/* 8029F184 0029ADE4 7E A7 FE 70 */ srawi r7, r21, 0x1f
+/* 8029F188 0029ADE8 7F 05 FE 70 */ srawi r5, r24, 0x1f
+/* 8029F18C 0029ADEC 7F 15 C0 14 */ addc r24, r21, r24
+/* 8029F190 0029ADF0 7C E7 29 14 */ adde r7, r7, r5
+/* 8029F194 0029ADF4 7E E5 FE 70 */ srawi r5, r23, 0x1f
+/* 8029F198 0029ADF8 7E F8 B8 14 */ addc r23, r24, r23
+/* 8029F19C 0029ADFC 7C A7 29 14 */ adde r5, r7, r5
+/* 8029F1A0 0029AE00 56 E7 28 34 */ slwi r7, r23, 5
+/* 8029F1A4 0029AE04 54 A5 28 34 */ slwi r5, r5, 5
+/* 8029F1A8 0029AE08 52 E5 2E FE */ rlwimi r5, r23, 5, 0x1b, 0x1f
+/* 8029F1AC 0029AE0C 7E 87 B0 14 */ addc r20, r7, r22
+/* 8029F1B0 0029AE10 7C E5 E9 14 */ adde r7, r5, r29
+/* 8029F1B4 0029AE14 6C F7 80 00 */ xoris r23, r7, 0x8000
+/* 8029F1B8 0029AE18 7C B4 E0 10 */ subfc r5, r20, r28
+/* 8029F1BC 0029AE1C 7E F7 D9 10 */ subfe r23, r23, r27
+/* 8029F1C0 0029AE20 7E FB D9 10 */ subfe r23, r27, r27
+/* 8029F1C4 0029AE24 7E F7 00 D1 */ neg. r23, r23
+/* 8029F1C8 0029AE28 41 82 00 0C */ beq lbl_8029F1D4
+/* 8029F1CC 0029AE2C 3A 9A FF FF */ addi r20, r26, -1
+/* 8029F1D0 0029AE30 38 E0 00 00 */ li r7, 0
+lbl_8029F1D4:
+/* 8029F1D4 0029AE34 6C E5 80 00 */ xoris r5, r7, 0x8000
+/* 8029F1D8 0029AE38 6F 38 80 00 */ xoris r24, r25, 0x8000
+/* 8029F1DC 0029AE3C 7E FA A0 10 */ subfc r23, r26, r20
+/* 8029F1E0 0029AE40 7F 18 29 10 */ subfe r24, r24, r5
+/* 8029F1E4 0029AE44 7F 05 29 10 */ subfe r24, r5, r5
+/* 8029F1E8 0029AE48 7F 18 00 D1 */ neg. r24, r24
+/* 8029F1EC 0029AE4C 41 82 00 0C */ beq lbl_8029F1F8
+/* 8029F1F0 0029AE50 3E 80 80 00 */ lis r20, 0x8000
+/* 8029F1F4 0029AE54 38 E0 FF FF */ li r7, -1
+lbl_8029F1F8:
+/* 8029F1F8 0029AE58 56 97 80 3E */ rotlwi r23, r20, 0x10
+/* 8029F1FC 0029AE5C 7C 65 1B 78 */ mr r5, r3
+/* 8029F200 0029AE60 50 F7 80 1E */ rlwimi r23, r7, 0x10, 0, 0xf
+/* 8029F204 0029AE64 7C E3 86 70 */ srawi r3, r7, 0x10
+/* 8029F208 0029AE68 B2 FF 00 00 */ sth r23, 0(r31)
+/* 8029F20C 0029AE6C 7E E3 BB 78 */ mr r3, r23
+/* 8029F210 0029AE70 7F FF 02 14 */ add r31, r31, r0
+/* 8029F214 0029AE74 38 C6 00 01 */ addi r6, r6, 1
+lbl_8029F218:
+/* 8029F218 0029AE78 80 E4 00 04 */ lwz r7, 4(r4)
+/* 8029F21C 0029AE7C 7C 06 38 40 */ cmplw r6, r7
+/* 8029F220 0029AE80 41 80 FE F0 */ blt lbl_8029F110
+/* 8029F224 0029AE84 89 0C 00 00 */ lbz r8, 0(r12)
+/* 8029F228 0029AE88 3F A0 80 00 */ lis r29, 0x7FFFFFFF@ha
+/* 8029F22C 0029AE8C 38 E0 00 00 */ li r7, 0
+/* 8029F230 0029AE90 3C 60 00 01 */ lis r3, 0x00008000@ha
+/* 8029F234 0029AE94 A8 A4 00 4C */ lha r5, 0x4c(r4)
+/* 8029F238 0029AE98 55 0A E7 7E */ rlwinm r10, r8, 0x1c, 0x1d, 0x1f
+/* 8029F23C 0029AE9C 55 0B 07 3E */ clrlwi r11, r8, 0x1c
+/* 8029F240 0029AEA0 A8 C4 00 4E */ lha r6, 0x4e(r4)
+/* 8029F244 0029AEA4 39 0C 00 01 */ addi r8, r12, 1
+/* 8029F248 0029AEA8 3B 23 80 00 */ addi r25, r3, 0x00008000@l
+/* 8029F24C 0029AEAC 3B 7D FF FF */ addi r27, r29, 0x7FFFFFFF@l
+/* 8029F250 0029AEB0 6C FC 80 00 */ xoris r28, r7, 0x8000
+/* 8029F254 0029AEB4 39 20 00 02 */ li r9, 2
+/* 8029F258 0029AEB8 3B 40 00 00 */ li r26, 0
+/* 8029F25C 0029AEBC 3B E0 FF FF */ li r31, -1
+/* 8029F260 0029AEC0 48 00 01 0C */ b lbl_8029F36C
+lbl_8029F264:
+/* 8029F264 0029AEC4 55 23 07 3F */ clrlwi. r3, r9, 0x1c
+/* 8029F268 0029AEC8 40 82 00 18 */ bne lbl_8029F280
+/* 8029F26C 0029AECC 88 68 00 00 */ lbz r3, 0(r8)
+/* 8029F270 0029AED0 39 08 00 01 */ addi r8, r8, 1
+/* 8029F274 0029AED4 39 29 00 02 */ addi r9, r9, 2
+/* 8029F278 0029AED8 54 6A E7 7E */ rlwinm r10, r3, 0x1c, 0x1d, 0x1f
+/* 8029F27C 0029AEDC 54 6B 07 3E */ clrlwi r11, r3, 0x1c
+lbl_8029F280:
+/* 8029F280 0029AEE0 55 23 07 FF */ clrlwi. r3, r9, 0x1f
+/* 8029F284 0029AEE4 41 82 00 18 */ beq lbl_8029F29C
+/* 8029F288 0029AEE8 88 68 00 00 */ lbz r3, 0(r8)
+/* 8029F28C 0029AEEC 39 08 00 01 */ addi r8, r8, 1
+/* 8029F290 0029AEF0 54 63 E0 06 */ slwi r3, r3, 0x1c
+/* 8029F294 0029AEF4 7C 75 E6 70 */ srawi r21, r3, 0x1c
+/* 8029F298 0029AEF8 48 00 00 10 */ b lbl_8029F2A8
+lbl_8029F29C:
+/* 8029F29C 0029AEFC 88 68 00 00 */ lbz r3, 0(r8)
+/* 8029F2A0 0029AF00 54 63 C0 06 */ rlwinm r3, r3, 0x18, 0, 3
+/* 8029F2A4 0029AF04 7C 75 E6 70 */ srawi r21, r3, 0x1c
+lbl_8029F2A8:
+/* 8029F2A8 0029AF08 55 4C 15 BA */ rlwinm r12, r10, 2, 0x16, 0x1d
+/* 8029F2AC 0029AF0C 55 63 06 3E */ clrlwi r3, r11, 0x18
+/* 8029F2B0 0029AF10 7D 84 62 14 */ add r12, r4, r12
+/* 8029F2B4 0029AF14 7C D7 07 34 */ extsh r23, r6
+/* 8029F2B8 0029AF18 A8 CC 00 2A */ lha r6, 0x2a(r12)
+/* 8029F2BC 0029AF1C 7C B8 07 34 */ extsh r24, r5
+/* 8029F2C0 0029AF20 A9 8C 00 28 */ lha r12, 0x28(r12)
+/* 8029F2C4 0029AF24 7E A3 18 30 */ slw r3, r21, r3
+/* 8029F2C8 0029AF28 7E F7 31 D6 */ mullw r23, r23, r6
+/* 8029F2CC 0029AF2C 39 29 00 01 */ addi r9, r9, 1
+/* 8029F2D0 0029AF30 54 66 58 28 */ slwi r6, r3, 0xb
+/* 8029F2D4 0029AF34 7D 98 61 D6 */ mullw r12, r24, r12
+/* 8029F2D8 0029AF38 7E F4 FE 70 */ srawi r20, r23, 0x1f
+/* 8029F2DC 0029AF3C 7D 83 FE 70 */ srawi r3, r12, 0x1f
+/* 8029F2E0 0029AF40 7D 97 60 14 */ addc r12, r23, r12
+/* 8029F2E4 0029AF44 7F 14 19 14 */ adde r24, r20, r3
+/* 8029F2E8 0029AF48 7C C3 FE 70 */ srawi r3, r6, 0x1f
+/* 8029F2EC 0029AF4C 7D 8C 30 14 */ addc r12, r12, r6
+/* 8029F2F0 0029AF50 7C 78 19 14 */ adde r3, r24, r3
+/* 8029F2F4 0029AF54 55 86 28 34 */ slwi r6, r12, 5
+/* 8029F2F8 0029AF58 54 63 28 34 */ slwi r3, r3, 5
+/* 8029F2FC 0029AF5C 51 83 2E FE */ rlwimi r3, r12, 5, 0x1b, 0x1f
+/* 8029F300 0029AF60 7E A6 C8 14 */ addc r21, r6, r25
+/* 8029F304 0029AF64 7E 83 D1 14 */ adde r20, r3, r26
+/* 8029F308 0029AF68 6E 86 80 00 */ xoris r6, r20, 0x8000
+/* 8029F30C 0029AF6C 7C 75 D8 10 */ subfc r3, r21, r27
+/* 8029F310 0029AF70 7C C6 E1 10 */ subfe r6, r6, r28
+/* 8029F314 0029AF74 7C DC E1 10 */ subfe r6, r28, r28
+/* 8029F318 0029AF78 7C C6 00 D1 */ neg. r6, r6
+/* 8029F31C 0029AF7C 41 82 00 0C */ beq lbl_8029F328
+/* 8029F320 0029AF80 3A BD FF FF */ addi r21, r29, -1
+/* 8029F324 0029AF84 3A 80 00 00 */ li r20, 0
+lbl_8029F328:
+/* 8029F328 0029AF88 6E 83 80 00 */ xoris r3, r20, 0x8000
+/* 8029F32C 0029AF8C 6F EC 80 00 */ xoris r12, r31, 0x8000
+/* 8029F330 0029AF90 7C DD A8 10 */ subfc r6, r29, r21
+/* 8029F334 0029AF94 7D 8C 19 10 */ subfe r12, r12, r3
+/* 8029F338 0029AF98 7D 83 19 10 */ subfe r12, r3, r3
+/* 8029F33C 0029AF9C 7D 8C 00 D1 */ neg. r12, r12
+/* 8029F340 0029AFA0 41 82 00 0C */ beq lbl_8029F34C
+/* 8029F344 0029AFA4 3E A0 80 00 */ lis r21, 0x8000
+/* 8029F348 0029AFA8 3A 80 FF FF */ li r20, -1
+lbl_8029F34C:
+/* 8029F34C 0029AFAC 56 AC 80 3E */ rotlwi r12, r21, 0x10
+/* 8029F350 0029AFB0 7C A6 2B 78 */ mr r6, r5
+/* 8029F354 0029AFB4 52 8C 80 1E */ rlwimi r12, r20, 0x10, 0, 0xf
+/* 8029F358 0029AFB8 7E 83 86 70 */ srawi r3, r20, 0x10
+/* 8029F35C 0029AFBC B1 9E 00 00 */ sth r12, 0(r30)
+/* 8029F360 0029AFC0 7D 85 63 78 */ mr r5, r12
+/* 8029F364 0029AFC4 7F DE 02 14 */ add r30, r30, r0
+/* 8029F368 0029AFC8 38 E7 00 01 */ addi r7, r7, 1
+lbl_8029F36C:
+/* 8029F36C 0029AFCC 80 64 00 04 */ lwz r3, 4(r4)
+/* 8029F370 0029AFD0 7C 07 18 40 */ cmplw r7, r3
+/* 8029F374 0029AFD4 41 80 FE F0 */ blt lbl_8029F264
+lbl_8029F378:
+/* 8029F378 0029AFD8 39 61 00 40 */ addi r11, r1, 0x40
+/* 8029F37C 0029AFDC 4B F2 7D DD */ bl _restgpr_20
+/* 8029F380 0029AFE0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8029F384 0029AFE4 7C 08 03 A6 */ mtlr r0
+/* 8029F388 0029AFE8 38 21 00 40 */ addi r1, r1, 0x40
+/* 8029F38C 0029AFEC 4E 80 00 20 */ blr
diff --git a/asm/SDK/THP/THPDec.s b/asm/SDK/THP/THPDec.s
new file mode 100644
index 0000000..32b7f01
--- /dev/null
+++ b/asm/SDK/THP/THPDec.s
@@ -0,0 +1,3608 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global THPVideoDecode
+THPVideoDecode:
+/* 8029BB2C 0029778C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029BB30 00297790 7C 08 02 A6 */ mflr r0
+/* 8029BB34 00297794 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8029BB38 00297798 39 61 00 20 */ addi r11, r1, 0x20
+/* 8029BB3C 0029779C 4B F2 B5 E9 */ bl _savegpr_26
+/* 8029BB40 002977A0 2C 03 00 00 */ cmpwi r3, 0
+/* 8029BB44 002977A4 7C 7A 1B 78 */ mr r26, r3
+/* 8029BB48 002977A8 7C 9B 23 78 */ mr r27, r4
+/* 8029BB4C 002977AC 7C BC 2B 78 */ mr r28, r5
+/* 8029BB50 002977B0 7C DD 33 78 */ mr r29, r6
+/* 8029BB54 002977B4 7C FE 3B 78 */ mr r30, r7
+/* 8029BB58 002977B8 41 82 02 40 */ beq lbl_8029BD98
+/* 8029BB5C 002977BC 2C 04 00 00 */ cmpwi r4, 0
+/* 8029BB60 002977C0 41 82 02 40 */ beq lbl_8029BDA0
+/* 8029BB64 002977C4 2C 05 00 00 */ cmpwi r5, 0
+/* 8029BB68 002977C8 41 82 02 38 */ beq lbl_8029BDA0
+/* 8029BB6C 002977CC 2C 06 00 00 */ cmpwi r6, 0
+/* 8029BB70 002977D0 41 82 02 30 */ beq lbl_8029BDA0
+/* 8029BB74 002977D4 2C 07 00 00 */ cmpwi r7, 0
+/* 8029BB78 002977D8 41 82 02 30 */ beq lbl_8029BDA8
+/* 8029BB7C 002977DC 4B FC C7 79 */ bl PPCMfhid2
+/* 8029BB80 002977E0 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3
+/* 8029BB84 002977E4 41 82 02 44 */ beq lbl_8029BDC8
+/* 8029BB88 002977E8 80 0D AC A0 */ lwz r0, lbl_8063FF60-_SDA_BASE_(r13)
+/* 8029BB8C 002977EC 2C 00 00 00 */ cmpwi r0, 0
+/* 8029BB90 002977F0 41 82 02 40 */ beq lbl_8029BDD0
+/* 8029BB94 002977F4 38 1E 00 1F */ addi r0, r30, 0x1f
+/* 8029BB98 002977F8 38 80 06 BC */ li r4, 0x6bc
+/* 8029BB9C 002977FC 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
+/* 8029BBA0 00297800 38 03 06 BC */ addi r0, r3, 0x6bc
+/* 8029BBA4 00297804 90 6D AC A4 */ stw r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BBA8 00297808 90 0D AC A8 */ stw r0, lbl_8063FF68-_SDA_BASE_(r13)
+/* 8029BBAC 0029780C 4B FC EB 61 */ bl DCZeroRange
+/* 8029BBB0 00297810 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BBB4 00297814 38 80 00 21 */ li r4, 0x21
+/* 8029BBB8 00297818 38 00 00 00 */ li r0, 0
+/* 8029BBBC 0029781C 3B C0 00 00 */ li r30, 0
+/* 8029BBC0 00297820 90 83 06 A4 */ stw r4, 0x6a4(r3)
+/* 8029BBC4 00297824 3B E0 00 01 */ li r31, 1
+/* 8029BBC8 00297828 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BBCC 0029782C B0 03 06 98 */ sth r0, 0x698(r3)
+/* 8029BBD0 00297830 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BBD4 00297834 93 43 06 9C */ stw r26, 0x69c(r3)
+lbl_8029BBD8:
+/* 8029BBD8 00297838 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BBDC 0029783C 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BBE0 00297840 38 03 00 01 */ addi r0, r3, 1
+/* 8029BBE4 00297844 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BBE8 00297848 88 03 00 00 */ lbz r0, 0(r3)
+/* 8029BBEC 0029784C 28 00 00 FF */ cmplwi r0, 0xff
+/* 8029BBF0 00297850 40 82 01 C8 */ bne lbl_8029BDB8
+/* 8029BBF4 00297854 48 00 00 10 */ b lbl_8029BC04
+lbl_8029BBF8:
+/* 8029BBF8 00297858 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BBFC 0029785C 38 03 00 01 */ addi r0, r3, 1
+/* 8029BC00 00297860 90 04 06 9C */ stw r0, 0x69c(r4)
+lbl_8029BC04:
+/* 8029BC04 00297864 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BC08 00297868 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BC0C 0029786C 88 03 00 00 */ lbz r0, 0(r3)
+/* 8029BC10 00297870 28 00 00 FF */ cmplwi r0, 0xff
+/* 8029BC14 00297874 41 82 FF E4 */ beq lbl_8029BBF8
+/* 8029BC18 00297878 38 03 00 01 */ addi r0, r3, 1
+/* 8029BC1C 0029787C 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BC20 00297880 88 03 00 00 */ lbz r0, 0(r3)
+/* 8029BC24 00297884 28 00 00 D7 */ cmplwi r0, 0xd7
+/* 8029BC28 00297888 41 81 00 34 */ bgt lbl_8029BC5C
+/* 8029BC2C 0029788C 28 00 00 C4 */ cmplwi r0, 0xc4
+/* 8029BC30 00297890 40 82 00 14 */ bne lbl_8029BC44
+/* 8029BC34 00297894 48 00 07 99 */ bl __THPReadHuffmanTableSpecification
+/* 8029BC38 00297898 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 8029BC3C 0029789C 40 82 01 84 */ bne lbl_8029BDC0
+/* 8029BC40 002978A0 48 00 00 F8 */ b lbl_8029BD38
+lbl_8029BC44:
+/* 8029BC44 002978A4 28 00 00 C0 */ cmplwi r0, 0xc0
+/* 8029BC48 002978A8 40 82 01 68 */ bne lbl_8029BDB0
+/* 8029BC4C 002978AC 48 00 01 A1 */ bl __THPReadFrameHeader
+/* 8029BC50 002978B0 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 8029BC54 002978B4 40 82 01 6C */ bne lbl_8029BDC0
+/* 8029BC58 002978B8 48 00 00 E0 */ b lbl_8029BD38
+lbl_8029BC5C:
+/* 8029BC5C 002978BC 28 80 00 D8 */ cmplwi cr1, r0, 0xd8
+/* 8029BC60 002978C0 41 84 00 A0 */ blt cr1, lbl_8029BD00
+/* 8029BC64 002978C4 28 00 00 DF */ cmplwi r0, 0xdf
+/* 8029BC68 002978C8 41 81 00 98 */ bgt lbl_8029BD00
+/* 8029BC6C 002978CC 28 00 00 DD */ cmplwi r0, 0xdd
+/* 8029BC70 002978D0 40 82 00 54 */ bne lbl_8029BCC4
+/* 8029BC74 002978D4 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BC78 002978D8 9B E3 06 A9 */ stb r31, 0x6a9(r3)
+/* 8029BC7C 002978DC 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BC80 002978E0 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BC84 002978E4 38 03 00 02 */ addi r0, r3, 2
+/* 8029BC88 002978E8 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BC8C 002978EC 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BC90 002978F0 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029BC94 002978F4 88 64 00 00 */ lbz r3, 0(r4)
+/* 8029BC98 002978F8 88 04 00 01 */ lbz r0, 1(r4)
+/* 8029BC9C 002978FC 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 8029BCA0 00297900 B0 05 06 AA */ sth r0, 0x6aa(r5)
+/* 8029BCA4 00297904 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BCA8 00297908 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BCAC 0029790C 38 03 00 02 */ addi r0, r3, 2
+/* 8029BCB0 00297910 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BCB4 00297914 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BCB8 00297918 A0 03 06 AA */ lhz r0, 0x6aa(r3)
+/* 8029BCBC 0029791C B0 03 06 AC */ sth r0, 0x6ac(r3)
+/* 8029BCC0 00297920 48 00 00 78 */ b lbl_8029BD38
+lbl_8029BCC4:
+/* 8029BCC4 00297924 28 00 00 DB */ cmplwi r0, 0xdb
+/* 8029BCC8 00297928 40 82 00 14 */ bne lbl_8029BCDC
+/* 8029BCCC 0029792C 48 00 03 69 */ bl __THPReadQuantizationTable
+/* 8029BCD0 00297930 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 8029BCD4 00297934 40 82 00 EC */ bne lbl_8029BDC0
+/* 8029BCD8 00297938 48 00 00 60 */ b lbl_8029BD38
+lbl_8029BCDC:
+/* 8029BCDC 0029793C 28 00 00 DA */ cmplwi r0, 0xda
+/* 8029BCE0 00297940 40 82 00 18 */ bne lbl_8029BCF8
+/* 8029BCE4 00297944 48 00 02 3D */ bl __THPReadScaneHeader
+/* 8029BCE8 00297948 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 8029BCEC 0029794C 40 82 00 D4 */ bne lbl_8029BDC0
+/* 8029BCF0 00297950 3B C0 00 01 */ li r30, 1
+/* 8029BCF4 00297954 48 00 00 44 */ b lbl_8029BD38
+lbl_8029BCF8:
+/* 8029BCF8 00297958 41 86 00 40 */ beq cr1, lbl_8029BD38
+/* 8029BCFC 0029795C 48 00 00 B4 */ b lbl_8029BDB0
+lbl_8029BD00:
+/* 8029BD00 00297960 28 00 00 E0 */ cmplwi r0, 0xe0
+/* 8029BD04 00297964 41 80 00 34 */ blt lbl_8029BD38
+/* 8029BD08 00297968 41 80 00 0C */ blt lbl_8029BD14
+/* 8029BD0C 0029796C 28 00 00 EF */ cmplwi r0, 0xef
+/* 8029BD10 00297970 40 81 00 0C */ ble lbl_8029BD1C
+lbl_8029BD14:
+/* 8029BD14 00297974 28 00 00 FE */ cmplwi r0, 0xfe
+/* 8029BD18 00297978 40 82 00 98 */ bne lbl_8029BDB0
+lbl_8029BD1C:
+/* 8029BD1C 0029797C 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BD20 00297980 80 A4 06 9C */ lwz r5, 0x69c(r4)
+/* 8029BD24 00297984 88 65 00 00 */ lbz r3, 0(r5)
+/* 8029BD28 00297988 88 05 00 01 */ lbz r0, 1(r5)
+/* 8029BD2C 0029798C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 8029BD30 00297990 7C 05 02 14 */ add r0, r5, r0
+/* 8029BD34 00297994 90 04 06 9C */ stw r0, 0x69c(r4)
+lbl_8029BD38:
+/* 8029BD38 00297998 2C 1E 00 00 */ cmpwi r30, 0
+/* 8029BD3C 0029799C 41 82 FE 9C */ beq lbl_8029BBD8
+/* 8029BD40 002979A0 80 8D AC A8 */ lwz r4, lbl_8063FF68-_SDA_BASE_(r13)
+/* 8029BD44 002979A4 3C C0 80 53 */ lis r6, lbl_80535580@ha
+/* 8029BD48 002979A8 39 26 55 80 */ addi r9, r6, lbl_80535580@l
+/* 8029BD4C 002979AC 7F 63 DB 78 */ mr r3, r27
+/* 8029BD50 002979B0 38 04 00 1F */ addi r0, r4, 0x1f
+/* 8029BD54 002979B4 7F 84 E3 78 */ mr r4, r28
+/* 8029BD58 002979B8 54 0B 00 34 */ rlwinm r11, r0, 0, 0, 0x1a
+/* 8029BD5C 002979BC 7F A5 EB 78 */ mr r5, r29
+/* 8029BD60 002979C0 39 4B 00 80 */ addi r10, r11, 0x80
+/* 8029BD64 002979C4 91 66 55 80 */ stw r11, 0x5580(r6)
+/* 8029BD68 002979C8 39 0B 01 00 */ addi r8, r11, 0x100
+/* 8029BD6C 002979CC 38 EB 01 80 */ addi r7, r11, 0x180
+/* 8029BD70 002979D0 38 CB 02 00 */ addi r6, r11, 0x200
+/* 8029BD74 002979D4 38 0B 02 80 */ addi r0, r11, 0x280
+/* 8029BD78 002979D8 91 49 00 04 */ stw r10, 4(r9)
+/* 8029BD7C 002979DC 91 09 00 08 */ stw r8, 8(r9)
+/* 8029BD80 002979E0 90 E9 00 0C */ stw r7, 0xc(r9)
+/* 8029BD84 002979E4 90 C9 00 10 */ stw r6, 0x10(r9)
+/* 8029BD88 002979E8 90 09 00 14 */ stw r0, 0x14(r9)
+/* 8029BD8C 002979EC 48 00 0C 4D */ bl __THPDecompressYUV
+/* 8029BD90 002979F0 38 60 00 00 */ li r3, 0
+/* 8029BD94 002979F4 48 00 00 40 */ b lbl_8029BDD4
+lbl_8029BD98:
+/* 8029BD98 002979F8 38 60 00 19 */ li r3, 0x19
+/* 8029BD9C 002979FC 48 00 00 38 */ b lbl_8029BDD4
+lbl_8029BDA0:
+/* 8029BDA0 00297A00 38 60 00 1B */ li r3, 0x1b
+/* 8029BDA4 00297A04 48 00 00 30 */ b lbl_8029BDD4
+lbl_8029BDA8:
+/* 8029BDA8 00297A08 38 60 00 1A */ li r3, 0x1a
+/* 8029BDAC 00297A0C 48 00 00 28 */ b lbl_8029BDD4
+lbl_8029BDB0:
+/* 8029BDB0 00297A10 38 60 00 0B */ li r3, 0xb
+/* 8029BDB4 00297A14 48 00 00 20 */ b lbl_8029BDD4
+lbl_8029BDB8:
+/* 8029BDB8 00297A18 38 60 00 03 */ li r3, 3
+/* 8029BDBC 00297A1C 48 00 00 18 */ b lbl_8029BDD4
+lbl_8029BDC0:
+/* 8029BDC0 00297A20 54 63 06 3E */ clrlwi r3, r3, 0x18
+/* 8029BDC4 00297A24 48 00 00 10 */ b lbl_8029BDD4
+lbl_8029BDC8:
+/* 8029BDC8 00297A28 38 60 00 1C */ li r3, 0x1c
+/* 8029BDCC 00297A2C 48 00 00 08 */ b lbl_8029BDD4
+lbl_8029BDD0:
+/* 8029BDD0 00297A30 38 60 00 1D */ li r3, 0x1d
+lbl_8029BDD4:
+/* 8029BDD4 00297A34 39 61 00 20 */ addi r11, r1, 0x20
+/* 8029BDD8 00297A38 4B F2 B3 99 */ bl _restgpr_26
+/* 8029BDDC 00297A3C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8029BDE0 00297A40 7C 08 03 A6 */ mtlr r0
+/* 8029BDE4 00297A44 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029BDE8 00297A48 4E 80 00 20 */ blr
+
+.global __THPReadFrameHeader
+__THPReadFrameHeader:
+/* 8029BDEC 00297A4C 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BDF0 00297A50 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BDF4 00297A54 38 03 00 02 */ addi r0, r3, 2
+/* 8029BDF8 00297A58 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BDFC 00297A5C 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BE00 00297A60 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BE04 00297A64 38 03 00 01 */ addi r0, r3, 1
+/* 8029BE08 00297A68 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BE0C 00297A6C 88 03 00 00 */ lbz r0, 0(r3)
+/* 8029BE10 00297A70 28 00 00 08 */ cmplwi r0, 8
+/* 8029BE14 00297A74 41 82 00 0C */ beq lbl_8029BE20
+/* 8029BE18 00297A78 38 60 00 0A */ li r3, 0xa
+/* 8029BE1C 00297A7C 4E 80 00 20 */ blr
+lbl_8029BE20:
+/* 8029BE20 00297A80 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BE24 00297A84 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029BE28 00297A88 88 64 00 00 */ lbz r3, 0(r4)
+/* 8029BE2C 00297A8C 88 04 00 01 */ lbz r0, 1(r4)
+/* 8029BE30 00297A90 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 8029BE34 00297A94 B0 05 06 94 */ sth r0, 0x694(r5)
+/* 8029BE38 00297A98 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BE3C 00297A9C 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BE40 00297AA0 38 03 00 02 */ addi r0, r3, 2
+/* 8029BE44 00297AA4 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BE48 00297AA8 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BE4C 00297AAC 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029BE50 00297AB0 88 64 00 00 */ lbz r3, 0(r4)
+/* 8029BE54 00297AB4 88 04 00 01 */ lbz r0, 1(r4)
+/* 8029BE58 00297AB8 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 8029BE5C 00297ABC B0 05 06 92 */ sth r0, 0x692(r5)
+/* 8029BE60 00297AC0 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BE64 00297AC4 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BE68 00297AC8 38 03 00 02 */ addi r0, r3, 2
+/* 8029BE6C 00297ACC 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BE70 00297AD0 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BE74 00297AD4 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BE78 00297AD8 38 03 00 01 */ addi r0, r3, 1
+/* 8029BE7C 00297ADC 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BE80 00297AE0 88 03 00 00 */ lbz r0, 0(r3)
+/* 8029BE84 00297AE4 28 00 00 03 */ cmplwi r0, 3
+/* 8029BE88 00297AE8 41 82 00 0C */ beq lbl_8029BE94
+/* 8029BE8C 00297AEC 38 60 00 0C */ li r3, 0xc
+/* 8029BE90 00297AF0 4E 80 00 20 */ blr
+lbl_8029BE94:
+/* 8029BE94 00297AF4 38 00 00 03 */ li r0, 3
+/* 8029BE98 00297AF8 38 E0 00 00 */ li r7, 0
+/* 8029BE9C 00297AFC 7C 09 03 A6 */ mtctr r0
+lbl_8029BEA0:
+/* 8029BEA0 00297B00 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BEA4 00297B04 54 E0 06 3F */ clrlwi. r0, r7, 0x18
+/* 8029BEA8 00297B08 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BEAC 00297B0C 38 03 00 01 */ addi r0, r3, 1
+/* 8029BEB0 00297B10 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BEB4 00297B14 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BEB8 00297B18 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BEBC 00297B1C 38 03 00 01 */ addi r0, r3, 1
+/* 8029BEC0 00297B20 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BEC4 00297B24 88 63 00 00 */ lbz r3, 0(r3)
+/* 8029BEC8 00297B28 40 82 00 0C */ bne lbl_8029BED4
+/* 8029BECC 00297B2C 28 03 00 22 */ cmplwi r3, 0x22
+/* 8029BED0 00297B30 40 82 00 14 */ bne lbl_8029BEE4
+lbl_8029BED4:
+/* 8029BED4 00297B34 54 E0 06 3F */ clrlwi. r0, r7, 0x18
+/* 8029BED8 00297B38 41 82 00 14 */ beq lbl_8029BEEC
+/* 8029BEDC 00297B3C 28 03 00 11 */ cmplwi r3, 0x11
+/* 8029BEE0 00297B40 41 82 00 0C */ beq lbl_8029BEEC
+lbl_8029BEE4:
+/* 8029BEE4 00297B44 38 60 00 13 */ li r3, 0x13
+/* 8029BEE8 00297B48 4E 80 00 20 */ blr
+lbl_8029BEEC:
+/* 8029BEEC 00297B4C 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BEF0 00297B50 54 E0 06 3E */ clrlwi r0, r7, 0x18
+/* 8029BEF4 00297B54 1C 00 00 06 */ mulli r0, r0, 6
+/* 8029BEF8 00297B58 38 E7 00 01 */ addi r7, r7, 1
+/* 8029BEFC 00297B5C 80 A6 06 9C */ lwz r5, 0x69c(r6)
+/* 8029BF00 00297B60 88 85 00 00 */ lbz r4, 0(r5)
+/* 8029BF04 00297B64 7C 66 02 14 */ add r3, r6, r0
+/* 8029BF08 00297B68 38 05 00 01 */ addi r0, r5, 1
+/* 8029BF0C 00297B6C 98 83 06 80 */ stb r4, 0x680(r3)
+/* 8029BF10 00297B70 90 06 06 9C */ stw r0, 0x69c(r6)
+/* 8029BF14 00297B74 42 00 FF 8C */ bdnz lbl_8029BEA0
+/* 8029BF18 00297B78 38 60 00 00 */ li r3, 0
+/* 8029BF1C 00297B7C 4E 80 00 20 */ blr
+
+.global __THPReadScaneHeader
+__THPReadScaneHeader:
+/* 8029BF20 00297B80 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BF24 00297B84 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BF28 00297B88 38 03 00 02 */ addi r0, r3, 2
+/* 8029BF2C 00297B8C 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BF30 00297B90 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BF34 00297B94 80 64 06 9C */ lwz r3, 0x69c(r4)
+/* 8029BF38 00297B98 38 03 00 01 */ addi r0, r3, 1
+/* 8029BF3C 00297B9C 90 04 06 9C */ stw r0, 0x69c(r4)
+/* 8029BF40 00297BA0 88 03 00 00 */ lbz r0, 0(r3)
+/* 8029BF44 00297BA4 28 00 00 03 */ cmplwi r0, 3
+/* 8029BF48 00297BA8 41 82 00 0C */ beq lbl_8029BF54
+/* 8029BF4C 00297BAC 38 60 00 0C */ li r3, 0xc
+/* 8029BF50 00297BB0 4E 80 00 20 */ blr
+lbl_8029BF54:
+/* 8029BF54 00297BB4 38 00 00 03 */ li r0, 3
+/* 8029BF58 00297BB8 39 00 00 00 */ li r8, 0
+/* 8029BF5C 00297BBC 38 60 00 01 */ li r3, 1
+/* 8029BF60 00297BC0 7C 09 03 A6 */ mtctr r0
+lbl_8029BF64:
+/* 8029BF64 00297BC4 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BF68 00297BC8 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 8029BF6C 00297BCC 1C C0 00 06 */ mulli r6, r0, 6
+/* 8029BF70 00297BD0 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029BF74 00297BD4 38 04 00 01 */ addi r0, r4, 1
+/* 8029BF78 00297BD8 90 05 06 9C */ stw r0, 0x69c(r5)
+/* 8029BF7C 00297BDC 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BF80 00297BE0 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029BF84 00297BE4 38 04 00 01 */ addi r0, r4, 1
+/* 8029BF88 00297BE8 90 05 06 9C */ stw r0, 0x69c(r5)
+/* 8029BF8C 00297BEC 88 84 00 00 */ lbz r4, 0(r4)
+/* 8029BF90 00297BF0 80 0D AC A4 */ lwz r0, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BF94 00297BF4 7C 85 26 70 */ srawi r5, r4, 4
+/* 8029BF98 00297BF8 54 87 07 3E */ clrlwi r7, r4, 0x1c
+/* 8029BF9C 00297BFC 7C 80 32 14 */ add r4, r0, r6
+/* 8029BFA0 00297C00 98 A4 06 81 */ stb r5, 0x681(r4)
+/* 8029BFA4 00297C04 7C 60 28 30 */ slw r0, r3, r5
+/* 8029BFA8 00297C08 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BFAC 00297C0C 7C 84 32 14 */ add r4, r4, r6
+/* 8029BFB0 00297C10 98 E4 06 82 */ stb r7, 0x682(r4)
+/* 8029BFB4 00297C14 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029BFB8 00297C18 88 85 06 A8 */ lbz r4, 0x6a8(r5)
+/* 8029BFBC 00297C1C 7C 80 00 39 */ and. r0, r4, r0
+/* 8029BFC0 00297C20 40 82 00 0C */ bne lbl_8029BFCC
+/* 8029BFC4 00297C24 38 60 00 0F */ li r3, 0xf
+/* 8029BFC8 00297C28 4E 80 00 20 */ blr
+lbl_8029BFCC:
+/* 8029BFCC 00297C2C 38 07 00 01 */ addi r0, r7, 1
+/* 8029BFD0 00297C30 7C 60 00 30 */ slw r0, r3, r0
+/* 8029BFD4 00297C34 7C 80 00 39 */ and. r0, r4, r0
+/* 8029BFD8 00297C38 40 82 00 0C */ bne lbl_8029BFE4
+/* 8029BFDC 00297C3C 38 60 00 0F */ li r3, 0xf
+/* 8029BFE0 00297C40 4E 80 00 20 */ blr
+lbl_8029BFE4:
+/* 8029BFE4 00297C44 39 08 00 01 */ addi r8, r8, 1
+/* 8029BFE8 00297C48 42 00 FF 7C */ bdnz lbl_8029BF64
+/* 8029BFEC 00297C4C 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029BFF0 00297C50 38 00 00 00 */ li r0, 0
+/* 8029BFF4 00297C54 38 60 00 00 */ li r3, 0
+/* 8029BFF8 00297C58 38 84 00 03 */ addi r4, r4, 3
+/* 8029BFFC 00297C5C 90 85 06 9C */ stw r4, 0x69c(r5)
+/* 8029C000 00297C60 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C004 00297C64 A0 85 06 92 */ lhz r4, 0x692(r5)
+/* 8029C008 00297C68 38 84 00 0F */ addi r4, r4, 0xf
+/* 8029C00C 00297C6C 7C 84 26 70 */ srawi r4, r4, 4
+/* 8029C010 00297C70 7C 84 01 94 */ addze r4, r4
+/* 8029C014 00297C74 B0 85 06 96 */ sth r4, 0x696(r5)
+/* 8029C018 00297C78 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C01C 00297C7C B0 04 06 84 */ sth r0, 0x684(r4)
+/* 8029C020 00297C80 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C024 00297C84 B0 04 06 8A */ sth r0, 0x68a(r4)
+/* 8029C028 00297C88 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C02C 00297C8C B0 04 06 90 */ sth r0, 0x690(r4)
+/* 8029C030 00297C90 4E 80 00 20 */ blr
+
+.global __THPReadQuantizationTable
+__THPReadQuantizationTable:
+/* 8029C034 00297C94 94 21 FE A0 */ stwu r1, -0x160(r1)
+/* 8029C038 00297C98 7C 08 02 A6 */ mflr r0
+/* 8029C03C 00297C9C 90 01 01 64 */ stw r0, 0x164(r1)
+/* 8029C040 00297CA0 DB E1 01 50 */ stfd f31, 0x150(r1)
+/* 8029C044 00297CA4 F3 E1 01 58 */ psq_st f31, 344(r1), 0, qr0
+/* 8029C048 00297CA8 DB C1 01 40 */ stfd f30, 0x140(r1)
+/* 8029C04C 00297CAC F3 C1 01 48 */ psq_st f30, 328(r1), 0, qr0
+/* 8029C050 00297CB0 39 61 01 40 */ addi r11, r1, 0x140
+/* 8029C054 00297CB4 4B F2 B0 C5 */ bl _savegpr_23
+/* 8029C058 00297CB8 81 0D AC A4 */ lwz r8, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C05C 00297CBC 3C 80 80 40 */ lis r4, lbl_803FDA28@ha
+/* 8029C060 00297CC0 38 64 DA 28 */ addi r3, r4, lbl_803FDA28@l
+/* 8029C064 00297CC4 3D 40 43 30 */ lis r10, 0x4330
+/* 8029C068 00297CC8 80 C8 06 9C */ lwz r6, 0x69c(r8)
+/* 8029C06C 00297CCC 3D 20 80 40 */ lis r9, lbl_803FD9D8@ha
+/* 8029C070 00297CD0 91 41 01 08 */ stw r10, 0x108(r1)
+/* 8029C074 00297CD4 39 29 D9 D8 */ addi r9, r9, lbl_803FD9D8@l
+/* 8029C078 00297CD8 88 06 00 00 */ lbz r0, 0(r6)
+/* 8029C07C 00297CDC 38 A6 00 02 */ addi r5, r6, 2
+/* 8029C080 00297CE0 88 C6 00 01 */ lbz r6, 1(r6)
+/* 8029C084 00297CE4 38 E1 00 08 */ addi r7, r1, 8
+/* 8029C088 00297CE8 50 06 44 2E */ rlwimi r6, r0, 8, 0x10, 0x17
+/* 8029C08C 00297CEC 91 41 01 10 */ stw r10, 0x110(r1)
+/* 8029C090 00297CF0 38 06 FF FE */ addi r0, r6, -2
+/* 8029C094 00297CF4 C8 62 A3 80 */ lfd f3, lbl_80642980-_SDA2_BASE_(r2)
+/* 8029C098 00297CF8 90 A8 06 9C */ stw r5, 0x69c(r8)
+/* 8029C09C 00297CFC 54 0B 04 3E */ clrlwi r11, r0, 0x10
+/* 8029C0A0 00297D00 C8 24 DA 28 */ lfd f1, -0x25d8(r4)
+/* 8029C0A4 00297D04 3B A0 00 08 */ li r29, 8
+/* 8029C0A8 00297D08 C8 03 00 08 */ lfd f0, 8(r3)
+/* 8029C0AC 00297D0C 3B C0 00 08 */ li r30, 8
+/* 8029C0B0 00297D10 CB C3 00 10 */ lfd f30, 0x10(r3)
+/* 8029C0B4 00297D14 C9 A3 00 18 */ lfd f13, 0x18(r3)
+/* 8029C0B8 00297D18 C9 63 00 20 */ lfd f11, 0x20(r3)
+/* 8029C0BC 00297D1C C9 23 00 28 */ lfd f9, 0x28(r3)
+/* 8029C0C0 00297D20 C8 C3 00 30 */ lfd f6, 0x30(r3)
+/* 8029C0C4 00297D24 C8 83 00 38 */ lfd f4, 0x38(r3)
+lbl_8029C0C8:
+/* 8029C0C8 00297D28 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C0CC 00297D2C 3B E0 00 00 */ li r31, 0
+/* 8029C0D0 00297D30 80 85 06 9C */ lwz r4, 0x69c(r5)
+/* 8029C0D4 00297D34 38 04 00 01 */ addi r0, r4, 1
+/* 8029C0D8 00297D38 90 05 06 9C */ stw r0, 0x69c(r5)
+/* 8029C0DC 00297D3C 89 84 00 00 */ lbz r12, 0(r4)
+/* 8029C0E0 00297D40 7F C9 03 A6 */ mtctr r30
+lbl_8029C0E4:
+/* 8029C0E4 00297D44 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C0E8 00297D48 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 8029C0EC 00297D4C 7D 49 02 14 */ add r10, r9, r0
+/* 8029C0F0 00297D50 7C 09 00 AE */ lbzx r0, r9, r0
+/* 8029C0F4 00297D54 82 E6 06 9C */ lwz r23, 0x69c(r6)
+/* 8029C0F8 00297D58 3B FF 00 08 */ addi r31, r31, 8
+/* 8029C0FC 00297D5C 54 08 10 3A */ slwi r8, r0, 2
+/* 8029C100 00297D60 8B 6A 00 06 */ lbz r27, 6(r10)
+/* 8029C104 00297D64 38 B7 00 01 */ addi r5, r23, 1
+/* 8029C108 00297D68 88 8A 00 01 */ lbz r4, 1(r10)
+/* 8029C10C 00297D6C 90 A6 06 9C */ stw r5, 0x69c(r6)
+/* 8029C110 00297D70 57 7B 10 3A */ slwi r27, r27, 2
+/* 8029C114 00297D74 54 86 10 3A */ slwi r6, r4, 2
+/* 8029C118 00297D78 88 0A 00 02 */ lbz r0, 2(r10)
+/* 8029C11C 00297D7C 83 0D AC A4 */ lwz r24, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C120 00297D80 88 97 00 00 */ lbz r4, 0(r23)
+/* 8029C124 00297D84 54 05 10 3A */ slwi r5, r0, 2
+/* 8029C128 00297D88 82 F8 06 9C */ lwz r23, 0x69c(r24)
+/* 8029C12C 00297D8C 90 81 01 0C */ stw r4, 0x10c(r1)
+/* 8029C130 00297D90 38 97 00 01 */ addi r4, r23, 1
+/* 8029C134 00297D94 88 0A 00 03 */ lbz r0, 3(r10)
+/* 8029C138 00297D98 90 98 06 9C */ stw r4, 0x69c(r24)
+/* 8029C13C 00297D9C 54 04 10 3A */ slwi r4, r0, 2
+/* 8029C140 00297DA0 C8 41 01 08 */ lfd f2, 0x108(r1)
+/* 8029C144 00297DA4 83 2D AC A4 */ lwz r25, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C148 00297DA8 88 17 00 00 */ lbz r0, 0(r23)
+/* 8029C14C 00297DAC ED 02 18 28 */ fsubs f8, f2, f3
+/* 8029C150 00297DB0 83 19 06 9C */ lwz r24, 0x69c(r25)
+/* 8029C154 00297DB4 90 01 01 14 */ stw r0, 0x114(r1)
+/* 8029C158 00297DB8 3A F8 00 01 */ addi r23, r24, 1
+/* 8029C15C 00297DBC 88 0A 00 04 */ lbz r0, 4(r10)
+/* 8029C160 00297DC0 92 F9 06 9C */ stw r23, 0x69c(r25)
+/* 8029C164 00297DC4 C8 41 01 10 */ lfd f2, 0x110(r1)
+/* 8029C168 00297DC8 54 00 10 3A */ slwi r0, r0, 2
+/* 8029C16C 00297DCC 83 4D AC A4 */ lwz r26, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C170 00297DD0 8A F8 00 00 */ lbz r23, 0(r24)
+/* 8029C174 00297DD4 ED 42 18 28 */ fsubs f10, f2, f3
+/* 8029C178 00297DD8 83 1A 06 9C */ lwz r24, 0x69c(r26)
+/* 8029C17C 00297DDC 92 E1 01 0C */ stw r23, 0x10c(r1)
+/* 8029C180 00297DE0 3A F8 00 01 */ addi r23, r24, 1
+/* 8029C184 00297DE4 8B 2A 00 05 */ lbz r25, 5(r10)
+/* 8029C188 00297DE8 92 FA 06 9C */ stw r23, 0x69c(r26)
+/* 8029C18C 00297DEC C8 41 01 08 */ lfd f2, 0x108(r1)
+/* 8029C190 00297DF0 57 39 10 3A */ slwi r25, r25, 2
+/* 8029C194 00297DF4 83 4D AC A4 */ lwz r26, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C198 00297DF8 8A F8 00 00 */ lbz r23, 0(r24)
+/* 8029C19C 00297DFC EC E2 18 28 */ fsubs f7, f2, f3
+/* 8029C1A0 00297E00 83 1A 06 9C */ lwz r24, 0x69c(r26)
+/* 8029C1A4 00297E04 92 E1 01 14 */ stw r23, 0x114(r1)
+/* 8029C1A8 00297E08 3A F8 00 01 */ addi r23, r24, 1
+/* 8029C1AC 00297E0C 92 FA 06 9C */ stw r23, 0x69c(r26)
+/* 8029C1B0 00297E10 C8 41 01 10 */ lfd f2, 0x110(r1)
+/* 8029C1B4 00297E14 83 8D AC A4 */ lwz r28, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C1B8 00297E18 7D 07 45 2E */ stfsx f8, r7, r8
+/* 8029C1BC 00297E1C EC A2 18 28 */ fsubs f5, f2, f3
+/* 8029C1C0 00297E20 83 5C 06 9C */ lwz r26, 0x69c(r28)
+/* 8029C1C4 00297E24 8A F8 00 00 */ lbz r23, 0(r24)
+/* 8029C1C8 00297E28 3B 1A 00 01 */ addi r24, r26, 1
+/* 8029C1CC 00297E2C 89 0A 00 07 */ lbz r8, 7(r10)
+/* 8029C1D0 00297E30 93 1C 06 9C */ stw r24, 0x69c(r28)
+/* 8029C1D4 00297E34 55 08 10 3A */ slwi r8, r8, 2
+/* 8029C1D8 00297E38 83 8D AC A4 */ lwz r28, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C1DC 00297E3C 8B 1A 00 00 */ lbz r24, 0(r26)
+/* 8029C1E0 00297E40 83 5C 06 9C */ lwz r26, 0x69c(r28)
+/* 8029C1E4 00297E44 92 E1 01 0C */ stw r23, 0x10c(r1)
+/* 8029C1E8 00297E48 39 5A 00 01 */ addi r10, r26, 1
+/* 8029C1EC 00297E4C 91 5C 06 9C */ stw r10, 0x69c(r28)
+/* 8029C1F0 00297E50 C8 41 01 08 */ lfd f2, 0x108(r1)
+/* 8029C1F4 00297E54 83 8D AC A4 */ lwz r28, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C1F8 00297E58 8B 5A 00 00 */ lbz r26, 0(r26)
+/* 8029C1FC 00297E5C ED 02 18 28 */ fsubs f8, f2, f3
+/* 8029C200 00297E60 81 5C 06 9C */ lwz r10, 0x69c(r28)
+/* 8029C204 00297E64 7D 47 35 2E */ stfsx f10, r7, r6
+/* 8029C208 00297E68 38 CA 00 01 */ addi r6, r10, 1
+/* 8029C20C 00297E6C 93 01 01 14 */ stw r24, 0x114(r1)
+/* 8029C210 00297E70 7C E7 2D 2E */ stfsx f7, r7, r5
+/* 8029C214 00297E74 C8 41 01 10 */ lfd f2, 0x110(r1)
+/* 8029C218 00297E78 90 DC 06 9C */ stw r6, 0x69c(r28)
+/* 8029C21C 00297E7C EC E2 18 28 */ fsubs f7, f2, f3
+/* 8029C220 00297E80 88 AA 00 00 */ lbz r5, 0(r10)
+/* 8029C224 00297E84 93 41 01 0C */ stw r26, 0x10c(r1)
+/* 8029C228 00297E88 7C A7 25 2E */ stfsx f5, r7, r4
+/* 8029C22C 00297E8C C8 41 01 08 */ lfd f2, 0x108(r1)
+/* 8029C230 00297E90 7D 07 05 2E */ stfsx f8, r7, r0
+/* 8029C234 00297E94 EC A2 18 28 */ fsubs f5, f2, f3
+/* 8029C238 00297E98 90 A1 01 14 */ stw r5, 0x114(r1)
+/* 8029C23C 00297E9C C8 41 01 10 */ lfd f2, 0x110(r1)
+/* 8029C240 00297EA0 7C E7 CD 2E */ stfsx f7, r7, r25
+/* 8029C244 00297EA4 EC 42 18 28 */ fsubs f2, f2, f3
+/* 8029C248 00297EA8 7C A7 DD 2E */ stfsx f5, r7, r27
+/* 8029C24C 00297EAC 7C 47 45 2E */ stfsx f2, r7, r8
+/* 8029C250 00297EB0 42 00 FE 94 */ bdnz lbl_8029C0E4
+/* 8029C254 00297EB4 55 97 42 2E */ rlwinm r23, r12, 8, 8, 0x17
+/* 8029C258 00297EB8 38 80 00 00 */ li r4, 0
+/* 8029C25C 00297EBC 38 A0 00 00 */ li r5, 0
+/* 8029C260 00297EC0 7F A9 03 A6 */ mtctr r29
+lbl_8029C264:
+/* 8029C264 00297EC4 54 88 13 BA */ rlwinm r8, r4, 2, 0xe, 0x1d
+/* 8029C268 00297EC8 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c
+/* 8029C26C 00297ECC 7C 43 04 AE */ lfdx f2, r3, r0
+/* 8029C270 00297ED0 38 84 00 01 */ addi r4, r4, 1
+/* 8029C274 00297ED4 7C E7 44 2E */ lfsx f7, r7, r8
+/* 8029C278 00297ED8 54 8A 13 BA */ rlwinm r10, r4, 2, 0xe, 0x1d
+/* 8029C27C 00297EDC 7C A7 54 2E */ lfsx f5, r7, r10
+/* 8029C280 00297EE0 38 84 00 01 */ addi r4, r4, 1
+/* 8029C284 00297EE4 FD 47 00 B2 */ fmul f10, f7, f2
+/* 8029C288 00297EE8 54 8C 13 BA */ rlwinm r12, r4, 2, 0xe, 0x1d
+/* 8029C28C 00297EEC 7C E7 64 2E */ lfsx f7, r7, r12
+/* 8029C290 00297EF0 38 84 00 01 */ addi r4, r4, 1
+/* 8029C294 00297EF4 54 98 13 BA */ rlwinm r24, r4, 2, 0xe, 0x1d
+/* 8029C298 00297EF8 FD 05 00 B2 */ fmul f8, f5, f2
+/* 8029C29C 00297EFC FD 81 02 B2 */ fmul f12, f1, f10
+/* 8029C2A0 00297F00 38 84 00 01 */ addi r4, r4, 1
+/* 8029C2A4 00297F04 54 99 13 BA */ rlwinm r25, r4, 2, 0xe, 0x1d
+/* 8029C2A8 00297F08 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C2AC 00297F0C FD 40 02 32 */ fmul f10, f0, f8
+/* 8029C2B0 00297F10 7C A7 C4 2E */ lfsx f5, r7, r24
+/* 8029C2B4 00297F14 FC E7 00 B2 */ fmul f7, f7, f2
+/* 8029C2B8 00297F18 7C 08 BA 14 */ add r0, r8, r23
+/* 8029C2BC 00297F1C 38 84 00 01 */ addi r4, r4, 1
+/* 8029C2C0 00297F20 7D 07 CC 2E */ lfsx f8, r7, r25
+/* 8029C2C4 00297F24 FD 80 60 18 */ frsp f12, f12
+/* 8029C2C8 00297F28 54 88 13 BA */ rlwinm r8, r4, 2, 0xe, 0x1d
+/* 8029C2CC 00297F2C 7D 86 05 2E */ stfsx f12, r6, r0
+/* 8029C2D0 00297F30 FF FE 01 F2 */ fmul f31, f30, f7
+/* 8029C2D4 00297F34 7C 0A BA 14 */ add r0, r10, r23
+/* 8029C2D8 00297F38 38 84 00 01 */ addi r4, r4, 1
+/* 8029C2DC 00297F3C FC E5 00 B2 */ fmul f7, f5, f2
+/* 8029C2E0 00297F40 7C A7 44 2E */ lfsx f5, r7, r8
+/* 8029C2E4 00297F44 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C2E8 00297F48 FD 40 50 18 */ frsp f10, f10
+/* 8029C2EC 00297F4C 54 9A 13 BA */ rlwinm r26, r4, 2, 0xe, 0x1d
+/* 8029C2F0 00297F50 FD 8D 01 F2 */ fmul f12, f13, f7
+/* 8029C2F4 00297F54 7C E7 D4 2E */ lfsx f7, r7, r26
+/* 8029C2F8 00297F58 38 84 00 01 */ addi r4, r4, 1
+/* 8029C2FC 00297F5C 7D 46 05 2E */ stfsx f10, r6, r0
+/* 8029C300 00297F60 FD 48 00 B2 */ fmul f10, f8, f2
+/* 8029C304 00297F64 7C 0C BA 14 */ add r0, r12, r23
+/* 8029C308 00297F68 FD 05 00 B2 */ fmul f8, f5, f2
+/* 8029C30C 00297F6C 54 9B 13 BA */ rlwinm r27, r4, 2, 0xe, 0x1d
+/* 8029C310 00297F70 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C314 00297F74 7D 98 BA 14 */ add r12, r24, r23
+/* 8029C318 00297F78 FF E0 F8 18 */ frsp f31, f31
+/* 8029C31C 00297F7C 7C A7 DC 2E */ lfsx f5, r7, r27
+/* 8029C320 00297F80 FD 4B 02 B2 */ fmul f10, f11, f10
+/* 8029C324 00297F84 7D 59 BA 14 */ add r10, r25, r23
+/* 8029C328 00297F88 7F FF 05 2E */ stfsx f31, r31, r0
+/* 8029C32C 00297F8C 7D 08 BA 14 */ add r8, r8, r23
+/* 8029C330 00297F90 FC E7 00 B2 */ fmul f7, f7, f2
+/* 8029C334 00297F94 7C DA BA 14 */ add r6, r26, r23
+/* 8029C338 00297F98 FC 45 00 B2 */ fmul f2, f5, f2
+/* 8029C33C 00297F9C 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C340 00297FA0 7C 1B BA 14 */ add r0, r27, r23
+/* 8029C344 00297FA4 38 A5 00 01 */ addi r5, r5, 1
+/* 8029C348 00297FA8 FD 80 60 18 */ frsp f12, f12
+/* 8029C34C 00297FAC 38 84 00 01 */ addi r4, r4, 1
+/* 8029C350 00297FB0 7D 9F 65 2E */ stfsx f12, r31, r12
+/* 8029C354 00297FB4 FC A6 01 F2 */ fmul f5, f6, f7
+/* 8029C358 00297FB8 FD 09 02 32 */ fmul f8, f9, f8
+/* 8029C35C 00297FBC 81 8D AC A4 */ lwz r12, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C360 00297FC0 FD 40 50 18 */ frsp f10, f10
+/* 8029C364 00297FC4 FC 44 00 B2 */ fmul f2, f4, f2
+/* 8029C368 00297FC8 7D 4C 55 2E */ stfsx f10, r12, r10
+/* 8029C36C 00297FCC FC E0 40 18 */ frsp f7, f8
+/* 8029C370 00297FD0 FC A0 28 18 */ frsp f5, f5
+/* 8029C374 00297FD4 81 4D AC A4 */ lwz r10, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C378 00297FD8 FC 40 10 18 */ frsp f2, f2
+/* 8029C37C 00297FDC 7C EA 45 2E */ stfsx f7, r10, r8
+/* 8029C380 00297FE0 81 0D AC A4 */ lwz r8, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C384 00297FE4 7C A8 35 2E */ stfsx f5, r8, r6
+/* 8029C388 00297FE8 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C38C 00297FEC 7C 46 05 2E */ stfsx f2, r6, r0
+/* 8029C390 00297FF0 42 00 FE D4 */ bdnz lbl_8029C264
+/* 8029C394 00297FF4 38 0B FF BF */ addi r0, r11, -65
+/* 8029C398 00297FF8 54 0B 04 3F */ clrlwi. r11, r0, 0x10
+/* 8029C39C 00297FFC 40 82 FD 2C */ bne lbl_8029C0C8
+/* 8029C3A0 00298000 38 60 00 00 */ li r3, 0
+/* 8029C3A4 00298004 E3 E1 01 58 */ psq_l f31, 344(r1), 0, qr0
+/* 8029C3A8 00298008 CB E1 01 50 */ lfd f31, 0x150(r1)
+/* 8029C3AC 0029800C E3 C1 01 48 */ psq_l f30, 328(r1), 0, qr0
+/* 8029C3B0 00298010 CB C1 01 40 */ lfd f30, 0x140(r1)
+/* 8029C3B4 00298014 39 61 01 40 */ addi r11, r1, 0x140
+/* 8029C3B8 00298018 4B F2 AD AD */ bl _restgpr_23
+/* 8029C3BC 0029801C 80 01 01 64 */ lwz r0, 0x164(r1)
+/* 8029C3C0 00298020 7C 08 03 A6 */ mtlr r0
+/* 8029C3C4 00298024 38 21 01 60 */ addi r1, r1, 0x160
+/* 8029C3C8 00298028 4E 80 00 20 */ blr
+
+.global __THPReadHuffmanTableSpecification
+__THPReadHuffmanTableSpecification:
+/* 8029C3CC 0029802C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029C3D0 00298030 7C 08 02 A6 */ mflr r0
+/* 8029C3D4 00298034 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8029C3D8 00298038 39 61 00 20 */ addi r11, r1, 0x20
+/* 8029C3DC 0029803C 4B F2 AD 4D */ bl _savegpr_27
+/* 8029C3E0 00298040 80 8D AC A8 */ lwz r4, lbl_8063FF68-_SDA_BASE_(r13)
+/* 8029C3E4 00298044 3C 60 00 10 */ lis r3, 0x000FFFFF@ha
+/* 8029C3E8 00298048 39 63 FF FF */ addi r11, r3, 0x000FFFFF@l
+/* 8029C3EC 0029804C 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C3F0 00298050 38 64 01 01 */ addi r3, r4, 0x101
+/* 8029C3F4 00298054 90 8D AD 08 */ stw r4, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C3F8 00298058 39 80 FF FF */ li r12, -1
+/* 8029C3FC 0029805C 38 00 00 00 */ li r0, 0
+/* 8029C400 00298060 90 6D AD 04 */ stw r3, lbl_8063FFC4-_SDA_BASE_(r13)
+/* 8029C404 00298064 39 40 00 01 */ li r10, 1
+/* 8029C408 00298068 39 20 00 08 */ li r9, 8
+/* 8029C40C 0029806C 38 E0 00 02 */ li r7, 2
+/* 8029C410 00298070 80 66 06 9C */ lwz r3, 0x69c(r6)
+/* 8029C414 00298074 88 A3 00 00 */ lbz r5, 0(r3)
+/* 8029C418 00298078 38 83 00 02 */ addi r4, r3, 2
+/* 8029C41C 0029807C 88 63 00 01 */ lbz r3, 1(r3)
+/* 8029C420 00298080 50 A3 44 2E */ rlwimi r3, r5, 8, 0x10, 0x17
+/* 8029C424 00298084 38 63 FF FE */ addi r3, r3, -2
+/* 8029C428 00298088 90 86 06 9C */ stw r4, 0x69c(r6)
+/* 8029C42C 0029808C 54 65 04 3E */ clrlwi r5, r3, 0x10
+lbl_8029C430:
+/* 8029C430 00298090 83 CD AC A4 */ lwz r30, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C434 00298094 38 C0 00 00 */ li r6, 0
+/* 8029C438 00298098 38 60 00 00 */ li r3, 0
+/* 8029C43C 0029809C 81 1E 06 9C */ lwz r8, 0x69c(r30)
+/* 8029C440 002980A0 38 88 00 01 */ addi r4, r8, 1
+/* 8029C444 002980A4 90 9E 06 9C */ stw r4, 0x69c(r30)
+/* 8029C448 002980A8 88 88 00 00 */ lbz r4, 0(r8)
+/* 8029C44C 002980AC 83 CD AC A4 */ lwz r30, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C450 002980B0 54 88 0E FC */ rlwinm r8, r4, 1, 0x1b, 0x1e
+/* 8029C454 002980B4 7C 84 26 70 */ srawi r4, r4, 4
+/* 8029C458 002980B8 83 DE 06 9C */ lwz r30, 0x69c(r30)
+/* 8029C45C 002980BC 7C 88 22 14 */ add r4, r8, r4
+/* 8029C460 002980C0 54 84 06 3E */ clrlwi r4, r4, 0x18
+/* 8029C464 002980C4 93 CD AD 0C */ stw r30, lbl_8063FFCC-_SDA_BASE_(r13)
+/* 8029C468 002980C8 7C E9 03 A6 */ mtctr r7
+lbl_8029C46C:
+/* 8029C46C 002980CC 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C470 002980D0 38 63 00 08 */ addi r3, r3, 8
+/* 8029C474 002980D4 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C478 002980D8 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C47C 002980DC 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C480 002980E0 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C484 002980E4 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C488 002980E8 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C48C 002980EC 7C C6 42 14 */ add r6, r6, r8
+/* 8029C490 002980F0 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C494 002980F4 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C498 002980F8 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C49C 002980FC 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C4A0 00298100 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C4A4 00298104 7C C6 42 14 */ add r6, r6, r8
+/* 8029C4A8 00298108 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C4AC 0029810C 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C4B0 00298110 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C4B4 00298114 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C4B8 00298118 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C4BC 0029811C 7C C6 42 14 */ add r6, r6, r8
+/* 8029C4C0 00298120 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C4C4 00298124 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C4C8 00298128 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C4CC 0029812C 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C4D0 00298130 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C4D4 00298134 7C C6 42 14 */ add r6, r6, r8
+/* 8029C4D8 00298138 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C4DC 0029813C 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C4E0 00298140 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C4E4 00298144 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C4E8 00298148 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C4EC 0029814C 7C C6 42 14 */ add r6, r6, r8
+/* 8029C4F0 00298150 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C4F4 00298154 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C4F8 00298158 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C4FC 0029815C 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C500 00298160 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C504 00298164 7C C6 42 14 */ add r6, r6, r8
+/* 8029C508 00298168 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C50C 0029816C 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C510 00298170 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C514 00298174 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C518 00298178 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C51C 0029817C 7C C6 42 14 */ add r6, r6, r8
+/* 8029C520 00298180 39 1E 00 01 */ addi r8, r30, 1
+/* 8029C524 00298184 91 1F 06 9C */ stw r8, 0x69c(r31)
+/* 8029C528 00298188 89 1E 00 00 */ lbz r8, 0(r30)
+/* 8029C52C 0029818C 7C C6 42 14 */ add r6, r6, r8
+/* 8029C530 00298190 42 00 FF 3C */ bdnz lbl_8029C46C
+/* 8029C534 00298194 83 6D AC A4 */ lwz r27, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C538 00298198 1C 64 00 E0 */ mulli r3, r4, 0xe0
+/* 8029C53C 0029819C 54 C8 04 3E */ clrlwi r8, r6, 0x10
+/* 8029C540 002981A0 83 FB 06 9C */ lwz r31, 0x69c(r27)
+/* 8029C544 002981A4 3B 80 00 00 */ li r28, 0
+/* 8029C548 002981A8 7F DB 1A 14 */ add r30, r27, r3
+/* 8029C54C 002981AC 3B A0 00 01 */ li r29, 1
+/* 8029C550 002981B0 93 FE 03 40 */ stw r31, 0x340(r30)
+/* 8029C554 002981B4 83 ED AC A4 */ lwz r31, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C558 002981B8 83 DF 06 9C */ lwz r30, 0x69c(r31)
+/* 8029C55C 002981BC 7D 1E 42 14 */ add r8, r30, r8
+/* 8029C560 002981C0 91 1F 06 9C */ stw r8, 0x69c(r31)
+lbl_8029C564:
+/* 8029C564 002981C4 81 0D AD 0C */ lwz r8, lbl_8063FFCC-_SDA_BASE_(r13)
+/* 8029C568 002981C8 7D 08 EA 14 */ add r8, r8, r29
+/* 8029C56C 002981CC 8B C8 FF FF */ lbz r30, -1(r8)
+/* 8029C570 002981D0 2C 1E 00 00 */ cmpwi r30, 0
+/* 8029C574 002981D4 41 82 00 90 */ beq lbl_8029C604
+/* 8029C578 002981D8 57 C8 E8 FF */ rlwinm. r8, r30, 0x1d, 3, 0x1f
+/* 8029C57C 002981DC 7D 09 03 A6 */ mtctr r8
+/* 8029C580 002981E0 41 82 00 70 */ beq lbl_8029C5F0
+lbl_8029C584:
+/* 8029C584 002981E4 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C588 002981E8 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C58C 002981EC 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C590 002981F0 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C594 002981F4 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C598 002981F8 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C59C 002981FC 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5A0 00298200 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5A4 00298204 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C5A8 00298208 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5AC 0029820C 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5B0 00298210 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C5B4 00298214 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5B8 00298218 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5BC 0029821C 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C5C0 00298220 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5C4 00298224 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5C8 00298228 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C5CC 0029822C 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5D0 00298230 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5D4 00298234 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C5D8 00298238 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5DC 0029823C 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5E0 00298240 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C5E4 00298244 42 00 FF A0 */ bdnz lbl_8029C584
+/* 8029C5E8 00298248 73 DE 00 07 */ andi. r30, r30, 7
+/* 8029C5EC 0029824C 41 82 00 18 */ beq lbl_8029C604
+lbl_8029C5F0:
+/* 8029C5F0 00298250 7F C9 03 A6 */ mtctr r30
+lbl_8029C5F4:
+/* 8029C5F4 00298254 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C5F8 00298258 7F A8 E1 AE */ stbx r29, r8, r28
+/* 8029C5FC 0029825C 3B 9C 00 01 */ addi r28, r28, 1
+/* 8029C600 00298260 42 00 FF F4 */ bdnz lbl_8029C5F4
+lbl_8029C604:
+/* 8029C604 00298264 3B BD 00 01 */ addi r29, r29, 1
+/* 8029C608 00298268 2C 1D 00 10 */ cmpwi r29, 0x10
+/* 8029C60C 0029826C 40 81 FF 58 */ ble lbl_8029C564
+/* 8029C610 00298270 81 0D AD 08 */ lwz r8, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C614 00298274 3B 60 00 00 */ li r27, 0
+/* 8029C618 00298278 3B A0 00 00 */ li r29, 0
+/* 8029C61C 0029827C 7C 08 E1 AE */ stbx r0, r8, r28
+/* 8029C620 00298280 83 CD AD 08 */ lwz r30, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C624 00298284 8B 9E 00 00 */ lbz r28, 0(r30)
+/* 8029C628 00298288 48 00 00 3C */ b lbl_8029C664
+lbl_8029C62C:
+/* 8029C62C 0029828C 57 9F 06 3E */ clrlwi r31, r28, 0x18
+/* 8029C630 00298290 48 00 00 18 */ b lbl_8029C648
+lbl_8029C634:
+/* 8029C634 00298294 83 CD AD 04 */ lwz r30, lbl_8063FFC4-_SDA_BASE_(r13)
+/* 8029C638 00298298 57 68 0B FC */ rlwinm r8, r27, 1, 0xf, 0x1e
+/* 8029C63C 0029829C 3B 7B 00 01 */ addi r27, r27, 1
+/* 8029C640 002982A0 7F BE 43 2E */ sthx r29, r30, r8
+/* 8029C644 002982A4 3B BD 00 01 */ addi r29, r29, 1
+lbl_8029C648:
+/* 8029C648 002982A8 83 CD AD 08 */ lwz r30, lbl_8063FFC8-_SDA_BASE_(r13)
+/* 8029C64C 002982AC 57 68 04 3E */ clrlwi r8, r27, 0x10
+/* 8029C650 002982B0 7D 1E 40 AE */ lbzx r8, r30, r8
+/* 8029C654 002982B4 7C 1F 40 40 */ cmplw r31, r8
+/* 8029C658 002982B8 41 82 FF DC */ beq lbl_8029C634
+/* 8029C65C 002982BC 57 BD 0C 3C */ rlwinm r29, r29, 1, 0x10, 0x1e
+/* 8029C660 002982C0 3B 9C 00 01 */ addi r28, r28, 1
+lbl_8029C664:
+/* 8029C664 002982C4 57 68 04 3E */ clrlwi r8, r27, 0x10
+/* 8029C668 002982C8 7D 1E 40 AE */ lbzx r8, r30, r8
+/* 8029C66C 002982CC 2C 08 00 00 */ cmpwi r8, 0
+/* 8029C670 002982D0 40 82 FF BC */ bne lbl_8029C62C
+/* 8029C674 002982D4 81 0D AC A4 */ lwz r8, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C678 002982D8 3B 80 00 00 */ li r28, 0
+/* 8029C67C 002982DC 3B 60 00 01 */ li r27, 1
+/* 8029C680 002982E0 7F E8 1A 14 */ add r31, r8, r3
+/* 8029C684 002982E4 3B BF 03 04 */ addi r29, r31, 0x304
+/* 8029C688 002982E8 7D 29 03 A6 */ mtctr r9
+lbl_8029C68C:
+/* 8029C68C 002982EC 80 6D AD 0C */ lwz r3, lbl_8063FFCC-_SDA_BASE_(r13)
+/* 8029C690 002982F0 7C 63 DA 14 */ add r3, r3, r27
+/* 8029C694 002982F4 88 63 FF FF */ lbz r3, -1(r3)
+/* 8029C698 002982F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8029C69C 002982FC 41 82 00 40 */ beq lbl_8029C6DC
+/* 8029C6A0 00298300 81 0D AD 04 */ lwz r8, lbl_8063FFC4-_SDA_BASE_(r13)
+/* 8029C6A4 00298304 57 83 08 3C */ slwi r3, r28, 1
+/* 8029C6A8 00298308 7C 68 1A 2E */ lhzx r3, r8, r3
+/* 8029C6AC 0029830C 7C 63 E0 50 */ subf r3, r3, r28
+/* 8029C6B0 00298310 90 7D 00 8C */ stw r3, 0x8c(r29)
+/* 8029C6B4 00298314 80 6D AD 0C */ lwz r3, lbl_8063FFCC-_SDA_BASE_(r13)
+/* 8029C6B8 00298318 81 0D AD 04 */ lwz r8, lbl_8063FFC4-_SDA_BASE_(r13)
+/* 8029C6BC 0029831C 7C 63 DA 14 */ add r3, r3, r27
+/* 8029C6C0 00298320 88 63 FF FF */ lbz r3, -1(r3)
+/* 8029C6C4 00298324 7F 9C 1A 14 */ add r28, r28, r3
+/* 8029C6C8 00298328 57 83 08 3C */ slwi r3, r28, 1
+/* 8029C6CC 0029832C 7C 68 1A 14 */ add r3, r8, r3
+/* 8029C6D0 00298330 A0 63 FF FE */ lhz r3, -2(r3)
+/* 8029C6D4 00298334 90 7D 00 44 */ stw r3, 0x44(r29)
+/* 8029C6D8 00298338 48 00 00 0C */ b lbl_8029C6E4
+lbl_8029C6DC:
+/* 8029C6DC 0029833C 91 9D 00 44 */ stw r12, 0x44(r29)
+/* 8029C6E0 00298340 91 9D 00 8C */ stw r12, 0x8c(r29)
+lbl_8029C6E4:
+/* 8029C6E4 00298344 80 6D AD 0C */ lwz r3, lbl_8063FFCC-_SDA_BASE_(r13)
+/* 8029C6E8 00298348 3B 7B 00 01 */ addi r27, r27, 1
+/* 8029C6EC 0029834C 7C 63 DA 14 */ add r3, r3, r27
+/* 8029C6F0 00298350 88 63 FF FF */ lbz r3, -1(r3)
+/* 8029C6F4 00298354 2C 03 00 00 */ cmpwi r3, 0
+/* 8029C6F8 00298358 41 82 00 40 */ beq lbl_8029C738
+/* 8029C6FC 0029835C 81 0D AD 04 */ lwz r8, lbl_8063FFC4-_SDA_BASE_(r13)
+/* 8029C700 00298360 57 83 08 3C */ slwi r3, r28, 1
+/* 8029C704 00298364 7C 68 1A 2E */ lhzx r3, r8, r3
+/* 8029C708 00298368 7C 63 E0 50 */ subf r3, r3, r28
+/* 8029C70C 0029836C 90 7D 00 90 */ stw r3, 0x90(r29)
+/* 8029C710 00298370 80 6D AD 0C */ lwz r3, lbl_8063FFCC-_SDA_BASE_(r13)
+/* 8029C714 00298374 81 0D AD 04 */ lwz r8, lbl_8063FFC4-_SDA_BASE_(r13)
+/* 8029C718 00298378 7C 63 DA 14 */ add r3, r3, r27
+/* 8029C71C 0029837C 88 63 FF FF */ lbz r3, -1(r3)
+/* 8029C720 00298380 7F 9C 1A 14 */ add r28, r28, r3
+/* 8029C724 00298384 57 83 08 3C */ slwi r3, r28, 1
+/* 8029C728 00298388 7C 68 1A 14 */ add r3, r8, r3
+/* 8029C72C 0029838C A0 63 FF FE */ lhz r3, -2(r3)
+/* 8029C730 00298390 90 7D 00 48 */ stw r3, 0x48(r29)
+/* 8029C734 00298394 48 00 00 0C */ b lbl_8029C740
+lbl_8029C738:
+/* 8029C738 00298398 91 9D 00 48 */ stw r12, 0x48(r29)
+/* 8029C73C 0029839C 91 9D 00 90 */ stw r12, 0x90(r29)
+lbl_8029C740:
+/* 8029C740 002983A0 3B BD 00 08 */ addi r29, r29, 8
+/* 8029C744 002983A4 3B 7B 00 01 */ addi r27, r27, 1
+/* 8029C748 002983A8 42 00 FF 44 */ bdnz lbl_8029C68C
+/* 8029C74C 002983AC 91 7F 03 88 */ stw r11, 0x388(r31)
+/* 8029C750 002983B0 38 66 00 11 */ addi r3, r6, 0x11
+/* 8029C754 002983B4 7C 63 28 50 */ subf r3, r3, r5
+/* 8029C758 002983B8 7D 44 20 30 */ slw r4, r10, r4
+/* 8029C75C 002983BC 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C760 002983C0 54 65 04 3F */ clrlwi. r5, r3, 0x10
+/* 8029C764 002983C4 88 66 06 A8 */ lbz r3, 0x6a8(r6)
+/* 8029C768 002983C8 7C 63 23 78 */ or r3, r3, r4
+/* 8029C76C 002983CC 98 66 06 A8 */ stb r3, 0x6a8(r6)
+/* 8029C770 002983D0 40 82 FC C0 */ bne lbl_8029C430
+/* 8029C774 002983D4 39 61 00 20 */ addi r11, r1, 0x20
+/* 8029C778 002983D8 38 60 00 00 */ li r3, 0
+/* 8029C77C 002983DC 4B F2 A9 F9 */ bl _restgpr_27
+/* 8029C780 002983E0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8029C784 002983E4 7C 08 03 A6 */ mtlr r0
+/* 8029C788 002983E8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029C78C 002983EC 4E 80 00 20 */ blr
+
+.global __THPPrepBitStream
+__THPPrepBitStream:
+/* 8029C790 002983F0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029C794 002983F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029C798 002983F8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8029C79C 002983FC 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C7A0 00298400 80 64 06 A4 */ lwz r3, 0x6a4(r4)
+/* 8029C7A4 00298404 80 04 06 9C */ lwz r0, 0x69c(r4)
+/* 8029C7A8 00298408 28 03 00 21 */ cmplwi r3, 0x21
+/* 8029C7AC 0029840C 54 06 00 3A */ rlwinm r6, r0, 0, 0, 0x1d
+/* 8029C7B0 00298410 54 00 07 BE */ clrlwi r0, r0, 0x1e
+/* 8029C7B4 00298414 41 82 00 18 */ beq lbl_8029C7CC
+/* 8029C7B8 00298418 20 00 00 03 */ subfic r0, r0, 3
+/* 8029C7BC 0029841C 54 00 18 38 */ slwi r0, r0, 3
+/* 8029C7C0 00298420 7C 00 18 50 */ subf r0, r0, r3
+/* 8029C7C4 00298424 90 04 06 A4 */ stw r0, 0x6a4(r4)
+/* 8029C7C8 00298428 48 00 00 10 */ b lbl_8029C7D8
+lbl_8029C7CC:
+/* 8029C7CC 0029842C 54 03 18 38 */ slwi r3, r0, 3
+/* 8029C7D0 00298430 38 03 00 01 */ addi r0, r3, 1
+/* 8029C7D4 00298434 90 04 06 A4 */ stw r0, 0x6a4(r4)
+lbl_8029C7D8:
+/* 8029C7D8 00298438 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C7DC 0029843C 38 60 00 00 */ li r3, 0
+/* 8029C7E0 00298440 38 80 00 00 */ li r4, 0
+/* 8029C7E4 00298444 39 40 00 FF */ li r10, 0xff
+/* 8029C7E8 00298448 90 C5 06 9C */ stw r6, 0x69c(r5)
+/* 8029C7EC 0029844C 39 60 00 01 */ li r11, 1
+/* 8029C7F0 00298450 38 00 00 10 */ li r0, 0x10
+/* 8029C7F4 00298454 80 C6 00 00 */ lwz r6, 0(r6)
+/* 8029C7F8 00298458 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C7FC 0029845C 90 C5 06 A0 */ stw r6, 0x6a0(r5)
+lbl_8029C800:
+/* 8029C800 00298460 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C804 00298464 7D 65 18 30 */ slw r5, r11, r3
+/* 8029C808 00298468 88 C6 06 A8 */ lbz r6, 0x6a8(r6)
+/* 8029C80C 0029846C 7C C5 28 39 */ and. r5, r6, r5
+/* 8029C810 00298470 41 82 01 08 */ beq lbl_8029C918
+/* 8029C814 00298474 39 80 00 00 */ li r12, 0
+/* 8029C818 00298478 7C 09 03 A6 */ mtctr r0
+lbl_8029C81C:
+/* 8029C81C 0029847C 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C820 00298480 3B E0 00 00 */ li r31, 0
+/* 8029C824 00298484 7C A5 22 14 */ add r5, r5, r4
+/* 8029C828 00298488 7C A5 62 14 */ add r5, r5, r12
+/* 8029C82C 0029848C 99 45 03 00 */ stb r10, 0x300(r5)
+/* 8029C830 00298490 48 00 00 5C */ b lbl_8029C88C
+lbl_8029C834:
+/* 8029C834 00298494 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C838 00298498 20 DF 00 04 */ subfic r6, r31, 4
+/* 8029C83C 0029849C 39 1F 00 01 */ addi r8, r31, 1
+/* 8029C840 002984A0 7D 25 22 14 */ add r9, r5, r4
+/* 8029C844 002984A4 7D 9E 34 30 */ srw r30, r12, r6
+/* 8029C848 002984A8 55 05 10 3A */ slwi r5, r8, 2
+/* 8029C84C 002984AC 7C E9 2A 14 */ add r7, r9, r5
+/* 8029C850 002984B0 80 A7 03 44 */ lwz r5, 0x344(r7)
+/* 8029C854 002984B4 7C 1E 28 00 */ cmpw r30, r5
+/* 8029C858 002984B8 41 81 00 30 */ bgt lbl_8029C888
+/* 8029C85C 002984BC 80 C9 03 40 */ lwz r6, 0x340(r9)
+/* 8029C860 002984C0 7C A9 62 14 */ add r5, r9, r12
+/* 8029C864 002984C4 80 E7 03 8C */ lwz r7, 0x38c(r7)
+/* 8029C868 002984C8 3B E0 00 63 */ li r31, 0x63
+/* 8029C86C 002984CC 7C C6 F2 14 */ add r6, r6, r30
+/* 8029C870 002984D0 7C C7 30 AE */ lbzx r6, r7, r6
+/* 8029C874 002984D4 98 C5 03 00 */ stb r6, 0x300(r5)
+/* 8029C878 002984D8 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C87C 002984DC 7C A5 22 14 */ add r5, r5, r4
+/* 8029C880 002984E0 7C A5 62 14 */ add r5, r5, r12
+/* 8029C884 002984E4 99 05 03 20 */ stb r8, 0x320(r5)
+lbl_8029C888:
+/* 8029C888 002984E8 3B FF 00 01 */ addi r31, r31, 1
+lbl_8029C88C:
+/* 8029C88C 002984EC 28 1F 00 05 */ cmplwi r31, 5
+/* 8029C890 002984F0 41 80 FF A4 */ blt lbl_8029C834
+/* 8029C894 002984F4 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C898 002984F8 39 8C 00 01 */ addi r12, r12, 1
+/* 8029C89C 002984FC 3B E0 00 00 */ li r31, 0
+/* 8029C8A0 00298500 7C A5 22 14 */ add r5, r5, r4
+/* 8029C8A4 00298504 7C A5 62 14 */ add r5, r5, r12
+/* 8029C8A8 00298508 99 45 03 00 */ stb r10, 0x300(r5)
+/* 8029C8AC 0029850C 48 00 00 5C */ b lbl_8029C908
+lbl_8029C8B0:
+/* 8029C8B0 00298510 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C8B4 00298514 20 DF 00 04 */ subfic r6, r31, 4
+/* 8029C8B8 00298518 39 1F 00 01 */ addi r8, r31, 1
+/* 8029C8BC 0029851C 7D 25 22 14 */ add r9, r5, r4
+/* 8029C8C0 00298520 7D 9E 34 30 */ srw r30, r12, r6
+/* 8029C8C4 00298524 55 05 10 3A */ slwi r5, r8, 2
+/* 8029C8C8 00298528 7C E9 2A 14 */ add r7, r9, r5
+/* 8029C8CC 0029852C 80 A7 03 44 */ lwz r5, 0x344(r7)
+/* 8029C8D0 00298530 7C 1E 28 00 */ cmpw r30, r5
+/* 8029C8D4 00298534 41 81 00 30 */ bgt lbl_8029C904
+/* 8029C8D8 00298538 80 C9 03 40 */ lwz r6, 0x340(r9)
+/* 8029C8DC 0029853C 7C A9 62 14 */ add r5, r9, r12
+/* 8029C8E0 00298540 80 E7 03 8C */ lwz r7, 0x38c(r7)
+/* 8029C8E4 00298544 3B E0 00 63 */ li r31, 0x63
+/* 8029C8E8 00298548 7C C6 F2 14 */ add r6, r6, r30
+/* 8029C8EC 0029854C 7C C7 30 AE */ lbzx r6, r7, r6
+/* 8029C8F0 00298550 98 C5 03 00 */ stb r6, 0x300(r5)
+/* 8029C8F4 00298554 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C8F8 00298558 7C A5 22 14 */ add r5, r5, r4
+/* 8029C8FC 0029855C 7C A5 62 14 */ add r5, r5, r12
+/* 8029C900 00298560 99 05 03 20 */ stb r8, 0x320(r5)
+lbl_8029C904:
+/* 8029C904 00298564 3B FF 00 01 */ addi r31, r31, 1
+lbl_8029C908:
+/* 8029C908 00298568 28 1F 00 05 */ cmplwi r31, 5
+/* 8029C90C 0029856C 41 80 FF A4 */ blt lbl_8029C8B0
+/* 8029C910 00298570 39 8C 00 01 */ addi r12, r12, 1
+/* 8029C914 00298574 42 00 FF 08 */ bdnz lbl_8029C81C
+lbl_8029C918:
+/* 8029C918 00298578 38 63 00 01 */ addi r3, r3, 1
+/* 8029C91C 0029857C 38 84 00 E0 */ addi r4, r4, 0xe0
+/* 8029C920 00298580 28 03 00 04 */ cmplwi r3, 4
+/* 8029C924 00298584 41 80 FE DC */ blt lbl_8029C800
+/* 8029C928 00298588 81 0D AC A4 */ lwz r8, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C92C 0029858C 88 88 06 82 */ lbz r4, 0x682(r8)
+/* 8029C930 00298590 88 E8 06 81 */ lbz r7, 0x681(r8)
+/* 8029C934 00298594 88 C8 06 87 */ lbz r6, 0x687(r8)
+/* 8029C938 00298598 54 85 08 3C */ slwi r5, r4, 1
+/* 8029C93C 0029859C 88 68 06 88 */ lbz r3, 0x688(r8)
+/* 8029C940 002985A0 54 E7 08 3C */ slwi r7, r7, 1
+/* 8029C944 002985A4 88 08 06 8E */ lbz r0, 0x68e(r8)
+/* 8029C948 002985A8 54 C6 08 3C */ slwi r6, r6, 1
+/* 8029C94C 002985AC 54 64 08 3C */ slwi r4, r3, 1
+/* 8029C950 002985B0 39 25 00 01 */ addi r9, r5, 1
+/* 8029C954 002985B4 54 03 08 3C */ slwi r3, r0, 1
+/* 8029C958 002985B8 88 08 06 8D */ lbz r0, 0x68d(r8)
+/* 8029C95C 002985BC 39 63 00 01 */ addi r11, r3, 1
+/* 8029C960 002985C0 39 44 00 01 */ addi r10, r4, 1
+/* 8029C964 002985C4 1C 67 00 E0 */ mulli r3, r7, 0xe0
+/* 8029C968 002985C8 54 05 08 3C */ slwi r5, r0, 1
+/* 8029C96C 002985CC 7C 88 1A 14 */ add r4, r8, r3
+/* 8029C970 002985D0 1C 65 00 E0 */ mulli r3, r5, 0xe0
+/* 8029C974 002985D4 38 A4 03 00 */ addi r5, r4, 0x300
+/* 8029C978 002985D8 90 AD AD C0 */ stw r5, lbl_80640080-_SDA_BASE_(r13)
+/* 8029C97C 002985DC 1C 06 00 E0 */ mulli r0, r6, 0xe0
+/* 8029C980 002985E0 7C 88 02 14 */ add r4, r8, r0
+/* 8029C984 002985E4 38 A4 03 00 */ addi r5, r4, 0x300
+/* 8029C988 002985E8 7C 88 1A 14 */ add r4, r8, r3
+/* 8029C98C 002985EC 90 AD AD A0 */ stw r5, lbl_80640060-_SDA_BASE_(r13)
+/* 8029C990 002985F0 38 A4 03 00 */ addi r5, r4, 0x300
+/* 8029C994 002985F4 1C 09 00 E0 */ mulli r0, r9, 0xe0
+/* 8029C998 002985F8 90 AD AD 80 */ stw r5, lbl_80640040-_SDA_BASE_(r13)
+/* 8029C99C 002985FC 7C 88 02 14 */ add r4, r8, r0
+/* 8029C9A0 00298600 38 A4 03 00 */ addi r5, r4, 0x300
+/* 8029C9A4 00298604 1C 6A 00 E0 */ mulli r3, r10, 0xe0
+/* 8029C9A8 00298608 90 AD AD 60 */ stw r5, lbl_80640020-_SDA_BASE_(r13)
+/* 8029C9AC 0029860C 7C 88 1A 14 */ add r4, r8, r3
+/* 8029C9B0 00298610 1C 0B 00 E0 */ mulli r0, r11, 0xe0
+/* 8029C9B4 00298614 38 84 03 00 */ addi r4, r4, 0x300
+/* 8029C9B8 00298618 90 8D AD 40 */ stw r4, lbl_80640000-_SDA_BASE_(r13)
+/* 8029C9BC 0029861C 7C 68 02 14 */ add r3, r8, r0
+/* 8029C9C0 00298620 38 03 03 00 */ addi r0, r3, 0x300
+/* 8029C9C4 00298624 90 0D AD 20 */ stw r0, lbl_8063FFE0-_SDA_BASE_(r13)
+/* 8029C9C8 00298628 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029C9CC 0029862C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8029C9D0 00298630 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029C9D4 00298634 4E 80 00 20 */ blr
+
+.global __THPDecompressYUV
+__THPDecompressYUV:
+/* 8029C9D8 00298638 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029C9DC 0029863C 7C 08 02 A6 */ mflr r0
+/* 8029C9E0 00298640 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029C9E4 00298644 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029C9E8 00298648 93 C1 00 08 */ stw r30, 8(r1)
+/* 8029C9EC 0029864C 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C9F0 00298650 90 66 06 B0 */ stw r3, 0x6b0(r6)
+/* 8029C9F4 00298654 80 CD AC A4 */ lwz r6, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029C9F8 00298658 90 86 06 B4 */ stw r4, 0x6b4(r6)
+/* 8029C9FC 0029865C 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CA00 00298660 90 A4 06 B8 */ stw r5, 0x6b8(r4)
+/* 8029CA04 00298664 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CA08 00298668 A3 E4 06 98 */ lhz r31, 0x698(r4)
+/* 8029CA0C 0029866C A3 C4 06 94 */ lhz r30, 0x694(r4)
+/* 8029CA10 00298670 7C 95 E2 A6 */ mfspr r4, 0x395
+/* 8029CA14 00298674 7C 16 E2 A6 */ mfspr r0, 0x396
+/* 8029CA18 00298678 38 60 00 07 */ li r3, 7
+/* 8029CA1C 0029867C 64 63 00 07 */ oris r3, r3, 7
+/* 8029CA20 00298680 90 8D AC B0 */ stw r4, lbl_8063FF70-_SDA_BASE_(r13)
+/* 8029CA24 00298684 90 0D AC AC */ stw r0, lbl_8063FF6C-_SDA_BASE_(r13)
+/* 8029CA28 00298688 7C 75 E3 A6 */ mtspr 0x395, r3
+/* 8029CA2C 0029868C 38 60 3D 04 */ li r3, 0x3d04
+/* 8029CA30 00298690 64 63 3D 04 */ oris r3, r3, 0x3d04
+/* 8029CA34 00298694 7C 76 E3 A6 */ mtspr 0x396, r3
+/* 8029CA38 00298698 4B FF FD 59 */ bl __THPPrepBitStream
+/* 8029CA3C 0029869C 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CA40 002986A0 A0 04 06 92 */ lhz r0, 0x692(r4)
+/* 8029CA44 002986A4 28 00 02 00 */ cmplwi r0, 0x200
+/* 8029CA48 002986A8 40 82 00 28 */ bne lbl_8029CA70
+/* 8029CA4C 002986AC 28 1E 01 C0 */ cmplwi r30, 0x1c0
+/* 8029CA50 002986B0 40 82 00 20 */ bne lbl_8029CA70
+/* 8029CA54 002986B4 48 00 00 10 */ b lbl_8029CA64
+lbl_8029CA58:
+/* 8029CA58 002986B8 48 00 00 85 */ bl __THPDecompressiMCURow512x448
+/* 8029CA5C 002986BC 38 1F 00 10 */ addi r0, r31, 0x10
+/* 8029CA60 002986C0 54 1F 04 3E */ clrlwi r31, r0, 0x10
+lbl_8029CA64:
+/* 8029CA64 002986C4 7C 1F F0 40 */ cmplw r31, r30
+/* 8029CA68 002986C8 41 80 FF F0 */ blt lbl_8029CA58
+/* 8029CA6C 002986CC 48 00 00 48 */ b lbl_8029CAB4
+lbl_8029CA70:
+/* 8029CA70 002986D0 28 00 02 80 */ cmplwi r0, 0x280
+/* 8029CA74 002986D4 40 82 00 38 */ bne lbl_8029CAAC
+/* 8029CA78 002986D8 28 1E 01 E0 */ cmplwi r30, 0x1e0
+/* 8029CA7C 002986DC 40 82 00 30 */ bne lbl_8029CAAC
+/* 8029CA80 002986E0 48 00 00 10 */ b lbl_8029CA90
+lbl_8029CA84:
+/* 8029CA84 002986E4 48 00 0B C5 */ bl __THPDecompressiMCURow640x480
+/* 8029CA88 002986E8 38 1F 00 10 */ addi r0, r31, 0x10
+/* 8029CA8C 002986EC 54 1F 04 3E */ clrlwi r31, r0, 0x10
+lbl_8029CA90:
+/* 8029CA90 002986F0 7C 1F F0 40 */ cmplw r31, r30
+/* 8029CA94 002986F4 41 80 FF F0 */ blt lbl_8029CA84
+/* 8029CA98 002986F8 48 00 00 1C */ b lbl_8029CAB4
+/* 8029CA9C 002986FC 48 00 00 10 */ b lbl_8029CAAC
+lbl_8029CAA0:
+/* 8029CAA0 00298700 48 00 0D F9 */ bl __THPDecompressiMCURowNxN
+/* 8029CAA4 00298704 38 1F 00 10 */ addi r0, r31, 0x10
+/* 8029CAA8 00298708 54 1F 04 3E */ clrlwi r31, r0, 0x10
+lbl_8029CAAC:
+/* 8029CAAC 0029870C 7C 1F F0 40 */ cmplw r31, r30
+/* 8029CAB0 00298710 41 80 FF F0 */ blt lbl_8029CAA0
+lbl_8029CAB4:
+/* 8029CAB4 00298714 80 8D AC B0 */ lwz r4, lbl_8063FF70-_SDA_BASE_(r13)
+/* 8029CAB8 00298718 80 0D AC AC */ lwz r0, lbl_8063FF6C-_SDA_BASE_(r13)
+/* 8029CABC 0029871C 7C 95 E3 A6 */ mtspr 0x395, r4
+/* 8029CAC0 00298720 7C 16 E3 A6 */ mtspr 0x396, r0
+/* 8029CAC4 00298724 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029CAC8 00298728 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029CACC 0029872C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8029CAD0 00298730 7C 08 03 A6 */ mtlr r0
+/* 8029CAD4 00298734 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029CAD8 00298738 4E 80 00 20 */ blr
+
+.global __THPDecompressiMCURow512x448
+__THPDecompressiMCURow512x448:
+/* 8029CADC 0029873C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8029CAE0 00298740 7C 08 02 A6 */ mflr r0
+/* 8029CAE4 00298744 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8029CAE8 00298748 39 61 00 30 */ addi r11, r1, 0x30
+/* 8029CAEC 0029874C 4B F2 A6 29 */ bl _savegpr_22
+/* 8029CAF0 00298750 38 60 00 03 */ li r3, 3
+/* 8029CAF4 00298754 4B FC DE 8D */ bl LCQueueWait
+/* 8029CAF8 00298758 3F 40 80 53 */ lis r26, lbl_80535580@ha
+/* 8029CAFC 0029875C 3F 80 80 53 */ lis r28, lbl_80535598@ha
+/* 8029CB00 00298760 3B 7A 55 80 */ addi r27, r26, lbl_80535580@l
+/* 8029CB04 00298764 3B 20 00 00 */ li r25, 0
+/* 8029CB08 00298768 3B DC 55 98 */ addi r30, r28, lbl_80535598@l
+/* 8029CB0C 0029876C 3B A0 02 00 */ li r29, 0x200
+/* 8029CB10 00298770 3B E0 01 00 */ li r31, 0x100
+/* 8029CB14 00298774 3A C0 00 21 */ li r22, 0x21
+/* 8029CB18 00298778 3A E0 00 00 */ li r23, 0
+/* 8029CB1C 0029877C 48 00 01 70 */ b lbl_8029CC8C
+lbl_8029CB20:
+/* 8029CB20 00298780 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB24 00298784 80 9A 55 80 */ lwz r4, 0x5580(r26)
+/* 8029CB28 00298788 48 00 0F CD */ bl __THPHuffDecodeDCTCompY
+/* 8029CB2C 0029878C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB30 00298790 80 9B 00 04 */ lwz r4, 4(r27)
+/* 8029CB34 00298794 48 00 0F C1 */ bl __THPHuffDecodeDCTCompY
+/* 8029CB38 00298798 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB3C 0029879C 80 9B 00 08 */ lwz r4, 8(r27)
+/* 8029CB40 002987A0 48 00 0F B5 */ bl __THPHuffDecodeDCTCompY
+/* 8029CB44 002987A4 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB48 002987A8 80 9B 00 0C */ lwz r4, 0xc(r27)
+/* 8029CB4C 002987AC 48 00 0F A9 */ bl __THPHuffDecodeDCTCompY
+/* 8029CB50 002987B0 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB54 002987B4 80 9B 00 10 */ lwz r4, 0x10(r27)
+/* 8029CB58 002987B8 48 00 15 F9 */ bl __THPHuffDecodeDCTCompU
+/* 8029CB5C 002987BC 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB60 002987C0 80 9B 00 14 */ lwz r4, 0x14(r27)
+/* 8029CB64 002987C4 48 00 1C 75 */ bl __THPHuffDecodeDCTCompV
+/* 8029CB68 002987C8 80 1C 55 98 */ lwz r0, 0x5598(r28)
+/* 8029CB6C 002987CC 57 38 25 36 */ rlwinm r24, r25, 4, 0x14, 0x1b
+/* 8029CB70 002987D0 93 AD AC E0 */ stw r29, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029CB74 002987D4 7F 04 C3 78 */ mr r4, r24
+/* 8029CB78 002987D8 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CB7C 002987DC 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029CB80 002987E0 80 7A 55 80 */ lwz r3, 0x5580(r26)
+/* 8029CB84 002987E4 88 05 06 80 */ lbz r0, 0x680(r5)
+/* 8029CB88 002987E8 54 00 40 2E */ slwi r0, r0, 8
+/* 8029CB8C 002987EC 7C 05 02 14 */ add r0, r5, r0
+/* 8029CB90 002987F0 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029CB94 002987F4 48 00 01 95 */ bl __THPInverseDCTNoYPos
+/* 8029CB98 002987F8 80 7B 00 04 */ lwz r3, 4(r27)
+/* 8029CB9C 002987FC 38 98 00 08 */ addi r4, r24, 8
+/* 8029CBA0 00298800 48 00 01 89 */ bl __THPInverseDCTNoYPos
+/* 8029CBA4 00298804 80 7B 00 08 */ lwz r3, 8(r27)
+/* 8029CBA8 00298808 7F 04 C3 78 */ mr r4, r24
+/* 8029CBAC 0029880C 48 00 06 09 */ bl __THPInverseDCTY8
+/* 8029CBB0 00298810 80 7B 00 0C */ lwz r3, 0xc(r27)
+/* 8029CBB4 00298814 38 98 00 08 */ addi r4, r24, 8
+/* 8029CBB8 00298818 48 00 05 FD */ bl __THPInverseDCTY8
+/* 8029CBBC 0029881C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 8029CBC0 00298820 57 18 F8 7E */ srwi r24, r24, 1
+/* 8029CBC4 00298824 93 ED AC E0 */ stw r31, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029CBC8 00298828 7F 04 C3 78 */ mr r4, r24
+/* 8029CBCC 0029882C 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CBD0 00298830 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029CBD4 00298834 80 7B 00 10 */ lwz r3, 0x10(r27)
+/* 8029CBD8 00298838 88 05 06 86 */ lbz r0, 0x686(r5)
+/* 8029CBDC 0029883C 54 00 40 2E */ slwi r0, r0, 8
+/* 8029CBE0 00298840 7C 05 02 14 */ add r0, r5, r0
+/* 8029CBE4 00298844 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029CBE8 00298848 48 00 01 41 */ bl __THPInverseDCTNoYPos
+/* 8029CBEC 0029884C 80 1E 00 08 */ lwz r0, 8(r30)
+/* 8029CBF0 00298850 7F 04 C3 78 */ mr r4, r24
+/* 8029CBF4 00298854 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CBF8 00298858 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029CBFC 0029885C 80 7B 00 14 */ lwz r3, 0x14(r27)
+/* 8029CC00 00298860 88 05 06 8C */ lbz r0, 0x68c(r5)
+/* 8029CC04 00298864 54 00 40 2E */ slwi r0, r0, 8
+/* 8029CC08 00298868 7C 05 02 14 */ add r0, r5, r0
+/* 8029CC0C 0029886C 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029CC10 00298870 48 00 01 19 */ bl __THPInverseDCTNoYPos
+/* 8029CC14 00298874 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC18 00298878 88 04 06 A9 */ lbz r0, 0x6a9(r4)
+/* 8029CC1C 0029887C 2C 00 00 00 */ cmpwi r0, 0
+/* 8029CC20 00298880 41 82 00 68 */ beq lbl_8029CC88
+/* 8029CC24 00298884 A0 64 06 AC */ lhz r3, 0x6ac(r4)
+/* 8029CC28 00298888 38 63 FF FF */ addi r3, r3, -1
+/* 8029CC2C 0029888C 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 8029CC30 00298890 B0 64 06 AC */ sth r3, 0x6ac(r4)
+/* 8029CC34 00298894 40 82 00 54 */ bne lbl_8029CC88
+/* 8029CC38 00298898 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC3C 0029889C A0 03 06 AA */ lhz r0, 0x6aa(r3)
+/* 8029CC40 002988A0 B0 03 06 AC */ sth r0, 0x6ac(r3)
+/* 8029CC44 002988A4 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC48 002988A8 80 64 06 A4 */ lwz r3, 0x6a4(r4)
+/* 8029CC4C 002988AC 38 03 00 06 */ addi r0, r3, 6
+/* 8029CC50 002988B0 54 03 00 38 */ rlwinm r3, r0, 0, 0, 0x1c
+/* 8029CC54 002988B4 38 03 00 01 */ addi r0, r3, 1
+/* 8029CC58 002988B8 90 04 06 A4 */ stw r0, 0x6a4(r4)
+/* 8029CC5C 002988BC 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC60 002988C0 80 03 06 A4 */ lwz r0, 0x6a4(r3)
+/* 8029CC64 002988C4 28 00 00 21 */ cmplwi r0, 0x21
+/* 8029CC68 002988C8 40 81 00 08 */ ble lbl_8029CC70
+/* 8029CC6C 002988CC 92 C3 06 A4 */ stw r22, 0x6a4(r3)
+lbl_8029CC70:
+/* 8029CC70 002988D0 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC74 002988D4 B2 E3 06 84 */ sth r23, 0x684(r3)
+/* 8029CC78 002988D8 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC7C 002988DC B2 E3 06 8A */ sth r23, 0x68a(r3)
+/* 8029CC80 002988E0 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC84 002988E4 B2 E3 06 90 */ sth r23, 0x690(r3)
+lbl_8029CC88:
+/* 8029CC88 002988E8 3B 39 00 01 */ addi r25, r25, 1
+lbl_8029CC8C:
+/* 8029CC8C 002988EC 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CC90 002988F0 57 24 06 3E */ clrlwi r4, r25, 0x18
+/* 8029CC94 002988F4 A0 03 06 96 */ lhz r0, 0x696(r3)
+/* 8029CC98 002988F8 7C 04 00 00 */ cmpw r4, r0
+/* 8029CC9C 002988FC 41 80 FE 84 */ blt lbl_8029CB20
+/* 8029CCA0 00298900 3F 00 80 53 */ lis r24, lbl_80535598@ha
+/* 8029CCA4 00298904 80 63 06 B0 */ lwz r3, 0x6b0(r3)
+/* 8029CCA8 00298908 80 98 55 98 */ lwz r4, lbl_80535598@l(r24)
+/* 8029CCAC 0029890C 38 A0 20 00 */ li r5, 0x2000
+/* 8029CCB0 00298910 4B FC DC 31 */ bl LCStoreData
+/* 8029CCB4 00298914 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CCB8 00298918 3B 18 55 98 */ addi r24, r24, 0x5598
+/* 8029CCBC 0029891C 80 98 00 04 */ lwz r4, 4(r24)
+/* 8029CCC0 00298920 38 A0 08 00 */ li r5, 0x800
+/* 8029CCC4 00298924 80 63 06 B4 */ lwz r3, 0x6b4(r3)
+/* 8029CCC8 00298928 4B FC DC 19 */ bl LCStoreData
+/* 8029CCCC 0029892C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CCD0 00298930 38 A0 08 00 */ li r5, 0x800
+/* 8029CCD4 00298934 80 98 00 08 */ lwz r4, 8(r24)
+/* 8029CCD8 00298938 80 63 06 B8 */ lwz r3, 0x6b8(r3)
+/* 8029CCDC 0029893C 4B FC DC 05 */ bl LCStoreData
+/* 8029CCE0 00298940 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CCE4 00298944 39 61 00 30 */ addi r11, r1, 0x30
+/* 8029CCE8 00298948 80 64 06 B0 */ lwz r3, 0x6b0(r4)
+/* 8029CCEC 0029894C 38 03 20 00 */ addi r0, r3, 0x2000
+/* 8029CCF0 00298950 90 04 06 B0 */ stw r0, 0x6b0(r4)
+/* 8029CCF4 00298954 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CCF8 00298958 80 64 06 B4 */ lwz r3, 0x6b4(r4)
+/* 8029CCFC 0029895C 38 03 08 00 */ addi r0, r3, 0x800
+/* 8029CD00 00298960 90 04 06 B4 */ stw r0, 0x6b4(r4)
+/* 8029CD04 00298964 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029CD08 00298968 80 64 06 B8 */ lwz r3, 0x6b8(r4)
+/* 8029CD0C 0029896C 38 03 08 00 */ addi r0, r3, 0x800
+/* 8029CD10 00298970 90 04 06 B8 */ stw r0, 0x6b8(r4)
+/* 8029CD14 00298974 4B F2 A4 4D */ bl _restgpr_22
+/* 8029CD18 00298978 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8029CD1C 0029897C 7C 08 03 A6 */ mtlr r0
+/* 8029CD20 00298980 38 21 00 30 */ addi r1, r1, 0x30
+/* 8029CD24 00298984 4E 80 00 20 */ blr
+
+.global __THPInverseDCTNoYPos
+__THPInverseDCTNoYPos:
+/* 8029CD28 00298988 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 8029CD2C 0029898C DB E1 00 70 */ stfd f31, 0x70(r1)
+/* 8029CD30 00298990 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
+/* 8029CD34 00298994 DB C1 00 60 */ stfd f30, 0x60(r1)
+/* 8029CD38 00298998 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
+/* 8029CD3C 0029899C DB A1 00 50 */ stfd f29, 0x50(r1)
+/* 8029CD40 002989A0 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
+/* 8029CD44 002989A4 DB 81 00 40 */ stfd f28, 0x40(r1)
+/* 8029CD48 002989A8 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
+/* 8029CD4C 002989AC DB 61 00 30 */ stfd f27, 0x30(r1)
+/* 8029CD50 002989B0 F3 61 00 38 */ psq_st f27, 56(r1), 0, qr0
+/* 8029CD54 002989B4 DB 41 00 20 */ stfd f26, 0x20(r1)
+/* 8029CD58 002989B8 F3 41 00 28 */ psq_st f26, 40(r1), 0, qr0
+/* 8029CD5C 002989BC DB 21 00 10 */ stfd f25, 0x10(r1)
+/* 8029CD60 002989C0 F3 21 00 18 */ psq_st f25, 24(r1), 0, qr0
+/* 8029CD64 002989C4 3C A0 80 53 */ lis r5, lbl_805355C0@ha
+/* 8029CD68 002989C8 38 E0 00 08 */ li r7, 8
+/* 8029CD6C 002989CC 38 A5 55 C0 */ addi r5, r5, lbl_805355C0@l
+/* 8029CD70 002989D0 C3 A2 A3 88 */ lfs f29, lbl_80642988-_SDA2_BASE_(r2)
+/* 8029CD74 002989D4 39 45 FF F8 */ addi r10, r5, -8
+/* 8029CD78 002989D8 C3 82 A3 8C */ lfs f28, lbl_8064298C-_SDA2_BASE_(r2)
+/* 8029CD7C 002989DC C3 62 A3 90 */ lfs f27, lbl_80642990-_SDA2_BASE_(r2)
+/* 8029CD80 002989E0 C3 42 A3 94 */ lfs f26, lbl_80642994-_SDA2_BASE_(r2)
+/* 8029CD84 002989E4 C3 22 A3 98 */ lfs f25, lbl_80642998-_SDA2_BASE_(r2)
+/* 8029CD88 002989E8 80 AD AC C0 */ lwz r5, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029CD8C 002989EC 7C E9 03 A6 */ mtctr r7
+lbl_8029CD90:
+/* 8029CD90 002989F0 E1 43 50 00 */ psq_l f10, 0(r3), 0, qr5
+/* 8029CD94 002989F4 E1 65 00 00 */ psq_l f11, 0(r5), 0, qr0
+/* 8029CD98 002989F8 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8029CD9C 002989FC 81 03 00 08 */ lwz r8, 8(r3)
+/* 8029CDA0 00298A00 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029CDA4 00298A04 80 C3 00 04 */ lwz r6, 4(r3)
+/* 8029CDA8 00298A08 7C 00 43 79 */ or. r0, r0, r8
+/* 8029CDAC 00298A0C A0 E3 00 02 */ lhz r7, 2(r3)
+lbl_8029CDB0:
+/* 8029CDB0 00298A10 2C 00 00 00 */ cmpwi r0, 0
+/* 8029CDB4 00298A14 40 82 01 3C */ bne lbl_8029CEF0
+/* 8029CDB8 00298A18 10 0A 54 20 */ ps_merge00 f0, f10, f10
+/* 8029CDBC 00298A1C 2C 06 00 00 */ cmpwi r6, 0
+/* 8029CDC0 00298A20 F0 0A 00 08 */ psq_st f0, 8(r10), 0, qr0
+/* 8029CDC4 00298A24 40 82 00 98 */ bne lbl_8029CE5C
+/* 8029CDC8 00298A28 F0 0A 00 10 */ psq_st f0, 16(r10), 0, qr0
+/* 8029CDCC 00298A2C 2C 07 00 00 */ cmpwi r7, 0
+/* 8029CDD0 00298A30 F0 0A 00 18 */ psq_st f0, 24(r10), 0, qr0
+/* 8029CDD4 00298A34 40 82 00 18 */ bne lbl_8029CDEC
+/* 8029CDD8 00298A38 F4 0A 00 20 */ psq_stu f0, 32(r10), 0, qr0
+/* 8029CDDC 00298A3C 38 63 00 10 */ addi r3, r3, 0x10
+/* 8029CDE0 00298A40 38 A5 00 20 */ addi r5, r5, 0x20
+/* 8029CDE4 00298A44 42 00 FF AC */ bdnz lbl_8029CD90
+/* 8029CDE8 00298A48 48 00 01 C8 */ b lbl_8029CFB0
+lbl_8029CDEC:
+/* 8029CDEC 00298A4C 10 4A 57 38 */ ps_msub f2, f10, f28, f10
+/* 8029CDF0 00298A50 E5 65 00 20 */ psq_lu f11, 32(r5), 0, qr0
+/* 8029CDF4 00298A54 10 3C D8 28 */ ps_sub f1, f28, f27
+/* 8029CDF8 00298A58 80 C3 00 14 */ lwz r6, 0x14(r3)
+/* 8029CDFC 00298A5C 11 2A 54 20 */ ps_merge00 f9, f10, f10
+/* 8029CE00 00298A60 A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 8029CE04 00298A64 10 6A 17 78 */ ps_msub f3, f10, f29, f2
+/* 8029CE08 00298A68 10 AA 14 E0 */ ps_merge11 f5, f10, f2
+/* 8029CE0C 00298A6C 10 8A 18 7C */ ps_nmsub f4, f10, f1, f3
+/* 8029CE10 00298A70 10 E9 28 2A */ ps_add f7, f9, f5
+/* 8029CE14 00298A74 E1 43 50 10 */ psq_l f10, 16(r3), 0, qr5
+/* 8029CE18 00298A78 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8029CE1C 00298A7C 10 A9 28 28 */ ps_sub f5, f9, f5
+/* 8029CE20 00298A80 10 C3 24 E0 */ ps_merge11 f6, f3, f4
+/* 8029CE24 00298A84 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 8029CE28 00298A88 11 09 30 2A */ ps_add f8, f9, f6
+/* 8029CE2C 00298A8C 10 C9 30 28 */ ps_sub f6, f9, f6
+/* 8029CE30 00298A90 F4 EA 00 08 */ psq_stu f7, 8(r10), 0, qr0
+/* 8029CE34 00298A94 10 C6 34 A0 */ ps_merge10 f6, f6, f6
+/* 8029CE38 00298A98 F5 0A 00 08 */ psq_stu f8, 8(r10), 0, qr0
+/* 8029CE3C 00298A9C 10 A5 2C A0 */ ps_merge10 f5, f5, f5
+/* 8029CE40 00298AA0 7C 00 43 78 */ or r0, r0, r8
+/* 8029CE44 00298AA4 F4 CA 00 08 */ psq_stu f6, 8(r10), 0, qr0
+/* 8029CE48 00298AA8 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029CE4C 00298AAC F4 AA 00 08 */ psq_stu f5, 8(r10), 0, qr0
+/* 8029CE50 00298AB0 38 63 00 10 */ addi r3, r3, 0x10
+/* 8029CE54 00298AB4 42 00 FF 5C */ bdnz lbl_8029CDB0
+/* 8029CE58 00298AB8 48 00 01 58 */ b lbl_8029CFB0
+lbl_8029CE5C:
+/* 8029CE5C 00298ABC E0 23 50 04 */ psq_l f1, 4(r3), 0, qr5
+/* 8029CE60 00298AC0 E1 25 00 08 */ psq_l f9, 8(r5), 0, qr0
+/* 8029CE64 00298AC4 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8029CE68 00298AC8 10 21 02 72 */ ps_mul f1, f1, f9
+/* 8029CE6C 00298ACC 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 8029CE70 00298AD0 80 C3 00 14 */ lwz r6, 0x14(r3)
+/* 8029CE74 00298AD4 A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 8029CE78 00298AD8 10 6A 08 28 */ ps_sub f3, f10, f1
+/* 8029CE7C 00298ADC 10 4A 08 2A */ ps_add f2, f10, f1
+/* 8029CE80 00298AE0 11 03 07 32 */ ps_mul f8, f3, f28
+/* 8029CE84 00298AE4 10 81 1F 7A */ ps_madd f4, f1, f29, f3
+/* 8029CE88 00298AE8 10 A1 17 7C */ ps_nmsub f5, f1, f29, f2
+/* 8029CE8C 00298AEC 10 C1 46 BC */ ps_nmsub f6, f1, f26, f8
+/* 8029CE90 00298AF0 10 EA 46 FC */ ps_nmsub f7, f10, f27, f8
+/* 8029CE94 00298AF4 10 82 24 20 */ ps_merge00 f4, f2, f4
+/* 8029CE98 00298AF8 10 C6 10 28 */ ps_sub f6, f6, f2
+/* 8029CE9C 00298AFC 10 A5 1C 20 */ ps_merge00 f5, f5, f3
+/* 8029CEA0 00298B00 11 03 37 78 */ ps_msub f8, f3, f29, f6
+/* 8029CEA4 00298B04 10 42 34 E0 */ ps_merge11 f2, f2, f6
+/* 8029CEA8 00298B08 E5 43 50 10 */ psq_lu f10, 16(r3), 0, qr5
+/* 8029CEAC 00298B0C E5 65 00 20 */ psq_lu f11, 32(r5), 0, qr0
+/* 8029CEB0 00298B10 10 E7 40 28 */ ps_sub f7, f7, f8
+/* 8029CEB4 00298B14 11 24 10 2A */ ps_add f9, f4, f2
+/* 8029CEB8 00298B18 10 84 10 28 */ ps_sub f4, f4, f2
+/* 8029CEBC 00298B1C 10 68 3C E0 */ ps_merge11 f3, f8, f7
+/* 8029CEC0 00298B20 F5 2A 00 08 */ psq_stu f9, 8(r10), 0, qr0
+/* 8029CEC4 00298B24 7C 00 43 78 */ or r0, r0, r8
+/* 8029CEC8 00298B28 10 05 18 2A */ ps_add f0, f5, f3
+/* 8029CECC 00298B2C 10 25 18 28 */ ps_sub f1, f5, f3
+/* 8029CED0 00298B30 F4 0A 00 08 */ psq_stu f0, 8(r10), 0, qr0
+/* 8029CED4 00298B34 10 84 24 A0 */ ps_merge10 f4, f4, f4
+/* 8029CED8 00298B38 10 21 0C A0 */ ps_merge10 f1, f1, f1
+/* 8029CEDC 00298B3C F4 2A 00 08 */ psq_stu f1, 8(r10), 0, qr0
+/* 8029CEE0 00298B40 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029CEE4 00298B44 F4 8A 00 08 */ psq_stu f4, 8(r10), 0, qr0
+/* 8029CEE8 00298B48 42 00 FE C8 */ bdnz lbl_8029CDB0
+/* 8029CEEC 00298B4C 48 00 00 C4 */ b lbl_8029CFB0
+lbl_8029CEF0:
+/* 8029CEF0 00298B50 E1 23 50 04 */ psq_l f9, 4(r3), 0, qr5
+/* 8029CEF4 00298B54 E0 A5 00 08 */ psq_l f5, 8(r5), 0, qr0
+/* 8029CEF8 00298B58 11 29 01 72 */ ps_mul f9, f9, f5
+/* 8029CEFC 00298B5C E0 43 50 08 */ psq_l f2, 8(r3), 0, qr5
+/* 8029CF00 00298B60 E0 C5 00 10 */ psq_l f6, 16(r5), 0, qr0
+/* 8029CF04 00298B64 10 0A 4C 60 */ ps_merge01 f0, f10, f9
+/* 8029CF08 00298B68 E0 63 50 0C */ psq_l f3, 12(r3), 0, qr5
+/* 8029CF0C 00298B6C 10 29 54 60 */ ps_merge01 f1, f9, f10
+/* 8029CF10 00298B70 E0 E5 00 18 */ psq_l f7, 24(r5), 0, qr0
+/* 8029CF14 00298B74 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8029CF18 00298B78 10 82 01 BA */ ps_madd f4, f2, f6, f0
+/* 8029CF1C 00298B7C 10 A2 01 BC */ ps_nmsub f5, f2, f6, f0
+/* 8029CF20 00298B80 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 8029CF24 00298B84 10 C3 09 FA */ ps_madd f6, f3, f7, f1
+/* 8029CF28 00298B88 80 C3 00 14 */ lwz r6, 0x14(r3)
+/* 8029CF2C 00298B8C 10 E3 09 FC */ ps_nmsub f7, f3, f7, f1
+/* 8029CF30 00298B90 A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 8029CF34 00298B94 10 04 30 2A */ ps_add f0, f4, f6
+/* 8029CF38 00298B98 11 07 28 28 */ ps_sub f8, f7, f5
+/* 8029CF3C 00298B9C 10 47 37 78 */ ps_msub f2, f7, f29, f6
+/* 8029CF40 00298BA0 10 64 30 28 */ ps_sub f3, f4, f6
+/* 8029CF44 00298BA4 11 08 07 32 */ ps_mul f8, f8, f28
+/* 8029CF48 00298BA8 10 25 10 2A */ ps_add f1, f5, f2
+/* 8029CF4C 00298BAC 10 45 10 28 */ ps_sub f2, f5, f2
+/* 8029CF50 00298BB0 10 C5 46 BC */ ps_nmsub f6, f5, f26, f8
+/* 8029CF54 00298BB4 10 87 46 F8 */ ps_msub f4, f7, f27, f8
+/* 8029CF58 00298BB8 10 20 0C 20 */ ps_merge00 f1, f0, f1
+/* 8029CF5C 00298BBC 10 C6 00 28 */ ps_sub f6, f6, f0
+/* 8029CF60 00298BC0 10 42 1C 20 */ ps_merge00 f2, f2, f3
+/* 8029CF64 00298BC4 10 A3 37 7A */ ps_madd f5, f3, f29, f6
+/* 8029CF68 00298BC8 10 E0 34 E0 */ ps_merge11 f7, f0, f6
+/* 8029CF6C 00298BCC E5 43 50 10 */ psq_lu f10, 16(r3), 0, qr5
+/* 8029CF70 00298BD0 E5 65 00 20 */ psq_lu f11, 32(r5), 0, qr0
+/* 8029CF74 00298BD4 10 84 28 28 */ ps_sub f4, f4, f5
+/* 8029CF78 00298BD8 10 61 38 2A */ ps_add f3, f1, f7
+/* 8029CF7C 00298BDC 10 01 38 28 */ ps_sub f0, f1, f7
+/* 8029CF80 00298BE0 10 85 24 E0 */ ps_merge11 f4, f5, f4
+/* 8029CF84 00298BE4 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029CF88 00298BE8 10 A2 20 2A */ ps_add f5, f2, f4
+/* 8029CF8C 00298BEC 10 C2 20 28 */ ps_sub f6, f2, f4
+/* 8029CF90 00298BF0 10 A5 2C A0 */ ps_merge10 f5, f5, f5
+/* 8029CF94 00298BF4 F4 6A 00 08 */ psq_stu f3, 8(r10), 0, qr0
+/* 8029CF98 00298BF8 10 00 04 A0 */ ps_merge10 f0, f0, f0
+/* 8029CF9C 00298BFC F4 CA 00 08 */ psq_stu f6, 8(r10), 0, qr0
+/* 8029CFA0 00298C00 F4 AA 00 08 */ psq_stu f5, 8(r10), 0, qr0
+/* 8029CFA4 00298C04 7C 00 43 78 */ or r0, r0, r8
+/* 8029CFA8 00298C08 F4 0A 00 08 */ psq_stu f0, 8(r10), 0, qr0
+/* 8029CFAC 00298C0C 42 00 FE 04 */ bdnz lbl_8029CDB0
+lbl_8029CFB0:
+/* 8029CFB0 00298C10 3D 40 80 53 */ lis r10, lbl_805355C0@ha
+/* 8029CFB4 00298C14 80 0D AC E0 */ lwz r0, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029CFB8 00298C18 39 4A 55 C0 */ addi r10, r10, lbl_805355C0@l
+/* 8029CFBC 00298C1C 54 84 10 3A */ slwi r4, r4, 2
+/* 8029CFC0 00298C20 E1 4A 00 00 */ psq_l f10, 0(r10), 0, qr0
+/* 8029CFC4 00298C24 54 05 10 3A */ slwi r5, r0, 2
+/* 8029CFC8 00298C28 E1 6A 00 80 */ psq_l f11, 128(r10), 0, qr0
+/* 8029CFCC 00298C2C 7C A4 2A 14 */ add r5, r4, r5
+/* 8029CFD0 00298C30 80 0D AD 00 */ lwz r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029CFD4 00298C34 38 60 00 03 */ li r3, 3
+/* 8029CFD8 00298C38 10 CA 58 2A */ ps_add f6, f10, f11
+/* 8029CFDC 00298C3C E1 8A 00 40 */ psq_l f12, 64(r10), 0, qr0
+/* 8029CFE0 00298C40 E1 AA 00 C0 */ psq_l f13, 192(r10), 0, qr0
+/* 8029CFE4 00298C44 11 0A 58 28 */ ps_sub f8, f10, f11
+/* 8029CFE8 00298C48 7C C0 22 14 */ add r6, r0, r4
+/* 8029CFEC 00298C4C 7C E0 2A 14 */ add r7, r0, r5
+/* 8029CFF0 00298C50 10 C6 C8 2A */ ps_add f6, f6, f25
+/* 8029CFF4 00298C54 10 EC 68 2A */ ps_add f7, f12, f13
+/* 8029CFF8 00298C58 11 2C 68 28 */ ps_sub f9, f12, f13
+/* 8029CFFC 00298C5C 11 08 C8 2A */ ps_add f8, f8, f25
+/* 8029D000 00298C60 10 06 38 2A */ ps_add f0, f6, f7
+/* 8029D004 00298C64 7C 69 03 A6 */ mtctr r3
+lbl_8029D008:
+/* 8029D008 00298C68 11 29 3F 78 */ ps_msub f9, f9, f29, f7
+/* 8029D00C 00298C6C E0 8A 00 20 */ psq_l f4, 32(r10), 0, qr0
+/* 8029D010 00298C70 10 66 38 28 */ ps_sub f3, f6, f7
+/* 8029D014 00298C74 E0 AA 00 60 */ psq_l f5, 96(r10), 0, qr0
+/* 8029D018 00298C78 E0 CA 00 A0 */ psq_l f6, 160(r10), 0, qr0
+/* 8029D01C 00298C7C E0 EA 00 E0 */ psq_l f7, 224(r10), 0, qr0
+/* 8029D020 00298C80 10 28 48 2A */ ps_add f1, f8, f9
+/* 8029D024 00298C84 E1 4A 00 08 */ psq_l f10, 8(r10), 0, qr0
+/* 8029D028 00298C88 10 48 48 28 */ ps_sub f2, f8, f9
+/* 8029D02C 00298C8C E1 6A 00 88 */ psq_l f11, 136(r10), 0, qr0
+/* 8029D030 00298C90 11 06 28 2A */ ps_add f8, f6, f5
+/* 8029D034 00298C94 E1 8A 00 48 */ psq_l f12, 72(r10), 0, qr0
+/* 8029D038 00298C98 11 24 38 2A */ ps_add f9, f4, f7
+/* 8029D03C 00298C9C E1 AA 00 C8 */ psq_l f13, 200(r10), 0, qr0
+/* 8029D040 00298CA0 10 C6 28 28 */ ps_sub f6, f6, f5
+/* 8029D044 00298CA4 39 4A 00 08 */ addi r10, r10, 8
+/* 8029D048 00298CA8 10 84 38 28 */ ps_sub f4, f4, f7
+/* 8029D04C 00298CAC 10 E9 40 2A */ ps_add f7, f9, f8
+/* 8029D050 00298CB0 10 A9 40 28 */ ps_sub f5, f9, f8
+/* 8029D054 00298CB4 11 06 20 2A */ ps_add f8, f6, f4
+/* 8029D058 00298CB8 11 20 38 2A */ ps_add f9, f0, f7
+/* 8029D05C 00298CBC 13 C0 38 28 */ ps_sub f30, f0, f7
+/* 8029D060 00298CC0 11 08 07 32 */ ps_mul f8, f8, f28
+/* 8029D064 00298CC4 10 C6 46 BA */ ps_madd f6, f6, f26, f8
+/* 8029D068 00298CC8 10 C6 38 28 */ ps_sub f6, f6, f7
+/* 8029D06C 00298CCC F1 26 60 00 */ psq_st f9, 0(r6), 0, qr6
+/* 8029D070 00298CD0 10 84 46 F8 */ ps_msub f4, f4, f27, f8
+/* 8029D074 00298CD4 11 21 30 2A */ ps_add f9, f1, f6
+/* 8029D078 00298CD8 10 A5 37 78 */ ps_msub f5, f5, f29, f6
+/* 8029D07C 00298CDC 13 E1 30 28 */ ps_sub f31, f1, f6
+/* 8029D080 00298CE0 F1 26 60 08 */ psq_st f9, 8(r6), 0, qr6
+/* 8029D084 00298CE4 11 02 28 2A */ ps_add f8, f2, f5
+/* 8029D088 00298CE8 10 84 28 2A */ ps_add f4, f4, f5
+/* 8029D08C 00298CEC F1 06 60 10 */ psq_st f8, 16(r6), 0, qr6
+/* 8029D090 00298CF0 11 23 20 28 */ ps_sub f9, f3, f4
+/* 8029D094 00298CF4 10 03 20 2A */ ps_add f0, f3, f4
+/* 8029D098 00298CF8 F1 26 60 18 */ psq_st f9, 24(r6), 0, qr6
+/* 8029D09C 00298CFC 10 22 28 28 */ ps_sub f1, f2, f5
+/* 8029D0A0 00298D00 10 CA 58 2A */ ps_add f6, f10, f11
+/* 8029D0A4 00298D04 F0 07 60 00 */ psq_st f0, 0(r7), 0, qr6
+/* 8029D0A8 00298D08 11 0A 58 28 */ ps_sub f8, f10, f11
+/* 8029D0AC 00298D0C 10 C6 C8 2A */ ps_add f6, f6, f25
+/* 8029D0B0 00298D10 F0 27 60 08 */ psq_st f1, 8(r7), 0, qr6
+/* 8029D0B4 00298D14 10 EC 68 2A */ ps_add f7, f12, f13
+/* 8029D0B8 00298D18 11 2C 68 28 */ ps_sub f9, f12, f13
+/* 8029D0BC 00298D1C F3 E7 60 10 */ psq_st f31, 16(r7), 0, qr6
+/* 8029D0C0 00298D20 38 84 00 02 */ addi r4, r4, 2
+/* 8029D0C4 00298D24 7C C0 22 14 */ add r6, r0, r4
+/* 8029D0C8 00298D28 10 06 38 2A */ ps_add f0, f6, f7
+/* 8029D0CC 00298D2C F3 C7 60 18 */ psq_st f30, 24(r7), 0, qr6
+/* 8029D0D0 00298D30 38 A5 00 02 */ addi r5, r5, 2
+/* 8029D0D4 00298D34 11 08 C8 2A */ ps_add f8, f8, f25
+/* 8029D0D8 00298D38 7C E0 2A 14 */ add r7, r0, r5
+/* 8029D0DC 00298D3C 42 00 FF 2C */ bdnz lbl_8029D008
+/* 8029D0E0 00298D40 11 29 3F 78 */ ps_msub f9, f9, f29, f7
+/* 8029D0E4 00298D44 E0 8A 00 20 */ psq_l f4, 32(r10), 0, qr0
+/* 8029D0E8 00298D48 10 66 38 28 */ ps_sub f3, f6, f7
+/* 8029D0EC 00298D4C E0 AA 00 60 */ psq_l f5, 96(r10), 0, qr0
+/* 8029D0F0 00298D50 E0 CA 00 A0 */ psq_l f6, 160(r10), 0, qr0
+/* 8029D0F4 00298D54 E0 EA 00 E0 */ psq_l f7, 224(r10), 0, qr0
+/* 8029D0F8 00298D58 10 28 48 2A */ ps_add f1, f8, f9
+/* 8029D0FC 00298D5C 10 48 48 28 */ ps_sub f2, f8, f9
+/* 8029D100 00298D60 11 06 28 2A */ ps_add f8, f6, f5
+/* 8029D104 00298D64 11 24 38 2A */ ps_add f9, f4, f7
+/* 8029D108 00298D68 10 C6 28 28 */ ps_sub f6, f6, f5
+/* 8029D10C 00298D6C 10 84 38 28 */ ps_sub f4, f4, f7
+/* 8029D110 00298D70 10 E9 40 2A */ ps_add f7, f9, f8
+/* 8029D114 00298D74 10 A9 40 28 */ ps_sub f5, f9, f8
+/* 8029D118 00298D78 11 06 20 2A */ ps_add f8, f6, f4
+/* 8029D11C 00298D7C 11 20 38 2A */ ps_add f9, f0, f7
+/* 8029D120 00298D80 13 C0 38 28 */ ps_sub f30, f0, f7
+/* 8029D124 00298D84 11 08 07 32 */ ps_mul f8, f8, f28
+/* 8029D128 00298D88 10 C6 46 BA */ ps_madd f6, f6, f26, f8
+/* 8029D12C 00298D8C F1 26 60 00 */ psq_st f9, 0(r6), 0, qr6
+/* 8029D130 00298D90 10 84 46 F8 */ ps_msub f4, f4, f27, f8
+/* 8029D134 00298D94 10 C6 38 28 */ ps_sub f6, f6, f7
+/* 8029D138 00298D98 F3 C7 60 18 */ psq_st f30, 24(r7), 0, qr6
+/* 8029D13C 00298D9C 11 21 30 2A */ ps_add f9, f1, f6
+/* 8029D140 00298DA0 10 A5 37 78 */ ps_msub f5, f5, f29, f6
+/* 8029D144 00298DA4 13 E1 30 28 */ ps_sub f31, f1, f6
+/* 8029D148 00298DA8 F1 26 60 08 */ psq_st f9, 8(r6), 0, qr6
+/* 8029D14C 00298DAC 11 02 28 2A */ ps_add f8, f2, f5
+/* 8029D150 00298DB0 10 84 28 2A */ ps_add f4, f4, f5
+/* 8029D154 00298DB4 F3 E7 60 10 */ psq_st f31, 16(r7), 0, qr6
+/* 8029D158 00298DB8 F1 06 60 10 */ psq_st f8, 16(r6), 0, qr6
+/* 8029D15C 00298DBC 11 23 20 28 */ ps_sub f9, f3, f4
+/* 8029D160 00298DC0 10 03 20 2A */ ps_add f0, f3, f4
+/* 8029D164 00298DC4 F1 26 60 18 */ psq_st f9, 24(r6), 0, qr6
+/* 8029D168 00298DC8 10 22 28 28 */ ps_sub f1, f2, f5
+/* 8029D16C 00298DCC F0 07 60 00 */ psq_st f0, 0(r7), 0, qr6
+/* 8029D170 00298DD0 F0 27 60 08 */ psq_st f1, 8(r7), 0, qr6
+/* 8029D174 00298DD4 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
+/* 8029D178 00298DD8 CB E1 00 70 */ lfd f31, 0x70(r1)
+/* 8029D17C 00298DDC E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
+/* 8029D180 00298DE0 CB C1 00 60 */ lfd f30, 0x60(r1)
+/* 8029D184 00298DE4 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
+/* 8029D188 00298DE8 CB A1 00 50 */ lfd f29, 0x50(r1)
+/* 8029D18C 00298DEC E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
+/* 8029D190 00298DF0 CB 81 00 40 */ lfd f28, 0x40(r1)
+/* 8029D194 00298DF4 E3 61 00 38 */ psq_l f27, 56(r1), 0, qr0
+/* 8029D198 00298DF8 CB 61 00 30 */ lfd f27, 0x30(r1)
+/* 8029D19C 00298DFC E3 41 00 28 */ psq_l f26, 40(r1), 0, qr0
+/* 8029D1A0 00298E00 CB 41 00 20 */ lfd f26, 0x20(r1)
+/* 8029D1A4 00298E04 E3 21 00 18 */ psq_l f25, 24(r1), 0, qr0
+/* 8029D1A8 00298E08 CB 21 00 10 */ lfd f25, 0x10(r1)
+/* 8029D1AC 00298E0C 38 21 00 80 */ addi r1, r1, 0x80
+/* 8029D1B0 00298E10 4E 80 00 20 */ blr
+
+.global __THPInverseDCTY8
+__THPInverseDCTY8:
+/* 8029D1B4 00298E14 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 8029D1B8 00298E18 DB E1 00 70 */ stfd f31, 0x70(r1)
+/* 8029D1BC 00298E1C F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
+/* 8029D1C0 00298E20 DB C1 00 60 */ stfd f30, 0x60(r1)
+/* 8029D1C4 00298E24 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
+/* 8029D1C8 00298E28 DB A1 00 50 */ stfd f29, 0x50(r1)
+/* 8029D1CC 00298E2C F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
+/* 8029D1D0 00298E30 DB 81 00 40 */ stfd f28, 0x40(r1)
+/* 8029D1D4 00298E34 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
+/* 8029D1D8 00298E38 DB 61 00 30 */ stfd f27, 0x30(r1)
+/* 8029D1DC 00298E3C F3 61 00 38 */ psq_st f27, 56(r1), 0, qr0
+/* 8029D1E0 00298E40 DB 41 00 20 */ stfd f26, 0x20(r1)
+/* 8029D1E4 00298E44 F3 41 00 28 */ psq_st f26, 40(r1), 0, qr0
+/* 8029D1E8 00298E48 DB 21 00 10 */ stfd f25, 0x10(r1)
+/* 8029D1EC 00298E4C F3 21 00 18 */ psq_st f25, 24(r1), 0, qr0
+/* 8029D1F0 00298E50 3C A0 80 53 */ lis r5, lbl_805355C0@ha
+/* 8029D1F4 00298E54 38 E0 00 08 */ li r7, 8
+/* 8029D1F8 00298E58 38 A5 55 C0 */ addi r5, r5, lbl_805355C0@l
+/* 8029D1FC 00298E5C C3 A2 A3 88 */ lfs f29, lbl_80642988-_SDA2_BASE_(r2)
+/* 8029D200 00298E60 39 45 FF F8 */ addi r10, r5, -8
+/* 8029D204 00298E64 C3 82 A3 8C */ lfs f28, lbl_8064298C-_SDA2_BASE_(r2)
+/* 8029D208 00298E68 C3 62 A3 90 */ lfs f27, lbl_80642990-_SDA2_BASE_(r2)
+/* 8029D20C 00298E6C C3 42 A3 94 */ lfs f26, lbl_80642994-_SDA2_BASE_(r2)
+/* 8029D210 00298E70 C3 22 A3 98 */ lfs f25, lbl_80642998-_SDA2_BASE_(r2)
+/* 8029D214 00298E74 80 AD AC C0 */ lwz r5, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D218 00298E78 7C E9 03 A6 */ mtctr r7
+lbl_8029D21C:
+/* 8029D21C 00298E7C E1 43 50 00 */ psq_l f10, 0(r3), 0, qr5
+/* 8029D220 00298E80 E1 65 00 00 */ psq_l f11, 0(r5), 0, qr0
+/* 8029D224 00298E84 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8029D228 00298E88 81 03 00 08 */ lwz r8, 8(r3)
+/* 8029D22C 00298E8C 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029D230 00298E90 80 C3 00 04 */ lwz r6, 4(r3)
+/* 8029D234 00298E94 A0 E3 00 02 */ lhz r7, 2(r3)
+/* 8029D238 00298E98 7C 00 43 78 */ or r0, r0, r8
+lbl_8029D23C:
+/* 8029D23C 00298E9C 2C 00 00 00 */ cmpwi r0, 0
+/* 8029D240 00298EA0 40 82 01 3C */ bne lbl_8029D37C
+/* 8029D244 00298EA4 10 0A 54 20 */ ps_merge00 f0, f10, f10
+/* 8029D248 00298EA8 2C 06 00 00 */ cmpwi r6, 0
+/* 8029D24C 00298EAC F0 0A 00 08 */ psq_st f0, 8(r10), 0, qr0
+/* 8029D250 00298EB0 40 82 00 98 */ bne lbl_8029D2E8
+/* 8029D254 00298EB4 F0 0A 00 10 */ psq_st f0, 16(r10), 0, qr0
+/* 8029D258 00298EB8 2C 07 00 00 */ cmpwi r7, 0
+/* 8029D25C 00298EBC F0 0A 00 18 */ psq_st f0, 24(r10), 0, qr0
+/* 8029D260 00298EC0 40 82 00 18 */ bne lbl_8029D278
+/* 8029D264 00298EC4 F4 0A 00 20 */ psq_stu f0, 32(r10), 0, qr0
+/* 8029D268 00298EC8 38 63 00 10 */ addi r3, r3, 0x10
+/* 8029D26C 00298ECC 38 A5 00 20 */ addi r5, r5, 0x20
+/* 8029D270 00298ED0 42 00 FF AC */ bdnz lbl_8029D21C
+/* 8029D274 00298ED4 48 00 01 C8 */ b lbl_8029D43C
+lbl_8029D278:
+/* 8029D278 00298ED8 10 4A 57 38 */ ps_msub f2, f10, f28, f10
+/* 8029D27C 00298EDC E5 65 00 20 */ psq_lu f11, 32(r5), 0, qr0
+/* 8029D280 00298EE0 10 3C D8 28 */ ps_sub f1, f28, f27
+/* 8029D284 00298EE4 80 C3 00 14 */ lwz r6, 0x14(r3)
+/* 8029D288 00298EE8 11 2A 54 20 */ ps_merge00 f9, f10, f10
+/* 8029D28C 00298EEC A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 8029D290 00298EF0 10 6A 17 78 */ ps_msub f3, f10, f29, f2
+/* 8029D294 00298EF4 10 AA 14 E0 */ ps_merge11 f5, f10, f2
+/* 8029D298 00298EF8 10 8A 18 7C */ ps_nmsub f4, f10, f1, f3
+/* 8029D29C 00298EFC 10 E9 28 2A */ ps_add f7, f9, f5
+/* 8029D2A0 00298F00 E1 43 50 10 */ psq_l f10, 16(r3), 0, qr5
+/* 8029D2A4 00298F04 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8029D2A8 00298F08 10 A9 28 28 */ ps_sub f5, f9, f5
+/* 8029D2AC 00298F0C 10 C3 24 E0 */ ps_merge11 f6, f3, f4
+/* 8029D2B0 00298F10 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 8029D2B4 00298F14 11 09 30 2A */ ps_add f8, f9, f6
+/* 8029D2B8 00298F18 10 C9 30 28 */ ps_sub f6, f9, f6
+/* 8029D2BC 00298F1C F4 EA 00 08 */ psq_stu f7, 8(r10), 0, qr0
+/* 8029D2C0 00298F20 10 C6 34 A0 */ ps_merge10 f6, f6, f6
+/* 8029D2C4 00298F24 F5 0A 00 08 */ psq_stu f8, 8(r10), 0, qr0
+/* 8029D2C8 00298F28 10 A5 2C A0 */ ps_merge10 f5, f5, f5
+/* 8029D2CC 00298F2C 7C 00 43 78 */ or r0, r0, r8
+/* 8029D2D0 00298F30 F4 CA 00 08 */ psq_stu f6, 8(r10), 0, qr0
+/* 8029D2D4 00298F34 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029D2D8 00298F38 F4 AA 00 08 */ psq_stu f5, 8(r10), 0, qr0
+/* 8029D2DC 00298F3C 38 63 00 10 */ addi r3, r3, 0x10
+/* 8029D2E0 00298F40 42 00 FF 5C */ bdnz lbl_8029D23C
+/* 8029D2E4 00298F44 48 00 01 58 */ b lbl_8029D43C
+lbl_8029D2E8:
+/* 8029D2E8 00298F48 E0 23 50 04 */ psq_l f1, 4(r3), 0, qr5
+/* 8029D2EC 00298F4C E1 25 00 08 */ psq_l f9, 8(r5), 0, qr0
+/* 8029D2F0 00298F50 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8029D2F4 00298F54 10 21 02 72 */ ps_mul f1, f1, f9
+/* 8029D2F8 00298F58 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 8029D2FC 00298F5C 80 C3 00 14 */ lwz r6, 0x14(r3)
+/* 8029D300 00298F60 A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 8029D304 00298F64 10 6A 08 28 */ ps_sub f3, f10, f1
+/* 8029D308 00298F68 10 4A 08 2A */ ps_add f2, f10, f1
+/* 8029D30C 00298F6C 11 03 07 32 */ ps_mul f8, f3, f28
+/* 8029D310 00298F70 10 81 1F 7A */ ps_madd f4, f1, f29, f3
+/* 8029D314 00298F74 10 A1 17 7C */ ps_nmsub f5, f1, f29, f2
+/* 8029D318 00298F78 10 C1 46 BC */ ps_nmsub f6, f1, f26, f8
+/* 8029D31C 00298F7C 10 EA 46 FC */ ps_nmsub f7, f10, f27, f8
+/* 8029D320 00298F80 10 82 24 20 */ ps_merge00 f4, f2, f4
+/* 8029D324 00298F84 10 C6 10 28 */ ps_sub f6, f6, f2
+/* 8029D328 00298F88 10 A5 1C 20 */ ps_merge00 f5, f5, f3
+/* 8029D32C 00298F8C 11 03 37 78 */ ps_msub f8, f3, f29, f6
+/* 8029D330 00298F90 10 42 34 E0 */ ps_merge11 f2, f2, f6
+/* 8029D334 00298F94 E5 43 50 10 */ psq_lu f10, 16(r3), 0, qr5
+/* 8029D338 00298F98 E5 65 00 20 */ psq_lu f11, 32(r5), 0, qr0
+/* 8029D33C 00298F9C 10 E7 40 28 */ ps_sub f7, f7, f8
+/* 8029D340 00298FA0 11 24 10 2A */ ps_add f9, f4, f2
+/* 8029D344 00298FA4 10 84 10 28 */ ps_sub f4, f4, f2
+/* 8029D348 00298FA8 10 68 3C E0 */ ps_merge11 f3, f8, f7
+/* 8029D34C 00298FAC F5 2A 00 08 */ psq_stu f9, 8(r10), 0, qr0
+/* 8029D350 00298FB0 7C 00 43 78 */ or r0, r0, r8
+/* 8029D354 00298FB4 10 05 18 2A */ ps_add f0, f5, f3
+/* 8029D358 00298FB8 10 25 18 28 */ ps_sub f1, f5, f3
+/* 8029D35C 00298FBC F4 0A 00 08 */ psq_stu f0, 8(r10), 0, qr0
+/* 8029D360 00298FC0 10 84 24 A0 */ ps_merge10 f4, f4, f4
+/* 8029D364 00298FC4 10 21 0C A0 */ ps_merge10 f1, f1, f1
+/* 8029D368 00298FC8 F4 2A 00 08 */ psq_stu f1, 8(r10), 0, qr0
+/* 8029D36C 00298FCC 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029D370 00298FD0 F4 8A 00 08 */ psq_stu f4, 8(r10), 0, qr0
+/* 8029D374 00298FD4 42 00 FE C8 */ bdnz lbl_8029D23C
+/* 8029D378 00298FD8 48 00 00 C4 */ b lbl_8029D43C
+lbl_8029D37C:
+/* 8029D37C 00298FDC E1 23 50 04 */ psq_l f9, 4(r3), 0, qr5
+/* 8029D380 00298FE0 E0 A5 00 08 */ psq_l f5, 8(r5), 0, qr0
+/* 8029D384 00298FE4 11 29 01 72 */ ps_mul f9, f9, f5
+/* 8029D388 00298FE8 E0 43 50 08 */ psq_l f2, 8(r3), 0, qr5
+/* 8029D38C 00298FEC E0 C5 00 10 */ psq_l f6, 16(r5), 0, qr0
+/* 8029D390 00298FF0 10 0A 4C 60 */ ps_merge01 f0, f10, f9
+/* 8029D394 00298FF4 E0 63 50 0C */ psq_l f3, 12(r3), 0, qr5
+/* 8029D398 00298FF8 10 29 54 60 */ ps_merge01 f1, f9, f10
+/* 8029D39C 00298FFC E0 E5 00 18 */ psq_l f7, 24(r5), 0, qr0
+/* 8029D3A0 00299000 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8029D3A4 00299004 10 82 01 BA */ ps_madd f4, f2, f6, f0
+/* 8029D3A8 00299008 10 A2 01 BC */ ps_nmsub f5, f2, f6, f0
+/* 8029D3AC 0029900C 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 8029D3B0 00299010 10 C3 09 FA */ ps_madd f6, f3, f7, f1
+/* 8029D3B4 00299014 80 C3 00 14 */ lwz r6, 0x14(r3)
+/* 8029D3B8 00299018 10 E3 09 FC */ ps_nmsub f7, f3, f7, f1
+/* 8029D3BC 0029901C A0 E3 00 12 */ lhz r7, 0x12(r3)
+/* 8029D3C0 00299020 10 04 30 2A */ ps_add f0, f4, f6
+/* 8029D3C4 00299024 11 07 28 28 */ ps_sub f8, f7, f5
+/* 8029D3C8 00299028 10 47 37 78 */ ps_msub f2, f7, f29, f6
+/* 8029D3CC 0029902C 10 64 30 28 */ ps_sub f3, f4, f6
+/* 8029D3D0 00299030 11 08 07 32 */ ps_mul f8, f8, f28
+/* 8029D3D4 00299034 10 25 10 2A */ ps_add f1, f5, f2
+/* 8029D3D8 00299038 10 45 10 28 */ ps_sub f2, f5, f2
+/* 8029D3DC 0029903C 10 C5 46 BC */ ps_nmsub f6, f5, f26, f8
+/* 8029D3E0 00299040 10 87 46 F8 */ ps_msub f4, f7, f27, f8
+/* 8029D3E4 00299044 10 20 0C 20 */ ps_merge00 f1, f0, f1
+/* 8029D3E8 00299048 10 C6 00 28 */ ps_sub f6, f6, f0
+/* 8029D3EC 0029904C 10 42 1C 20 */ ps_merge00 f2, f2, f3
+/* 8029D3F0 00299050 10 A3 37 7A */ ps_madd f5, f3, f29, f6
+/* 8029D3F4 00299054 10 E0 34 E0 */ ps_merge11 f7, f0, f6
+/* 8029D3F8 00299058 E5 43 50 10 */ psq_lu f10, 16(r3), 0, qr5
+/* 8029D3FC 0029905C E5 65 00 20 */ psq_lu f11, 32(r5), 0, qr0
+/* 8029D400 00299060 10 84 28 28 */ ps_sub f4, f4, f5
+/* 8029D404 00299064 10 61 38 2A */ ps_add f3, f1, f7
+/* 8029D408 00299068 10 01 38 28 */ ps_sub f0, f1, f7
+/* 8029D40C 0029906C 10 85 24 E0 */ ps_merge11 f4, f5, f4
+/* 8029D410 00299070 11 4A 02 F2 */ ps_mul f10, f10, f11
+/* 8029D414 00299074 10 A2 20 2A */ ps_add f5, f2, f4
+/* 8029D418 00299078 10 C2 20 28 */ ps_sub f6, f2, f4
+/* 8029D41C 0029907C 10 A5 2C A0 */ ps_merge10 f5, f5, f5
+/* 8029D420 00299080 F4 6A 00 08 */ psq_stu f3, 8(r10), 0, qr0
+/* 8029D424 00299084 10 00 04 A0 */ ps_merge10 f0, f0, f0
+/* 8029D428 00299088 F4 CA 00 08 */ psq_stu f6, 8(r10), 0, qr0
+/* 8029D42C 0029908C F4 AA 00 08 */ psq_stu f5, 8(r10), 0, qr0
+/* 8029D430 00299090 7C 00 43 78 */ or r0, r0, r8
+/* 8029D434 00299094 F4 0A 00 08 */ psq_stu f0, 8(r10), 0, qr0
+/* 8029D438 00299098 42 00 FE 04 */ bdnz lbl_8029D23C
+lbl_8029D43C:
+/* 8029D43C 0029909C 3D 40 80 53 */ lis r10, lbl_805355C0@ha
+/* 8029D440 002990A0 80 0D AC E0 */ lwz r0, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029D444 002990A4 39 4A 55 C0 */ addi r10, r10, lbl_805355C0@l
+/* 8029D448 002990A8 54 83 10 3A */ slwi r3, r4, 2
+/* 8029D44C 002990AC E1 4A 00 00 */ psq_l f10, 0(r10), 0, qr0
+/* 8029D450 002990B0 54 04 18 38 */ slwi r4, r0, 3
+/* 8029D454 002990B4 E1 6A 00 80 */ psq_l f11, 128(r10), 0, qr0
+/* 8029D458 002990B8 54 05 10 3A */ slwi r5, r0, 2
+/* 8029D45C 002990BC 7C 84 1A 14 */ add r4, r4, r3
+/* 8029D460 002990C0 80 0D AD 00 */ lwz r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D464 002990C4 10 CA 58 2A */ ps_add f6, f10, f11
+/* 8029D468 002990C8 E1 8A 00 40 */ psq_l f12, 64(r10), 0, qr0
+/* 8029D46C 002990CC E1 AA 00 C0 */ psq_l f13, 192(r10), 0, qr0
+/* 8029D470 002990D0 11 0A 58 28 */ ps_sub f8, f10, f11
+/* 8029D474 002990D4 7C A4 2A 14 */ add r5, r4, r5
+/* 8029D478 002990D8 38 60 00 03 */ li r3, 3
+/* 8029D47C 002990DC 10 C6 C8 2A */ ps_add f6, f6, f25
+/* 8029D480 002990E0 7C C0 22 14 */ add r6, r0, r4
+/* 8029D484 002990E4 10 EC 68 2A */ ps_add f7, f12, f13
+/* 8029D488 002990E8 7C E0 2A 14 */ add r7, r0, r5
+/* 8029D48C 002990EC 11 2C 68 28 */ ps_sub f9, f12, f13
+/* 8029D490 002990F0 11 08 C8 2A */ ps_add f8, f8, f25
+/* 8029D494 002990F4 10 06 38 2A */ ps_add f0, f6, f7
+/* 8029D498 002990F8 7C 69 03 A6 */ mtctr r3
+lbl_8029D49C:
+/* 8029D49C 002990FC 11 29 3F 78 */ ps_msub f9, f9, f29, f7
+/* 8029D4A0 00299100 E0 8A 00 20 */ psq_l f4, 32(r10), 0, qr0
+/* 8029D4A4 00299104 10 66 38 28 */ ps_sub f3, f6, f7
+/* 8029D4A8 00299108 E0 AA 00 60 */ psq_l f5, 96(r10), 0, qr0
+/* 8029D4AC 0029910C E0 CA 00 A0 */ psq_l f6, 160(r10), 0, qr0
+/* 8029D4B0 00299110 E0 EA 00 E0 */ psq_l f7, 224(r10), 0, qr0
+/* 8029D4B4 00299114 10 28 48 2A */ ps_add f1, f8, f9
+/* 8029D4B8 00299118 E1 4A 00 08 */ psq_l f10, 8(r10), 0, qr0
+/* 8029D4BC 0029911C 10 48 48 28 */ ps_sub f2, f8, f9
+/* 8029D4C0 00299120 E1 6A 00 88 */ psq_l f11, 136(r10), 0, qr0
+/* 8029D4C4 00299124 11 06 28 2A */ ps_add f8, f6, f5
+/* 8029D4C8 00299128 E1 8A 00 48 */ psq_l f12, 72(r10), 0, qr0
+/* 8029D4CC 0029912C 11 24 38 2A */ ps_add f9, f4, f7
+/* 8029D4D0 00299130 E1 AA 00 C8 */ psq_l f13, 200(r10), 0, qr0
+/* 8029D4D4 00299134 10 C6 28 28 */ ps_sub f6, f6, f5
+/* 8029D4D8 00299138 39 4A 00 08 */ addi r10, r10, 8
+/* 8029D4DC 0029913C 10 84 38 28 */ ps_sub f4, f4, f7
+/* 8029D4E0 00299140 10 E9 40 2A */ ps_add f7, f9, f8
+/* 8029D4E4 00299144 10 A9 40 28 */ ps_sub f5, f9, f8
+/* 8029D4E8 00299148 11 06 20 2A */ ps_add f8, f6, f4
+/* 8029D4EC 0029914C 11 20 38 2A */ ps_add f9, f0, f7
+/* 8029D4F0 00299150 13 C0 38 28 */ ps_sub f30, f0, f7
+/* 8029D4F4 00299154 11 08 07 32 */ ps_mul f8, f8, f28
+/* 8029D4F8 00299158 10 C6 46 BA */ ps_madd f6, f6, f26, f8
+/* 8029D4FC 0029915C 10 C6 38 28 */ ps_sub f6, f6, f7
+/* 8029D500 00299160 F1 26 60 00 */ psq_st f9, 0(r6), 0, qr6
+/* 8029D504 00299164 10 84 46 F8 */ ps_msub f4, f4, f27, f8
+/* 8029D508 00299168 11 21 30 2A */ ps_add f9, f1, f6
+/* 8029D50C 0029916C 10 A5 37 78 */ ps_msub f5, f5, f29, f6
+/* 8029D510 00299170 13 E1 30 28 */ ps_sub f31, f1, f6
+/* 8029D514 00299174 F1 26 60 08 */ psq_st f9, 8(r6), 0, qr6
+/* 8029D518 00299178 11 02 28 2A */ ps_add f8, f2, f5
+/* 8029D51C 0029917C 10 84 28 2A */ ps_add f4, f4, f5
+/* 8029D520 00299180 F1 06 60 10 */ psq_st f8, 16(r6), 0, qr6
+/* 8029D524 00299184 11 23 20 28 */ ps_sub f9, f3, f4
+/* 8029D528 00299188 10 03 20 2A */ ps_add f0, f3, f4
+/* 8029D52C 0029918C F1 26 60 18 */ psq_st f9, 24(r6), 0, qr6
+/* 8029D530 00299190 10 22 28 28 */ ps_sub f1, f2, f5
+/* 8029D534 00299194 10 CA 58 2A */ ps_add f6, f10, f11
+/* 8029D538 00299198 F0 07 60 00 */ psq_st f0, 0(r7), 0, qr6
+/* 8029D53C 0029919C 11 0A 58 28 */ ps_sub f8, f10, f11
+/* 8029D540 002991A0 10 C6 C8 2A */ ps_add f6, f6, f25
+/* 8029D544 002991A4 F0 27 60 08 */ psq_st f1, 8(r7), 0, qr6
+/* 8029D548 002991A8 10 EC 68 2A */ ps_add f7, f12, f13
+/* 8029D54C 002991AC 11 2C 68 28 */ ps_sub f9, f12, f13
+/* 8029D550 002991B0 F3 E7 60 10 */ psq_st f31, 16(r7), 0, qr6
+/* 8029D554 002991B4 38 84 00 02 */ addi r4, r4, 2
+/* 8029D558 002991B8 7C C0 22 14 */ add r6, r0, r4
+/* 8029D55C 002991BC 10 06 38 2A */ ps_add f0, f6, f7
+/* 8029D560 002991C0 F3 C7 60 18 */ psq_st f30, 24(r7), 0, qr6
+/* 8029D564 002991C4 38 A5 00 02 */ addi r5, r5, 2
+/* 8029D568 002991C8 11 08 C8 2A */ ps_add f8, f8, f25
+/* 8029D56C 002991CC 7C E0 2A 14 */ add r7, r0, r5
+/* 8029D570 002991D0 42 00 FF 2C */ bdnz lbl_8029D49C
+/* 8029D574 002991D4 11 29 3F 78 */ ps_msub f9, f9, f29, f7
+/* 8029D578 002991D8 E0 8A 00 20 */ psq_l f4, 32(r10), 0, qr0
+/* 8029D57C 002991DC 10 66 38 28 */ ps_sub f3, f6, f7
+/* 8029D580 002991E0 E0 AA 00 60 */ psq_l f5, 96(r10), 0, qr0
+/* 8029D584 002991E4 E0 CA 00 A0 */ psq_l f6, 160(r10), 0, qr0
+/* 8029D588 002991E8 E0 EA 00 E0 */ psq_l f7, 224(r10), 0, qr0
+/* 8029D58C 002991EC 10 28 48 2A */ ps_add f1, f8, f9
+/* 8029D590 002991F0 10 48 48 28 */ ps_sub f2, f8, f9
+/* 8029D594 002991F4 11 06 28 2A */ ps_add f8, f6, f5
+/* 8029D598 002991F8 11 24 38 2A */ ps_add f9, f4, f7
+/* 8029D59C 002991FC 10 C6 28 28 */ ps_sub f6, f6, f5
+/* 8029D5A0 00299200 10 84 38 28 */ ps_sub f4, f4, f7
+/* 8029D5A4 00299204 10 E9 40 2A */ ps_add f7, f9, f8
+/* 8029D5A8 00299208 10 A9 40 28 */ ps_sub f5, f9, f8
+/* 8029D5AC 0029920C 11 06 20 2A */ ps_add f8, f6, f4
+/* 8029D5B0 00299210 11 20 38 2A */ ps_add f9, f0, f7
+/* 8029D5B4 00299214 13 C0 38 28 */ ps_sub f30, f0, f7
+/* 8029D5B8 00299218 11 08 07 32 */ ps_mul f8, f8, f28
+/* 8029D5BC 0029921C 10 C6 46 BA */ ps_madd f6, f6, f26, f8
+/* 8029D5C0 00299220 F1 26 60 00 */ psq_st f9, 0(r6), 0, qr6
+/* 8029D5C4 00299224 10 84 46 F8 */ ps_msub f4, f4, f27, f8
+/* 8029D5C8 00299228 10 C6 38 28 */ ps_sub f6, f6, f7
+/* 8029D5CC 0029922C F3 C7 60 18 */ psq_st f30, 24(r7), 0, qr6
+/* 8029D5D0 00299230 11 21 30 2A */ ps_add f9, f1, f6
+/* 8029D5D4 00299234 10 A5 37 78 */ ps_msub f5, f5, f29, f6
+/* 8029D5D8 00299238 13 E1 30 28 */ ps_sub f31, f1, f6
+/* 8029D5DC 0029923C F1 26 60 08 */ psq_st f9, 8(r6), 0, qr6
+/* 8029D5E0 00299240 11 02 28 2A */ ps_add f8, f2, f5
+/* 8029D5E4 00299244 10 84 28 2A */ ps_add f4, f4, f5
+/* 8029D5E8 00299248 F1 06 60 10 */ psq_st f8, 16(r6), 0, qr6
+/* 8029D5EC 0029924C 11 23 20 28 */ ps_sub f9, f3, f4
+/* 8029D5F0 00299250 F3 E7 60 10 */ psq_st f31, 16(r7), 0, qr6
+/* 8029D5F4 00299254 10 03 20 2A */ ps_add f0, f3, f4
+/* 8029D5F8 00299258 F1 26 60 18 */ psq_st f9, 24(r6), 0, qr6
+/* 8029D5FC 0029925C 10 22 28 28 */ ps_sub f1, f2, f5
+/* 8029D600 00299260 F0 07 60 00 */ psq_st f0, 0(r7), 0, qr6
+/* 8029D604 00299264 F0 27 60 08 */ psq_st f1, 8(r7), 0, qr6
+/* 8029D608 00299268 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
+/* 8029D60C 0029926C CB E1 00 70 */ lfd f31, 0x70(r1)
+/* 8029D610 00299270 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
+/* 8029D614 00299274 CB C1 00 60 */ lfd f30, 0x60(r1)
+/* 8029D618 00299278 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
+/* 8029D61C 0029927C CB A1 00 50 */ lfd f29, 0x50(r1)
+/* 8029D620 00299280 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
+/* 8029D624 00299284 CB 81 00 40 */ lfd f28, 0x40(r1)
+/* 8029D628 00299288 E3 61 00 38 */ psq_l f27, 56(r1), 0, qr0
+/* 8029D62C 0029928C CB 61 00 30 */ lfd f27, 0x30(r1)
+/* 8029D630 00299290 E3 41 00 28 */ psq_l f26, 40(r1), 0, qr0
+/* 8029D634 00299294 CB 41 00 20 */ lfd f26, 0x20(r1)
+/* 8029D638 00299298 E3 21 00 18 */ psq_l f25, 24(r1), 0, qr0
+/* 8029D63C 0029929C CB 21 00 10 */ lfd f25, 0x10(r1)
+/* 8029D640 002992A0 38 21 00 80 */ addi r1, r1, 0x80
+/* 8029D644 002992A4 4E 80 00 20 */ blr
+
+.global __THPDecompressiMCURow640x480
+__THPDecompressiMCURow640x480:
+/* 8029D648 002992A8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8029D64C 002992AC 7C 08 02 A6 */ mflr r0
+/* 8029D650 002992B0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8029D654 002992B4 39 61 00 30 */ addi r11, r1, 0x30
+/* 8029D658 002992B8 4B F2 9A BD */ bl _savegpr_22
+/* 8029D65C 002992BC 38 60 00 03 */ li r3, 3
+/* 8029D660 002992C0 4B FC D3 21 */ bl LCQueueWait
+/* 8029D664 002992C4 3F 40 80 53 */ lis r26, lbl_80535580@ha
+/* 8029D668 002992C8 3F 80 80 53 */ lis r28, lbl_805356C0@ha
+/* 8029D66C 002992CC 3B 7A 55 80 */ addi r27, r26, lbl_80535580@l
+/* 8029D670 002992D0 3B 20 00 00 */ li r25, 0
+/* 8029D674 002992D4 3B DC 56 C0 */ addi r30, r28, lbl_805356C0@l
+/* 8029D678 002992D8 3B A0 02 80 */ li r29, 0x280
+/* 8029D67C 002992DC 3B E0 01 40 */ li r31, 0x140
+/* 8029D680 002992E0 3A C0 00 21 */ li r22, 0x21
+/* 8029D684 002992E4 3A E0 00 00 */ li r23, 0
+/* 8029D688 002992E8 48 00 01 74 */ b lbl_8029D7FC
+lbl_8029D68C:
+/* 8029D68C 002992EC 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D690 002992F0 80 9A 55 80 */ lwz r4, 0x5580(r26)
+/* 8029D694 002992F4 48 00 04 61 */ bl __THPHuffDecodeDCTCompY
+/* 8029D698 002992F8 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D69C 002992FC 80 9B 00 04 */ lwz r4, 4(r27)
+/* 8029D6A0 00299300 48 00 04 55 */ bl __THPHuffDecodeDCTCompY
+/* 8029D6A4 00299304 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D6A8 00299308 80 9B 00 08 */ lwz r4, 8(r27)
+/* 8029D6AC 0029930C 48 00 04 49 */ bl __THPHuffDecodeDCTCompY
+/* 8029D6B0 00299310 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D6B4 00299314 80 9B 00 0C */ lwz r4, 0xc(r27)
+/* 8029D6B8 00299318 48 00 04 3D */ bl __THPHuffDecodeDCTCompY
+/* 8029D6BC 0029931C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D6C0 00299320 80 9B 00 10 */ lwz r4, 0x10(r27)
+/* 8029D6C4 00299324 48 00 0A 8D */ bl __THPHuffDecodeDCTCompU
+/* 8029D6C8 00299328 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D6CC 0029932C 80 9B 00 14 */ lwz r4, 0x14(r27)
+/* 8029D6D0 00299330 48 00 11 09 */ bl __THPHuffDecodeDCTCompV
+/* 8029D6D4 00299334 80 1C 56 C0 */ lwz r0, 0x56c0(r28)
+/* 8029D6D8 00299338 57 38 25 36 */ rlwinm r24, r25, 4, 0x14, 0x1b
+/* 8029D6DC 0029933C 93 AD AC E0 */ stw r29, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029D6E0 00299340 7F 04 C3 78 */ mr r4, r24
+/* 8029D6E4 00299344 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D6E8 00299348 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D6EC 0029934C 80 7A 55 80 */ lwz r3, 0x5580(r26)
+/* 8029D6F0 00299350 88 05 06 80 */ lbz r0, 0x680(r5)
+/* 8029D6F4 00299354 54 00 40 2E */ slwi r0, r0, 8
+/* 8029D6F8 00299358 7C 05 02 14 */ add r0, r5, r0
+/* 8029D6FC 0029935C 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D700 00299360 4B FF F6 29 */ bl __THPInverseDCTNoYPos
+/* 8029D704 00299364 80 7B 00 04 */ lwz r3, 4(r27)
+/* 8029D708 00299368 38 98 00 08 */ addi r4, r24, 8
+/* 8029D70C 0029936C 4B FF F6 1D */ bl __THPInverseDCTNoYPos
+/* 8029D710 00299370 80 7B 00 08 */ lwz r3, 8(r27)
+/* 8029D714 00299374 7F 04 C3 78 */ mr r4, r24
+/* 8029D718 00299378 4B FF FA 9D */ bl __THPInverseDCTY8
+/* 8029D71C 0029937C 80 7B 00 0C */ lwz r3, 0xc(r27)
+/* 8029D720 00299380 38 98 00 08 */ addi r4, r24, 8
+/* 8029D724 00299384 4B FF FA 91 */ bl __THPInverseDCTY8
+/* 8029D728 00299388 80 1E 00 04 */ lwz r0, 4(r30)
+/* 8029D72C 0029938C 57 18 F8 7E */ srwi r24, r24, 1
+/* 8029D730 00299390 93 ED AC E0 */ stw r31, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029D734 00299394 7F 04 C3 78 */ mr r4, r24
+/* 8029D738 00299398 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D73C 0029939C 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D740 002993A0 80 7B 00 10 */ lwz r3, 0x10(r27)
+/* 8029D744 002993A4 88 05 06 86 */ lbz r0, 0x686(r5)
+/* 8029D748 002993A8 54 00 40 2E */ slwi r0, r0, 8
+/* 8029D74C 002993AC 7C 05 02 14 */ add r0, r5, r0
+/* 8029D750 002993B0 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D754 002993B4 4B FF F5 D5 */ bl __THPInverseDCTNoYPos
+/* 8029D758 002993B8 80 1E 00 08 */ lwz r0, 8(r30)
+/* 8029D75C 002993BC 7F 04 C3 78 */ mr r4, r24
+/* 8029D760 002993C0 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D764 002993C4 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D768 002993C8 80 7B 00 14 */ lwz r3, 0x14(r27)
+/* 8029D76C 002993CC 88 05 06 8C */ lbz r0, 0x68c(r5)
+/* 8029D770 002993D0 54 00 40 2E */ slwi r0, r0, 8
+/* 8029D774 002993D4 7C 05 02 14 */ add r0, r5, r0
+/* 8029D778 002993D8 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D77C 002993DC 4B FF F5 AD */ bl __THPInverseDCTNoYPos
+/* 8029D780 002993E0 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D784 002993E4 88 04 06 A9 */ lbz r0, 0x6a9(r4)
+/* 8029D788 002993E8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029D78C 002993EC 41 82 00 6C */ beq lbl_8029D7F8
+/* 8029D790 002993F0 A0 64 06 AC */ lhz r3, 0x6ac(r4)
+/* 8029D794 002993F4 38 03 FF FF */ addi r0, r3, -1
+/* 8029D798 002993F8 B0 04 06 AC */ sth r0, 0x6ac(r4)
+/* 8029D79C 002993FC 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D7A0 00299400 A0 03 06 AC */ lhz r0, 0x6ac(r3)
+/* 8029D7A4 00299404 2C 00 00 00 */ cmpwi r0, 0
+/* 8029D7A8 00299408 40 82 00 50 */ bne lbl_8029D7F8
+/* 8029D7AC 0029940C A0 03 06 AA */ lhz r0, 0x6aa(r3)
+/* 8029D7B0 00299410 B0 03 06 AC */ sth r0, 0x6ac(r3)
+/* 8029D7B4 00299414 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D7B8 00299418 80 64 06 A4 */ lwz r3, 0x6a4(r4)
+/* 8029D7BC 0029941C 38 03 00 06 */ addi r0, r3, 6
+/* 8029D7C0 00299420 54 03 00 38 */ rlwinm r3, r0, 0, 0, 0x1c
+/* 8029D7C4 00299424 38 03 00 01 */ addi r0, r3, 1
+/* 8029D7C8 00299428 90 04 06 A4 */ stw r0, 0x6a4(r4)
+/* 8029D7CC 0029942C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D7D0 00299430 80 03 06 A4 */ lwz r0, 0x6a4(r3)
+/* 8029D7D4 00299434 28 00 00 20 */ cmplwi r0, 0x20
+/* 8029D7D8 00299438 40 81 00 08 */ ble lbl_8029D7E0
+/* 8029D7DC 0029943C 92 C3 06 A4 */ stw r22, 0x6a4(r3)
+lbl_8029D7E0:
+/* 8029D7E0 00299440 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D7E4 00299444 B2 E3 06 84 */ sth r23, 0x684(r3)
+/* 8029D7E8 00299448 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D7EC 0029944C B2 E3 06 8A */ sth r23, 0x68a(r3)
+/* 8029D7F0 00299450 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D7F4 00299454 B2 E3 06 90 */ sth r23, 0x690(r3)
+lbl_8029D7F8:
+/* 8029D7F8 00299458 3B 39 00 01 */ addi r25, r25, 1
+lbl_8029D7FC:
+/* 8029D7FC 0029945C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D800 00299460 57 24 06 3E */ clrlwi r4, r25, 0x18
+/* 8029D804 00299464 A0 03 06 96 */ lhz r0, 0x696(r3)
+/* 8029D808 00299468 7C 04 00 00 */ cmpw r4, r0
+/* 8029D80C 0029946C 41 80 FE 80 */ blt lbl_8029D68C
+/* 8029D810 00299470 3F 00 80 53 */ lis r24, lbl_805356C0@ha
+/* 8029D814 00299474 80 63 06 B0 */ lwz r3, 0x6b0(r3)
+/* 8029D818 00299478 80 98 56 C0 */ lwz r4, lbl_805356C0@l(r24)
+/* 8029D81C 0029947C 38 A0 28 00 */ li r5, 0x2800
+/* 8029D820 00299480 4B FC D0 C1 */ bl LCStoreData
+/* 8029D824 00299484 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D828 00299488 3B 18 56 C0 */ addi r24, r24, 0x56c0
+/* 8029D82C 0029948C 80 98 00 04 */ lwz r4, 4(r24)
+/* 8029D830 00299490 38 A0 0A 00 */ li r5, 0xa00
+/* 8029D834 00299494 80 63 06 B4 */ lwz r3, 0x6b4(r3)
+/* 8029D838 00299498 4B FC D0 A9 */ bl LCStoreData
+/* 8029D83C 0029949C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D840 002994A0 38 A0 0A 00 */ li r5, 0xa00
+/* 8029D844 002994A4 80 98 00 08 */ lwz r4, 8(r24)
+/* 8029D848 002994A8 80 63 06 B8 */ lwz r3, 0x6b8(r3)
+/* 8029D84C 002994AC 4B FC D0 95 */ bl LCStoreData
+/* 8029D850 002994B0 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D854 002994B4 39 61 00 30 */ addi r11, r1, 0x30
+/* 8029D858 002994B8 80 64 06 B0 */ lwz r3, 0x6b0(r4)
+/* 8029D85C 002994BC 38 03 28 00 */ addi r0, r3, 0x2800
+/* 8029D860 002994C0 90 04 06 B0 */ stw r0, 0x6b0(r4)
+/* 8029D864 002994C4 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D868 002994C8 80 64 06 B4 */ lwz r3, 0x6b4(r4)
+/* 8029D86C 002994CC 38 03 0A 00 */ addi r0, r3, 0xa00
+/* 8029D870 002994D0 90 04 06 B4 */ stw r0, 0x6b4(r4)
+/* 8029D874 002994D4 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D878 002994D8 80 64 06 B8 */ lwz r3, 0x6b8(r4)
+/* 8029D87C 002994DC 38 03 0A 00 */ addi r0, r3, 0xa00
+/* 8029D880 002994E0 90 04 06 B8 */ stw r0, 0x6b8(r4)
+/* 8029D884 002994E4 4B F2 98 DD */ bl _restgpr_22
+/* 8029D888 002994E8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8029D88C 002994EC 7C 08 03 A6 */ mtlr r0
+/* 8029D890 002994F0 38 21 00 30 */ addi r1, r1, 0x30
+/* 8029D894 002994F4 4E 80 00 20 */ blr
+
+.global __THPDecompressiMCURowNxN
+__THPDecompressiMCURowNxN:
+/* 8029D898 002994F8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8029D89C 002994FC 7C 08 02 A6 */ mflr r0
+/* 8029D8A0 00299500 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8029D8A4 00299504 39 61 00 30 */ addi r11, r1, 0x30
+/* 8029D8A8 00299508 4B F2 98 6D */ bl _savegpr_22
+/* 8029D8AC 0029950C 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D8B0 00299510 38 60 00 03 */ li r3, 3
+/* 8029D8B4 00299514 A3 04 06 92 */ lhz r24, 0x692(r4)
+/* 8029D8B8 00299518 4B FC D0 C9 */ bl LCQueueWait
+/* 8029D8BC 0029951C 3F 60 80 53 */ lis r27, lbl_80535580@ha
+/* 8029D8C0 00299520 3F A0 80 53 */ lis r29, lbl_805356C0@ha
+/* 8029D8C4 00299524 3B 9B 55 80 */ addi r28, r27, lbl_80535580@l
+/* 8029D8C8 00299528 57 1F F8 7E */ srwi r31, r24, 1
+/* 8029D8CC 0029952C 3B DD 56 C0 */ addi r30, r29, lbl_805356C0@l
+/* 8029D8D0 00299530 3B 40 00 00 */ li r26, 0
+/* 8029D8D4 00299534 3A C0 00 21 */ li r22, 0x21
+/* 8029D8D8 00299538 3A E0 00 00 */ li r23, 0
+/* 8029D8DC 0029953C 48 00 01 74 */ b lbl_8029DA50
+lbl_8029D8E0:
+/* 8029D8E0 00299540 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D8E4 00299544 80 9B 55 80 */ lwz r4, 0x5580(r27)
+/* 8029D8E8 00299548 48 00 02 0D */ bl __THPHuffDecodeDCTCompY
+/* 8029D8EC 0029954C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D8F0 00299550 80 9C 00 04 */ lwz r4, 4(r28)
+/* 8029D8F4 00299554 48 00 02 01 */ bl __THPHuffDecodeDCTCompY
+/* 8029D8F8 00299558 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D8FC 0029955C 80 9C 00 08 */ lwz r4, 8(r28)
+/* 8029D900 00299560 48 00 01 F5 */ bl __THPHuffDecodeDCTCompY
+/* 8029D904 00299564 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D908 00299568 80 9C 00 0C */ lwz r4, 0xc(r28)
+/* 8029D90C 0029956C 48 00 01 E9 */ bl __THPHuffDecodeDCTCompY
+/* 8029D910 00299570 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D914 00299574 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 8029D918 00299578 48 00 08 39 */ bl __THPHuffDecodeDCTCompU
+/* 8029D91C 0029957C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D920 00299580 80 9C 00 14 */ lwz r4, 0x14(r28)
+/* 8029D924 00299584 48 00 0E B5 */ bl __THPHuffDecodeDCTCompV
+/* 8029D928 00299588 80 1D 56 C0 */ lwz r0, 0x56c0(r29)
+/* 8029D92C 0029958C 57 59 25 36 */ rlwinm r25, r26, 4, 0x14, 0x1b
+/* 8029D930 00299590 93 0D AC E0 */ stw r24, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029D934 00299594 7F 24 CB 78 */ mr r4, r25
+/* 8029D938 00299598 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D93C 0029959C 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D940 002995A0 80 7B 55 80 */ lwz r3, 0x5580(r27)
+/* 8029D944 002995A4 88 05 06 80 */ lbz r0, 0x680(r5)
+/* 8029D948 002995A8 54 00 40 2E */ slwi r0, r0, 8
+/* 8029D94C 002995AC 7C 05 02 14 */ add r0, r5, r0
+/* 8029D950 002995B0 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D954 002995B4 4B FF F3 D5 */ bl __THPInverseDCTNoYPos
+/* 8029D958 002995B8 80 7C 00 04 */ lwz r3, 4(r28)
+/* 8029D95C 002995BC 38 99 00 08 */ addi r4, r25, 8
+/* 8029D960 002995C0 4B FF F3 C9 */ bl __THPInverseDCTNoYPos
+/* 8029D964 002995C4 80 7C 00 08 */ lwz r3, 8(r28)
+/* 8029D968 002995C8 7F 24 CB 78 */ mr r4, r25
+/* 8029D96C 002995CC 4B FF F8 49 */ bl __THPInverseDCTY8
+/* 8029D970 002995D0 80 7C 00 0C */ lwz r3, 0xc(r28)
+/* 8029D974 002995D4 38 99 00 08 */ addi r4, r25, 8
+/* 8029D978 002995D8 4B FF F8 3D */ bl __THPInverseDCTY8
+/* 8029D97C 002995DC 80 1E 00 04 */ lwz r0, 4(r30)
+/* 8029D980 002995E0 57 39 F8 7E */ srwi r25, r25, 1
+/* 8029D984 002995E4 93 ED AC E0 */ stw r31, lbl_8063FFA0-_SDA_BASE_(r13)
+/* 8029D988 002995E8 7F 24 CB 78 */ mr r4, r25
+/* 8029D98C 002995EC 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D990 002995F0 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D994 002995F4 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 8029D998 002995F8 88 05 06 86 */ lbz r0, 0x686(r5)
+/* 8029D99C 002995FC 54 00 40 2E */ slwi r0, r0, 8
+/* 8029D9A0 00299600 7C 05 02 14 */ add r0, r5, r0
+/* 8029D9A4 00299604 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D9A8 00299608 4B FF F3 81 */ bl __THPInverseDCTNoYPos
+/* 8029D9AC 0029960C 80 1E 00 08 */ lwz r0, 8(r30)
+/* 8029D9B0 00299610 7F 24 CB 78 */ mr r4, r25
+/* 8029D9B4 00299614 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D9B8 00299618 90 0D AD 00 */ stw r0, lbl_8063FFC0-_SDA_BASE_(r13)
+/* 8029D9BC 0029961C 80 7C 00 14 */ lwz r3, 0x14(r28)
+/* 8029D9C0 00299620 88 05 06 8C */ lbz r0, 0x68c(r5)
+/* 8029D9C4 00299624 54 00 40 2E */ slwi r0, r0, 8
+/* 8029D9C8 00299628 7C 05 02 14 */ add r0, r5, r0
+/* 8029D9CC 0029962C 90 0D AC C0 */ stw r0, lbl_8063FF80-_SDA_BASE_(r13)
+/* 8029D9D0 00299630 4B FF F3 59 */ bl __THPInverseDCTNoYPos
+/* 8029D9D4 00299634 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D9D8 00299638 88 04 06 A9 */ lbz r0, 0x6a9(r4)
+/* 8029D9DC 0029963C 2C 00 00 00 */ cmpwi r0, 0
+/* 8029D9E0 00299640 41 82 00 6C */ beq lbl_8029DA4C
+/* 8029D9E4 00299644 A0 64 06 AC */ lhz r3, 0x6ac(r4)
+/* 8029D9E8 00299648 38 03 FF FF */ addi r0, r3, -1
+/* 8029D9EC 0029964C B0 04 06 AC */ sth r0, 0x6ac(r4)
+/* 8029D9F0 00299650 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029D9F4 00299654 A0 03 06 AC */ lhz r0, 0x6ac(r3)
+/* 8029D9F8 00299658 2C 00 00 00 */ cmpwi r0, 0
+/* 8029D9FC 0029965C 40 82 00 50 */ bne lbl_8029DA4C
+/* 8029DA00 00299660 A0 03 06 AA */ lhz r0, 0x6aa(r3)
+/* 8029DA04 00299664 B0 03 06 AC */ sth r0, 0x6ac(r3)
+/* 8029DA08 00299668 80 8D AC A4 */ lwz r4, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA0C 0029966C 80 64 06 A4 */ lwz r3, 0x6a4(r4)
+/* 8029DA10 00299670 38 03 00 06 */ addi r0, r3, 6
+/* 8029DA14 00299674 54 03 00 38 */ rlwinm r3, r0, 0, 0, 0x1c
+/* 8029DA18 00299678 38 03 00 01 */ addi r0, r3, 1
+/* 8029DA1C 0029967C 90 04 06 A4 */ stw r0, 0x6a4(r4)
+/* 8029DA20 00299680 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA24 00299684 80 03 06 A4 */ lwz r0, 0x6a4(r3)
+/* 8029DA28 00299688 28 00 00 20 */ cmplwi r0, 0x20
+/* 8029DA2C 0029968C 40 81 00 08 */ ble lbl_8029DA34
+/* 8029DA30 00299690 92 C3 06 A4 */ stw r22, 0x6a4(r3)
+lbl_8029DA34:
+/* 8029DA34 00299694 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA38 00299698 B2 E3 06 84 */ sth r23, 0x684(r3)
+/* 8029DA3C 0029969C 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA40 002996A0 B2 E3 06 8A */ sth r23, 0x68a(r3)
+/* 8029DA44 002996A4 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA48 002996A8 B2 E3 06 90 */ sth r23, 0x690(r3)
+lbl_8029DA4C:
+/* 8029DA4C 002996AC 3B 5A 00 01 */ addi r26, r26, 1
+lbl_8029DA50:
+/* 8029DA50 002996B0 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA54 002996B4 57 44 06 3E */ clrlwi r4, r26, 0x18
+/* 8029DA58 002996B8 A0 03 06 96 */ lhz r0, 0x696(r3)
+/* 8029DA5C 002996BC 7C 04 00 00 */ cmpw r4, r0
+/* 8029DA60 002996C0 41 80 FE 80 */ blt lbl_8029D8E0
+/* 8029DA64 002996C4 3F 20 80 53 */ lis r25, lbl_805356C0@ha
+/* 8029DA68 002996C8 80 63 06 B0 */ lwz r3, 0x6b0(r3)
+/* 8029DA6C 002996CC 80 99 56 C0 */ lwz r4, lbl_805356C0@l(r25)
+/* 8029DA70 002996D0 57 05 20 2E */ rlwinm r5, r24, 4, 0, 0x17
+/* 8029DA74 002996D4 4B FC CE 6D */ bl LCStoreData
+/* 8029DA78 002996D8 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA7C 002996DC 3B 39 56 C0 */ addi r25, r25, 0x56c0
+/* 8029DA80 002996E0 80 99 00 04 */ lwz r4, 4(r25)
+/* 8029DA84 002996E4 57 05 10 32 */ rlwinm r5, r24, 2, 0, 0x19
+/* 8029DA88 002996E8 80 63 06 B4 */ lwz r3, 0x6b4(r3)
+/* 8029DA8C 002996EC 4B FC CE 55 */ bl LCStoreData
+/* 8029DA90 002996F0 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DA94 002996F4 57 05 10 32 */ rlwinm r5, r24, 2, 0, 0x19
+/* 8029DA98 002996F8 80 99 00 08 */ lwz r4, 8(r25)
+/* 8029DA9C 002996FC 80 63 06 B8 */ lwz r3, 0x6b8(r3)
+/* 8029DAA0 00299700 4B FC CE 41 */ bl LCStoreData
+/* 8029DAA4 00299704 80 AD AC A4 */ lwz r5, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DAA8 00299708 57 00 20 2E */ rlwinm r0, r24, 4, 0, 0x17
+/* 8029DAAC 0029970C 57 04 10 32 */ rlwinm r4, r24, 2, 0, 0x19
+/* 8029DAB0 00299710 39 61 00 30 */ addi r11, r1, 0x30
+/* 8029DAB4 00299714 80 65 06 B0 */ lwz r3, 0x6b0(r5)
+/* 8029DAB8 00299718 7C 03 02 14 */ add r0, r3, r0
+/* 8029DABC 0029971C 90 05 06 B0 */ stw r0, 0x6b0(r5)
+/* 8029DAC0 00299720 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DAC4 00299724 80 03 06 B4 */ lwz r0, 0x6b4(r3)
+/* 8029DAC8 00299728 7C 00 22 14 */ add r0, r0, r4
+/* 8029DACC 0029972C 90 03 06 B4 */ stw r0, 0x6b4(r3)
+/* 8029DAD0 00299730 80 6D AC A4 */ lwz r3, lbl_8063FF64-_SDA_BASE_(r13)
+/* 8029DAD4 00299734 80 03 06 B8 */ lwz r0, 0x6b8(r3)
+/* 8029DAD8 00299738 7C 00 22 14 */ add r0, r0, r4
+/* 8029DADC 0029973C 90 03 06 B8 */ stw r0, 0x6b8(r3)
+/* 8029DAE0 00299740 4B F2 96 81 */ bl _restgpr_22
+/* 8029DAE4 00299744 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8029DAE8 00299748 7C 08 03 A6 */ mtlr r0
+/* 8029DAEC 0029974C 38 21 00 30 */ addi r1, r1, 0x30
+/* 8029DAF0 00299750 4E 80 00 20 */ blr
+
+.global __THPHuffDecodeDCTCompY
+__THPHuffDecodeDCTCompY:
+/* 8029DAF4 00299754 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029DAF8 00299758 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8029DAFC 0029975C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8029DB00 00299760 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8029DB04 00299764 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8029DB08 00299768 7C 00 27 EC */ dcbz 0, r4
+/* 8029DB0C 0029976C 81 83 06 A4 */ lwz r12, 0x6a4(r3)
+/* 8029DB10 00299770 81 0D AD C0 */ lwz r8, lbl_80640080-_SDA_BASE_(r13)
+/* 8029DB14 00299774 2C 0C 00 1C */ cmpwi r12, 0x1c
+/* 8029DB18 00299778 81 63 06 A0 */ lwz r11, 0x6a0(r3)
+/* 8029DB1C 0029977C 38 AC 00 04 */ addi r5, r12, 4
+/* 8029DB20 00299780 39 48 00 20 */ addi r10, r8, 0x20
+/* 8029DB24 00299784 5D 69 2E FE */ rlwnm r9, r11, r5, 0x1b, 0x1f
+/* 8029DB28 00299788 41 81 00 BC */ bgt lbl_8029DBE4
+/* 8029DB2C 0029978C 7C A8 48 AE */ lbzx r5, r8, r9
+/* 8029DB30 00299790 7D 4A 48 AE */ lbzx r10, r10, r9
+/* 8029DB34 00299794 2C 05 00 FF */ cmpwi r5, 0xff
+/* 8029DB38 00299798 41 82 00 10 */ beq lbl_8029DB48
+/* 8029DB3C 0029979C 7D 8C 52 14 */ add r12, r12, r10
+/* 8029DB40 002997A0 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029DB44 002997A4 48 00 02 3C */ b lbl_8029DD80
+lbl_8029DB48:
+/* 8029DB48 002997A8 38 C8 00 58 */ addi r6, r8, 0x58
+/* 8029DB4C 002997AC 38 A0 00 05 */ li r5, 5
+/* 8029DB50 002997B0 39 8C 00 05 */ addi r12, r12, 5
+lbl_8029DB54:
+/* 8029DB54 002997B4 2C 0C 00 21 */ cmpwi r12, 0x21
+/* 8029DB58 002997B8 55 29 08 3C */ slwi r9, r9, 1
+/* 8029DB5C 002997BC 41 82 00 18 */ beq lbl_8029DB74
+/* 8029DB60 002997C0 5D 6A 67 FE */ rlwnm r10, r11, r12, 0x1f, 0x1f
+/* 8029DB64 002997C4 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029DB68 002997C8 7D 29 53 78 */ or r9, r9, r10
+/* 8029DB6C 002997CC 39 8C 00 01 */ addi r12, r12, 1
+/* 8029DB70 002997D0 48 00 00 48 */ b lbl_8029DBB8
+lbl_8029DB74:
+/* 8029DB74 002997D4 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029DB78 002997D8 39 80 00 01 */ li r12, 1
+/* 8029DB7C 002997DC 85 6A 00 04 */ lwzu r11, 4(r10)
+/* 8029DB80 002997E0 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029DB84 002997E4 51 69 0F FE */ rlwimi r9, r11, 1, 0x1f, 0x1f
+/* 8029DB88 002997E8 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029DB8C 002997EC 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029DB90 002997F0 48 00 00 14 */ b lbl_8029DBA4
+lbl_8029DB94:
+/* 8029DB94 002997F4 55 29 08 3C */ slwi r9, r9, 1
+/* 8029DB98 002997F8 5D 6A 67 FE */ rlwnm r10, r11, r12, 0x1f, 0x1f
+/* 8029DB9C 002997FC 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029DBA0 00299800 7D 29 53 78 */ or r9, r9, r10
+lbl_8029DBA4:
+/* 8029DBA4 00299804 7C 09 00 00 */ cmpw r9, r0
+/* 8029DBA8 00299808 39 8C 00 01 */ addi r12, r12, 1
+/* 8029DBAC 0029980C 38 A5 00 01 */ addi r5, r5, 1
+/* 8029DBB0 00299810 41 81 FF E4 */ bgt lbl_8029DB94
+/* 8029DBB4 00299814 48 00 00 10 */ b lbl_8029DBC4
+lbl_8029DBB8:
+/* 8029DBB8 00299818 7C 09 00 00 */ cmpw r9, r0
+/* 8029DBBC 0029981C 38 A5 00 01 */ addi r5, r5, 1
+/* 8029DBC0 00299820 41 81 FF 94 */ bgt lbl_8029DB54
+lbl_8029DBC4:
+/* 8029DBC4 00299824 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029DBC8 00299828 54 A0 10 3A */ slwi r0, r5, 2
+/* 8029DBCC 0029982C 7C A8 02 14 */ add r5, r8, r0
+/* 8029DBD0 00299830 80 08 00 40 */ lwz r0, 0x40(r8)
+/* 8029DBD4 00299834 80 A5 00 8C */ lwz r5, 0x8c(r5)
+/* 8029DBD8 00299838 7C 00 4A 14 */ add r0, r0, r9
+/* 8029DBDC 0029983C 7C A5 00 AE */ lbzx r5, r5, r0
+/* 8029DBE0 00299840 48 00 01 A0 */ b lbl_8029DD80
+lbl_8029DBE4:
+/* 8029DBE4 00299844 2C 0C 00 21 */ cmpwi r12, 0x21
+/* 8029DBE8 00299848 81 23 06 9C */ lwz r9, 0x69c(r3)
+/* 8029DBEC 0029984C 41 82 00 AC */ beq lbl_8029DC98
+/* 8029DBF0 00299850 2C 0C 00 20 */ cmpwi r12, 0x20
+/* 8029DBF4 00299854 5D 65 2E FE */ rlwnm r5, r11, r5, 0x1b, 0x1f
+/* 8029DBF8 00299858 41 82 00 2C */ beq lbl_8029DC24
+/* 8029DBFC 0029985C 7D 28 28 AE */ lbzx r9, r8, r5
+/* 8029DC00 00299860 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029DC04 00299864 2C 09 00 FF */ cmpwi r9, 0xff
+/* 8029DC08 00299868 7C AC 52 14 */ add r5, r12, r10
+/* 8029DC0C 0029986C 41 82 00 F0 */ beq lbl_8029DCFC
+/* 8029DC10 00299870 2C 05 00 21 */ cmpwi r5, 0x21
+/* 8029DC14 00299874 90 A3 06 A4 */ stw r5, 0x6a4(r3)
+/* 8029DC18 00299878 41 81 00 E4 */ bgt lbl_8029DCFC
+/* 8029DC1C 0029987C 7D 25 4B 78 */ mr r5, r9
+/* 8029DC20 00299880 48 00 01 60 */ b lbl_8029DD80
+lbl_8029DC24:
+/* 8029DC24 00299884 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029DC28 00299888 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029DC2C 0029988C 51 65 27 3E */ rlwimi r5, r11, 4, 0x1c, 0x1f
+/* 8029DC30 00299890 7D 28 28 AE */ lbzx r9, r8, r5
+/* 8029DC34 00299894 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029DC38 00299898 2C 09 00 FF */ cmpwi r9, 0xff
+/* 8029DC3C 0029989C 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029DC40 002998A0 91 43 06 A4 */ stw r10, 0x6a4(r3)
+/* 8029DC44 002998A4 41 82 00 0C */ beq lbl_8029DC50
+/* 8029DC48 002998A8 7D 25 4B 78 */ mr r5, r9
+/* 8029DC4C 002998AC 48 00 01 34 */ b lbl_8029DD80
+lbl_8029DC50:
+/* 8029DC50 002998B0 54 A9 D8 08 */ slwi r9, r5, 0x1b
+/* 8029DC54 002998B4 38 C8 00 58 */ addi r6, r8, 0x58
+/* 8029DC58 002998B8 51 69 F8 7E */ rlwimi r9, r11, 0x1f, 1, 0x1f
+/* 8029DC5C 002998BC 39 80 00 05 */ li r12, 5
+lbl_8029DC60:
+/* 8029DC60 002998C0 21 6C 00 1F */ subfic r11, r12, 0x1f
+/* 8029DC64 002998C4 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029DC68 002998C8 7D 25 5C 30 */ srw r5, r9, r11
+/* 8029DC6C 002998CC 39 8C 00 01 */ addi r12, r12, 1
+/* 8029DC70 002998D0 7C 05 00 00 */ cmpw r5, r0
+/* 8029DC74 002998D4 41 81 FF EC */ bgt lbl_8029DC60
+/* 8029DC78 002998D8 91 83 06 A4 */ stw r12, 0x6a4(r3)
+lbl_8029DC7C:
+/* 8029DC7C 002998DC 55 80 10 3A */ slwi r0, r12, 2
+/* 8029DC80 002998E0 80 E8 00 40 */ lwz r7, 0x40(r8)
+/* 8029DC84 002998E4 7C C8 02 14 */ add r6, r8, r0
+/* 8029DC88 002998E8 80 C6 00 8C */ lwz r6, 0x8c(r6)
+/* 8029DC8C 002998EC 7C 07 2A 14 */ add r0, r7, r5
+/* 8029DC90 002998F0 7C A6 00 AE */ lbzx r5, r6, r0
+/* 8029DC94 002998F4 48 00 00 EC */ b lbl_8029DD80
+lbl_8029DC98:
+/* 8029DC98 002998F8 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029DC9C 002998FC 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029DCA0 00299900 55 65 2E FE */ srwi r5, r11, 0x1b
+/* 8029DCA4 00299904 7D 88 28 AE */ lbzx r12, r8, r5
+/* 8029DCA8 00299908 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029DCAC 0029990C 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029DCB0 00299910 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029DCB4 00299914 39 4A 00 01 */ addi r10, r10, 1
+/* 8029DCB8 00299918 41 82 00 10 */ beq lbl_8029DCC8
+/* 8029DCBC 0029991C 91 43 06 A4 */ stw r10, 0x6a4(r3)
+/* 8029DCC0 00299920 7D 85 63 78 */ mr r5, r12
+/* 8029DCC4 00299924 48 00 00 BC */ b lbl_8029DD80
+lbl_8029DCC8:
+/* 8029DCC8 00299928 39 80 00 05 */ li r12, 5
+/* 8029DCCC 0029992C 38 C0 00 14 */ li r6, 0x14
+lbl_8029DCD0:
+/* 8029DCD0 00299930 21 2C 00 1F */ subfic r9, r12, 0x1f
+/* 8029DCD4 00299934 38 C6 00 04 */ addi r6, r6, 4
+/* 8029DCD8 00299938 7C A8 32 14 */ add r5, r8, r6
+/* 8029DCDC 0029993C 39 8C 00 01 */ addi r12, r12, 1
+/* 8029DCE0 00299940 80 05 00 44 */ lwz r0, 0x44(r5)
+/* 8029DCE4 00299944 7D 65 4C 30 */ srw r5, r11, r9
+/* 8029DCE8 00299948 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029DCEC 0029994C 41 85 FF E4 */ bgt cr1, lbl_8029DCD0
+/* 8029DCF0 00299950 38 0C 00 01 */ addi r0, r12, 1
+/* 8029DCF4 00299954 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029DCF8 00299958 4B FF FF 84 */ b lbl_8029DC7C
+lbl_8029DCFC:
+/* 8029DCFC 0029995C 20 0C 00 21 */ subfic r0, r12, 0x21
+/* 8029DD00 00299960 38 A0 FF FF */ li r5, -1
+/* 8029DD04 00299964 7C A7 00 30 */ slw r7, r5, r0
+/* 8029DD08 00299968 81 23 06 9C */ lwz r9, 0x69c(r3)
+/* 8029DD0C 0029996C 7D 65 38 78 */ andc r5, r11, r7
+/* 8029DD10 00299970 38 E8 00 44 */ addi r7, r8, 0x44
+/* 8029DD14 00299974 20 CC 00 21 */ subfic r6, r12, 0x21
+/* 8029DD18 00299978 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029DD1C 0029997C 39 86 00 01 */ addi r12, r6, 1
+/* 8029DD20 00299980 54 C6 10 3A */ slwi r6, r6, 2
+/* 8029DD24 00299984 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029DD28 00299988 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029DD2C 0029998C 7C E7 32 14 */ add r7, r7, r6
+/* 8029DD30 00299990 51 65 0F FE */ rlwimi r5, r11, 1, 0x1f, 0x1f
+/* 8029DD34 00299994 39 20 00 02 */ li r9, 2
+/* 8029DD38 00299998 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029DD3C 0029999C 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029DD40 002999A0 48 00 00 18 */ b lbl_8029DD58
+lbl_8029DD44:
+/* 8029DD44 002999A4 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029DD48 002999A8 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029DD4C 002999AC 7C A5 52 14 */ add r5, r5, r10
+/* 8029DD50 002999B0 39 29 00 01 */ addi r9, r9, 1
+/* 8029DD54 002999B4 39 8C 00 01 */ addi r12, r12, 1
+lbl_8029DD58:
+/* 8029DD58 002999B8 7C 05 30 00 */ cmpw r5, r6
+/* 8029DD5C 002999BC 5D 6A 4F FE */ rlwnm r10, r11, r9, 0x1f, 0x1f
+/* 8029DD60 002999C0 41 81 FF E4 */ bgt lbl_8029DD44
+/* 8029DD64 002999C4 91 23 06 A4 */ stw r9, 0x6a4(r3)
+/* 8029DD68 002999C8 55 80 10 3A */ slwi r0, r12, 2
+/* 8029DD6C 002999CC 7C C8 02 14 */ add r6, r8, r0
+/* 8029DD70 002999D0 80 08 00 40 */ lwz r0, 0x40(r8)
+/* 8029DD74 002999D4 80 C6 00 8C */ lwz r6, 0x8c(r6)
+/* 8029DD78 002999D8 7C 00 2A 14 */ add r0, r0, r5
+/* 8029DD7C 002999DC 7C A6 00 AE */ lbzx r5, r6, r0
+lbl_8029DD80:
+/* 8029DD80 002999E0 38 00 00 20 */ li r0, 0x20
+/* 8029DD84 002999E4 7C 04 07 EC */ dcbz r4, r0
+/* 8029DD88 002999E8 38 00 00 40 */ li r0, 0x40
+/* 8029DD8C 002999EC 38 E0 00 00 */ li r7, 0
+/* 8029DD90 002999F0 7C 04 07 EC */ dcbz r4, r0
+/* 8029DD94 002999F4 2C 85 00 00 */ cmpwi cr1, r5, 0
+/* 8029DD98 002999F8 41 86 00 88 */ beq cr1, lbl_8029DE20
+/* 8029DD9C 002999FC 80 E3 06 A4 */ lwz r7, 0x6a4(r3)
+/* 8029DDA0 00299A00 21 07 00 21 */ subfic r8, r7, 0x21
+/* 8029DDA4 00299A04 80 C3 06 A0 */ lwz r6, 0x6a0(r3)
+/* 8029DDA8 00299A08 7D 28 28 11 */ subfc. r9, r8, r5
+/* 8029DDAC 00299A0C 39 47 FF FF */ addi r10, r7, -1
+/* 8029DDB0 00299A10 41 81 00 1C */ bgt lbl_8029DDCC
+/* 8029DDB4 00299A14 7C 07 2A 14 */ add r0, r7, r5
+/* 8029DDB8 00299A18 7C C7 50 30 */ slw r7, r6, r10
+/* 8029DDBC 00299A1C 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029DDC0 00299A20 20 05 00 20 */ subfic r0, r5, 0x20
+/* 8029DDC4 00299A24 7C E7 04 30 */ srw r7, r7, r0
+/* 8029DDC8 00299A28 48 00 00 30 */ b lbl_8029DDF8
+lbl_8029DDCC:
+/* 8029DDCC 00299A2C 7C C0 50 30 */ slw r0, r6, r10
+/* 8029DDD0 00299A30 80 E3 06 9C */ lwz r7, 0x69c(r3)
+/* 8029DDD4 00299A34 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029DDD8 00299A38 39 29 00 01 */ addi r9, r9, 1
+/* 8029DDDC 00299A3C 90 C3 06 A0 */ stw r6, 0x6a0(r3)
+/* 8029DDE0 00299A40 7C C6 44 30 */ srw r6, r6, r8
+/* 8029DDE4 00299A44 7C 06 02 14 */ add r0, r6, r0
+/* 8029DDE8 00299A48 90 E3 06 9C */ stw r7, 0x69c(r3)
+/* 8029DDEC 00299A4C 91 23 06 A4 */ stw r9, 0x6a4(r3)
+/* 8029DDF0 00299A50 21 25 00 20 */ subfic r9, r5, 0x20
+/* 8029DDF4 00299A54 7C 07 4C 30 */ srw r7, r0, r9
+lbl_8029DDF8:
+/* 8029DDF8 00299A58 7C E6 07 34 */ extsh r6, r7
+/* 8029DDFC 00299A5C 20 05 00 20 */ subfic r0, r5, 0x20
+/* 8029DE00 00299A60 7C C6 00 34 */ cntlzw r6, r6
+/* 8029DE04 00299A64 7C 86 00 00 */ cmpw cr1, r6, r0
+/* 8029DE08 00299A68 40 85 00 18 */ ble cr1, lbl_8029DE20
+/* 8029DE0C 00299A6C 38 00 FF FF */ li r0, -1
+/* 8029DE10 00299A70 7C 00 28 30 */ slw r0, r0, r5
+/* 8029DE14 00299A74 7C A7 02 14 */ add r5, r7, r0
+/* 8029DE18 00299A78 38 05 00 01 */ addi r0, r5, 1
+/* 8029DE1C 00299A7C 7C 07 07 34 */ extsh r7, r0
+lbl_8029DE20:
+/* 8029DE20 00299A80 38 00 00 60 */ li r0, 0x60
+/* 8029DE24 00299A84 7C 04 07 EC */ dcbz r4, r0
+/* 8029DE28 00299A88 3D 40 80 40 */ lis r10, lbl_803FD9D8@ha
+/* 8029DE2C 00299A8C A8 03 06 84 */ lha r0, 0x684(r3)
+/* 8029DE30 00299A90 39 4A D9 D8 */ addi r10, r10, lbl_803FD9D8@l
+/* 8029DE34 00299A94 38 A0 00 01 */ li r5, 1
+/* 8029DE38 00299A98 39 60 FF FF */ li r11, -1
+/* 8029DE3C 00299A9C 7C 00 3A 14 */ add r0, r0, r7
+/* 8029DE40 00299AA0 B0 03 06 84 */ sth r0, 0x684(r3)
+/* 8029DE44 00299AA4 B0 04 00 00 */ sth r0, 0(r4)
+/* 8029DE48 00299AA8 81 0D AD 60 */ lwz r8, lbl_80640020-_SDA_BASE_(r13)
+/* 8029DE4C 00299AAC 80 C3 06 A4 */ lwz r6, 0x6a4(r3)
+/* 8029DE50 00299AB0 80 03 06 A0 */ lwz r0, 0x6a0(r3)
+/* 8029DE54 00299AB4 38 E8 00 20 */ addi r7, r8, 0x20
+/* 8029DE58 00299AB8 48 00 02 D0 */ b lbl_8029E128
+lbl_8029DE5C:
+/* 8029DE5C 00299ABC 2C 06 00 1C */ cmpwi r6, 0x1c
+/* 8029DE60 00299AC0 3B C6 00 04 */ addi r30, r6, 4
+/* 8029DE64 00299AC4 5C 1D F6 FE */ rlwnm r29, r0, r30, 0x1b, 0x1f
+/* 8029DE68 00299AC8 41 81 00 B0 */ bgt lbl_8029DF18
+/* 8029DE6C 00299ACC 7F E8 E8 AE */ lbzx r31, r8, r29
+/* 8029DE70 00299AD0 7F C7 E8 AE */ lbzx r30, r7, r29
+/* 8029DE74 00299AD4 2C 1F 00 FF */ cmpwi r31, 0xff
+/* 8029DE78 00299AD8 41 82 00 0C */ beq lbl_8029DE84
+/* 8029DE7C 00299ADC 7C C6 F2 14 */ add r6, r6, r30
+/* 8029DE80 00299AE0 48 00 02 14 */ b lbl_8029E094
+lbl_8029DE84:
+/* 8029DE84 00299AE4 39 28 00 58 */ addi r9, r8, 0x58
+/* 8029DE88 00299AE8 3B C0 00 05 */ li r30, 5
+/* 8029DE8C 00299AEC 38 C6 00 05 */ addi r6, r6, 5
+lbl_8029DE90:
+/* 8029DE90 00299AF0 2C 06 00 21 */ cmpwi r6, 0x21
+/* 8029DE94 00299AF4 57 BD 08 3C */ slwi r29, r29, 1
+/* 8029DE98 00299AF8 41 82 00 18 */ beq lbl_8029DEB0
+/* 8029DE9C 00299AFC 5C 1F 37 FE */ rlwnm r31, r0, r6, 0x1f, 0x1f
+/* 8029DEA0 00299B00 85 89 00 04 */ lwzu r12, 4(r9)
+/* 8029DEA4 00299B04 7F BD FB 78 */ or r29, r29, r31
+/* 8029DEA8 00299B08 38 C6 00 01 */ addi r6, r6, 1
+/* 8029DEAC 00299B0C 48 00 00 44 */ b lbl_8029DEF0
+lbl_8029DEB0:
+/* 8029DEB0 00299B10 83 E3 06 9C */ lwz r31, 0x69c(r3)
+/* 8029DEB4 00299B14 38 C0 00 01 */ li r6, 1
+/* 8029DEB8 00299B18 84 1F 00 04 */ lwzu r0, 4(r31)
+/* 8029DEBC 00299B1C 85 89 00 04 */ lwzu r12, 4(r9)
+/* 8029DEC0 00299B20 50 1D 0F FE */ rlwimi r29, r0, 1, 0x1f, 0x1f
+/* 8029DEC4 00299B24 93 E3 06 9C */ stw r31, 0x69c(r3)
+/* 8029DEC8 00299B28 48 00 00 14 */ b lbl_8029DEDC
+lbl_8029DECC:
+/* 8029DECC 00299B2C 57 BD 08 3C */ slwi r29, r29, 1
+/* 8029DED0 00299B30 5C 1F 37 FE */ rlwnm r31, r0, r6, 0x1f, 0x1f
+/* 8029DED4 00299B34 85 89 00 04 */ lwzu r12, 4(r9)
+/* 8029DED8 00299B38 7F BD FB 78 */ or r29, r29, r31
+lbl_8029DEDC:
+/* 8029DEDC 00299B3C 7C 1D 60 00 */ cmpw r29, r12
+/* 8029DEE0 00299B40 38 C6 00 01 */ addi r6, r6, 1
+/* 8029DEE4 00299B44 3B DE 00 01 */ addi r30, r30, 1
+/* 8029DEE8 00299B48 41 81 FF E4 */ bgt lbl_8029DECC
+/* 8029DEEC 00299B4C 48 00 00 10 */ b lbl_8029DEFC
+lbl_8029DEF0:
+/* 8029DEF0 00299B50 7C 1D 60 00 */ cmpw r29, r12
+/* 8029DEF4 00299B54 3B DE 00 01 */ addi r30, r30, 1
+/* 8029DEF8 00299B58 41 81 FF 98 */ bgt lbl_8029DE90
+lbl_8029DEFC:
+/* 8029DEFC 00299B5C 57 C9 10 3A */ slwi r9, r30, 2
+/* 8029DF00 00299B60 83 E8 00 40 */ lwz r31, 0x40(r8)
+/* 8029DF04 00299B64 7D 28 4A 14 */ add r9, r8, r9
+/* 8029DF08 00299B68 81 89 00 8C */ lwz r12, 0x8c(r9)
+/* 8029DF0C 00299B6C 7D 3F EA 14 */ add r9, r31, r29
+/* 8029DF10 00299B70 7F EC 48 AE */ lbzx r31, r12, r9
+/* 8029DF14 00299B74 48 00 01 80 */ b lbl_8029E094
+lbl_8029DF18:
+/* 8029DF18 00299B78 2C 06 00 21 */ cmpwi r6, 0x21
+/* 8029DF1C 00299B7C 83 A3 06 9C */ lwz r29, 0x69c(r3)
+/* 8029DF20 00299B80 41 82 00 34 */ beq lbl_8029DF54
+/* 8029DF24 00299B84 2C 06 00 20 */ cmpwi r6, 0x20
+/* 8029DF28 00299B88 5C 1E F6 FE */ rlwnm r30, r0, r30, 0x1b, 0x1f
+/* 8029DF2C 00299B8C 41 82 00 8C */ beq lbl_8029DFB8
+/* 8029DF30 00299B90 7F E8 F0 AE */ lbzx r31, r8, r30
+/* 8029DF34 00299B94 7F 87 F0 AE */ lbzx r28, r7, r30
+/* 8029DF38 00299B98 2C 1F 00 FF */ cmpwi r31, 0xff
+/* 8029DF3C 00299B9C 7F C6 E2 14 */ add r30, r6, r28
+/* 8029DF40 00299BA0 41 82 00 DC */ beq lbl_8029E01C
+/* 8029DF44 00299BA4 2C 1E 00 21 */ cmpwi r30, 0x21
+/* 8029DF48 00299BA8 41 81 00 D4 */ bgt lbl_8029E01C
+/* 8029DF4C 00299BAC 7F C6 F3 78 */ mr r6, r30
+/* 8029DF50 00299BB0 48 00 01 44 */ b lbl_8029E094
+lbl_8029DF54:
+/* 8029DF54 00299BB4 84 1D 00 04 */ lwzu r0, 4(r29)
+/* 8029DF58 00299BB8 93 A3 06 9C */ stw r29, 0x69c(r3)
+/* 8029DF5C 00299BBC 54 1E 2E FE */ srwi r30, r0, 0x1b
+/* 8029DF60 00299BC0 7F E8 F0 AE */ lbzx r31, r8, r30
+/* 8029DF64 00299BC4 7F A7 F0 AE */ lbzx r29, r7, r30
+/* 8029DF68 00299BC8 2C 1F 00 FF */ cmpwi r31, 0xff
+/* 8029DF6C 00299BCC 38 DD 00 01 */ addi r6, r29, 1
+/* 8029DF70 00299BD0 41 82 00 08 */ beq lbl_8029DF78
+/* 8029DF74 00299BD4 48 00 01 20 */ b lbl_8029E094
+lbl_8029DF78:
+/* 8029DF78 00299BD8 3B E0 00 05 */ li r31, 5
+/* 8029DF7C 00299BDC 38 C0 00 14 */ li r6, 0x14
+lbl_8029DF80:
+/* 8029DF80 00299BE0 23 BF 00 1F */ subfic r29, r31, 0x1f
+/* 8029DF84 00299BE4 38 C6 00 04 */ addi r6, r6, 4
+/* 8029DF88 00299BE8 7D 88 32 14 */ add r12, r8, r6
+/* 8029DF8C 00299BEC 3B FF 00 01 */ addi r31, r31, 1
+/* 8029DF90 00299BF0 81 2C 00 44 */ lwz r9, 0x44(r12)
+/* 8029DF94 00299BF4 7C 1E EC 30 */ srw r30, r0, r29
+/* 8029DF98 00299BF8 7C 9E 48 00 */ cmpw cr1, r30, r9
+/* 8029DF9C 00299BFC 41 85 FF E4 */ bgt cr1, lbl_8029DF80
+/* 8029DFA0 00299C00 81 28 00 40 */ lwz r9, 0x40(r8)
+/* 8029DFA4 00299C04 38 DF 00 01 */ addi r6, r31, 1
+/* 8029DFA8 00299C08 81 8C 00 8C */ lwz r12, 0x8c(r12)
+/* 8029DFAC 00299C0C 7D 29 F2 14 */ add r9, r9, r30
+/* 8029DFB0 00299C10 7F EC 48 AE */ lbzx r31, r12, r9
+/* 8029DFB4 00299C14 48 00 00 E0 */ b lbl_8029E094
+lbl_8029DFB8:
+/* 8029DFB8 00299C18 84 1D 00 04 */ lwzu r0, 4(r29)
+/* 8029DFBC 00299C1C 93 A3 06 9C */ stw r29, 0x69c(r3)
+/* 8029DFC0 00299C20 50 1E 27 3E */ rlwimi r30, r0, 4, 0x1c, 0x1f
+/* 8029DFC4 00299C24 7F E8 F0 AE */ lbzx r31, r8, r30
+/* 8029DFC8 00299C28 7C C7 F0 AE */ lbzx r6, r7, r30
+/* 8029DFCC 00299C2C 2C 1F 00 FF */ cmpwi r31, 0xff
+/* 8029DFD0 00299C30 41 82 00 08 */ beq lbl_8029DFD8
+/* 8029DFD4 00299C34 48 00 00 C0 */ b lbl_8029E094
+lbl_8029DFD8:
+/* 8029DFD8 00299C38 57 DD D8 08 */ slwi r29, r30, 0x1b
+/* 8029DFDC 00299C3C 39 28 00 58 */ addi r9, r8, 0x58
+/* 8029DFE0 00299C40 50 1D F8 7E */ rlwimi r29, r0, 0x1f, 1, 0x1f
+/* 8029DFE4 00299C44 38 C0 00 05 */ li r6, 5
+lbl_8029DFE8:
+/* 8029DFE8 00299C48 23 E6 00 1F */ subfic r31, r6, 0x1f
+/* 8029DFEC 00299C4C 85 89 00 04 */ lwzu r12, 4(r9)
+/* 8029DFF0 00299C50 7F BE FC 30 */ srw r30, r29, r31
+/* 8029DFF4 00299C54 38 C6 00 01 */ addi r6, r6, 1
+/* 8029DFF8 00299C58 7C 1E 60 00 */ cmpw r30, r12
+/* 8029DFFC 00299C5C 41 81 FF EC */ bgt lbl_8029DFE8
+/* 8029E000 00299C60 54 C9 10 3A */ slwi r9, r6, 2
+/* 8029E004 00299C64 83 E8 00 40 */ lwz r31, 0x40(r8)
+/* 8029E008 00299C68 7D 28 4A 14 */ add r9, r8, r9
+/* 8029E00C 00299C6C 81 89 00 8C */ lwz r12, 0x8c(r9)
+/* 8029E010 00299C70 7D 3F F2 14 */ add r9, r31, r30
+/* 8029E014 00299C74 7F EC 48 AE */ lbzx r31, r12, r9
+/* 8029E018 00299C78 48 00 00 7C */ b lbl_8029E094
+lbl_8029E01C:
+/* 8029E01C 00299C7C 21 26 00 21 */ subfic r9, r6, 0x21
+/* 8029E020 00299C80 83 A3 06 9C */ lwz r29, 0x69c(r3)
+/* 8029E024 00299C84 7D 69 48 30 */ slw r9, r11, r9
+/* 8029E028 00299C88 7C 1E 48 78 */ andc r30, r0, r9
+/* 8029E02C 00299C8C 39 28 00 44 */ addi r9, r8, 0x44
+/* 8029E030 00299C90 21 86 00 21 */ subfic r12, r6, 0x21
+/* 8029E034 00299C94 84 1D 00 04 */ lwzu r0, 4(r29)
+/* 8029E038 00299C98 3B EC 00 01 */ addi r31, r12, 1
+/* 8029E03C 00299C9C 55 8C 10 3A */ slwi r12, r12, 2
+/* 8029E040 00299CA0 57 DE 08 3C */ slwi r30, r30, 1
+/* 8029E044 00299CA4 93 A3 06 9C */ stw r29, 0x69c(r3)
+/* 8029E048 00299CA8 7D 29 62 14 */ add r9, r9, r12
+/* 8029E04C 00299CAC 50 1E 0F FE */ rlwimi r30, r0, 1, 0x1f, 0x1f
+/* 8029E050 00299CB0 38 C0 00 02 */ li r6, 2
+/* 8029E054 00299CB4 85 89 00 04 */ lwzu r12, 4(r9)
+/* 8029E058 00299CB8 48 00 00 18 */ b lbl_8029E070
+lbl_8029E05C:
+/* 8029E05C 00299CBC 57 DE 08 3C */ slwi r30, r30, 1
+/* 8029E060 00299CC0 85 89 00 04 */ lwzu r12, 4(r9)
+/* 8029E064 00299CC4 7F DE E2 14 */ add r30, r30, r28
+/* 8029E068 00299CC8 38 C6 00 01 */ addi r6, r6, 1
+/* 8029E06C 00299CCC 3B FF 00 01 */ addi r31, r31, 1
+lbl_8029E070:
+/* 8029E070 00299CD0 7C 1E 60 00 */ cmpw r30, r12
+/* 8029E074 00299CD4 5C 1C 37 FE */ rlwnm r28, r0, r6, 0x1f, 0x1f
+/* 8029E078 00299CD8 41 81 FF E4 */ bgt lbl_8029E05C
+/* 8029E07C 00299CDC 57 E9 10 3A */ slwi r9, r31, 2
+/* 8029E080 00299CE0 83 E8 00 40 */ lwz r31, 0x40(r8)
+/* 8029E084 00299CE4 7D 28 4A 14 */ add r9, r8, r9
+/* 8029E088 00299CE8 81 89 00 8C */ lwz r12, 0x8c(r9)
+/* 8029E08C 00299CEC 7D 3F F2 14 */ add r9, r31, r30
+/* 8029E090 00299CF0 7F EC 48 AE */ lbzx r31, r12, r9
+lbl_8029E094:
+/* 8029E094 00299CF4 73 FC 00 0F */ andi. r28, r31, 0xf
+/* 8029E098 00299CF8 7F FF 26 70 */ srawi r31, r31, 4
+/* 8029E09C 00299CFC 41 82 00 7C */ beq lbl_8029E118
+/* 8029E0A0 00299D00 7C A5 FA 14 */ add r5, r5, r31
+/* 8029E0A4 00299D04 23 C6 00 21 */ subfic r30, r6, 0x21
+/* 8029E0A8 00299D08 7F BE E0 11 */ subfc. r29, r30, r28
+/* 8029E0AC 00299D0C 39 26 FF FF */ addi r9, r6, -1
+/* 8029E0B0 00299D10 41 81 00 18 */ bgt lbl_8029E0C8
+/* 8029E0B4 00299D14 7C C6 E2 14 */ add r6, r6, r28
+/* 8029E0B8 00299D18 7C 0C 48 30 */ slw r12, r0, r9
+/* 8029E0BC 00299D1C 21 3C 00 20 */ subfic r9, r28, 0x20
+/* 8029E0C0 00299D20 7D 9F 4C 30 */ srw r31, r12, r9
+/* 8029E0C4 00299D24 48 00 00 28 */ b lbl_8029E0EC
+lbl_8029E0C8:
+/* 8029E0C8 00299D28 7C 09 48 30 */ slw r9, r0, r9
+/* 8029E0CC 00299D2C 81 83 06 9C */ lwz r12, 0x69c(r3)
+/* 8029E0D0 00299D30 84 0C 00 04 */ lwzu r0, 4(r12)
+/* 8029E0D4 00299D34 38 DD 00 01 */ addi r6, r29, 1
+/* 8029E0D8 00299D38 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029E0DC 00299D3C 7C 0C F4 30 */ srw r12, r0, r30
+/* 8029E0E0 00299D40 7D 2C 4A 14 */ add r9, r12, r9
+/* 8029E0E4 00299D44 23 BC 00 20 */ subfic r29, r28, 0x20
+/* 8029E0E8 00299D48 7D 3F EC 30 */ srw r31, r9, r29
+lbl_8029E0EC:
+/* 8029E0EC 00299D4C 7F EC 00 34 */ cntlzw r12, r31
+/* 8029E0F0 00299D50 21 3C 00 20 */ subfic r9, r28, 0x20
+/* 8029E0F4 00299D54 7C 8C 48 00 */ cmpw cr1, r12, r9
+/* 8029E0F8 00299D58 40 85 00 10 */ ble cr1, lbl_8029E108
+/* 8029E0FC 00299D5C 7D 69 E0 30 */ slw r9, r11, r28
+/* 8029E100 00299D60 7D 29 FA 14 */ add r9, r9, r31
+/* 8029E104 00299D64 3B E9 00 01 */ addi r31, r9, 1
+lbl_8029E108:
+/* 8029E108 00299D68 7D 2A 28 AE */ lbzx r9, r10, r5
+/* 8029E10C 00299D6C 55 29 08 3C */ slwi r9, r9, 1
+/* 8029E110 00299D70 7F E4 4B 2E */ sthx r31, r4, r9
+/* 8029E114 00299D74 48 00 00 10 */ b lbl_8029E124
+lbl_8029E118:
+/* 8029E118 00299D78 2C 9F 00 0F */ cmpwi cr1, r31, 0xf
+/* 8029E11C 00299D7C 40 86 00 14 */ bne cr1, lbl_8029E130
+/* 8029E120 00299D80 38 A5 00 0F */ addi r5, r5, 0xf
+lbl_8029E124:
+/* 8029E124 00299D84 38 A5 00 01 */ addi r5, r5, 1
+lbl_8029E128:
+/* 8029E128 00299D88 2C 85 00 40 */ cmpwi cr1, r5, 0x40
+/* 8029E12C 00299D8C 41 84 FD 30 */ blt cr1, lbl_8029DE5C
+lbl_8029E130:
+/* 8029E130 00299D90 90 C3 06 A4 */ stw r6, 0x6a4(r3)
+/* 8029E134 00299D94 90 03 06 A0 */ stw r0, 0x6a0(r3)
+/* 8029E138 00299D98 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8029E13C 00299D9C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8029E140 00299DA0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8029E144 00299DA4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8029E148 00299DA8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029E14C 00299DAC 4E 80 00 20 */ blr
+
+.global __THPHuffDecodeDCTCompU
+__THPHuffDecodeDCTCompU:
+/* 8029E150 00299DB0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029E154 00299DB4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8029E158 00299DB8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8029E15C 00299DBC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8029E160 00299DC0 7C 00 27 EC */ dcbz 0, r4
+/* 8029E164 00299DC4 81 83 06 A4 */ lwz r12, 0x6a4(r3)
+/* 8029E168 00299DC8 81 0D AD A0 */ lwz r8, lbl_80640060-_SDA_BASE_(r13)
+/* 8029E16C 00299DCC 2C 0C 00 1C */ cmpwi r12, 0x1c
+/* 8029E170 00299DD0 81 63 06 A0 */ lwz r11, 0x6a0(r3)
+/* 8029E174 00299DD4 38 AC 00 04 */ addi r5, r12, 4
+/* 8029E178 00299DD8 39 48 00 20 */ addi r10, r8, 0x20
+/* 8029E17C 00299DDC 5D 69 2E FE */ rlwnm r9, r11, r5, 0x1b, 0x1f
+/* 8029E180 00299DE0 41 81 00 BC */ bgt lbl_8029E23C
+/* 8029E184 00299DE4 7C A8 48 AE */ lbzx r5, r8, r9
+/* 8029E188 00299DE8 7D 4A 48 AE */ lbzx r10, r10, r9
+/* 8029E18C 00299DEC 2C 05 00 FF */ cmpwi r5, 0xff
+/* 8029E190 00299DF0 41 82 00 10 */ beq lbl_8029E1A0
+/* 8029E194 00299DF4 7D 8C 52 14 */ add r12, r12, r10
+/* 8029E198 00299DF8 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E19C 00299DFC 48 00 02 3C */ b lbl_8029E3D8
+lbl_8029E1A0:
+/* 8029E1A0 00299E00 38 C8 00 58 */ addi r6, r8, 0x58
+/* 8029E1A4 00299E04 38 A0 00 05 */ li r5, 5
+/* 8029E1A8 00299E08 39 8C 00 05 */ addi r12, r12, 5
+lbl_8029E1AC:
+/* 8029E1AC 00299E0C 2C 0C 00 21 */ cmpwi r12, 0x21
+/* 8029E1B0 00299E10 55 29 08 3C */ slwi r9, r9, 1
+/* 8029E1B4 00299E14 41 82 00 18 */ beq lbl_8029E1CC
+/* 8029E1B8 00299E18 5D 6A 67 FE */ rlwnm r10, r11, r12, 0x1f, 0x1f
+/* 8029E1BC 00299E1C 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E1C0 00299E20 7D 29 53 78 */ or r9, r9, r10
+/* 8029E1C4 00299E24 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E1C8 00299E28 48 00 00 48 */ b lbl_8029E210
+lbl_8029E1CC:
+/* 8029E1CC 00299E2C 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029E1D0 00299E30 39 80 00 01 */ li r12, 1
+/* 8029E1D4 00299E34 85 6A 00 04 */ lwzu r11, 4(r10)
+/* 8029E1D8 00299E38 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E1DC 00299E3C 51 69 0F FE */ rlwimi r9, r11, 1, 0x1f, 0x1f
+/* 8029E1E0 00299E40 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029E1E4 00299E44 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E1E8 00299E48 48 00 00 14 */ b lbl_8029E1FC
+lbl_8029E1EC:
+/* 8029E1EC 00299E4C 55 29 08 3C */ slwi r9, r9, 1
+/* 8029E1F0 00299E50 5D 6A 67 FE */ rlwnm r10, r11, r12, 0x1f, 0x1f
+/* 8029E1F4 00299E54 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E1F8 00299E58 7D 29 53 78 */ or r9, r9, r10
+lbl_8029E1FC:
+/* 8029E1FC 00299E5C 7C 09 00 00 */ cmpw r9, r0
+/* 8029E200 00299E60 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E204 00299E64 38 A5 00 01 */ addi r5, r5, 1
+/* 8029E208 00299E68 41 81 FF E4 */ bgt lbl_8029E1EC
+/* 8029E20C 00299E6C 48 00 00 10 */ b lbl_8029E21C
+lbl_8029E210:
+/* 8029E210 00299E70 7C 09 00 00 */ cmpw r9, r0
+/* 8029E214 00299E74 38 A5 00 01 */ addi r5, r5, 1
+/* 8029E218 00299E78 41 81 FF 94 */ bgt lbl_8029E1AC
+lbl_8029E21C:
+/* 8029E21C 00299E7C 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E220 00299E80 54 A0 10 3A */ slwi r0, r5, 2
+/* 8029E224 00299E84 7C A8 02 14 */ add r5, r8, r0
+/* 8029E228 00299E88 80 08 00 40 */ lwz r0, 0x40(r8)
+/* 8029E22C 00299E8C 80 A5 00 8C */ lwz r5, 0x8c(r5)
+/* 8029E230 00299E90 7C 00 4A 14 */ add r0, r0, r9
+/* 8029E234 00299E94 7C A5 00 AE */ lbzx r5, r5, r0
+/* 8029E238 00299E98 48 00 01 A0 */ b lbl_8029E3D8
+lbl_8029E23C:
+/* 8029E23C 00299E9C 2C 0C 00 21 */ cmpwi r12, 0x21
+/* 8029E240 00299EA0 81 23 06 9C */ lwz r9, 0x69c(r3)
+/* 8029E244 00299EA4 41 82 00 AC */ beq lbl_8029E2F0
+/* 8029E248 00299EA8 2C 0C 00 20 */ cmpwi r12, 0x20
+/* 8029E24C 00299EAC 5D 65 2E FE */ rlwnm r5, r11, r5, 0x1b, 0x1f
+/* 8029E250 00299EB0 41 82 00 2C */ beq lbl_8029E27C
+/* 8029E254 00299EB4 7D 28 28 AE */ lbzx r9, r8, r5
+/* 8029E258 00299EB8 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029E25C 00299EBC 2C 09 00 FF */ cmpwi r9, 0xff
+/* 8029E260 00299EC0 7C AC 52 14 */ add r5, r12, r10
+/* 8029E264 00299EC4 41 82 00 F0 */ beq lbl_8029E354
+/* 8029E268 00299EC8 2C 05 00 21 */ cmpwi r5, 0x21
+/* 8029E26C 00299ECC 90 A3 06 A4 */ stw r5, 0x6a4(r3)
+/* 8029E270 00299ED0 41 81 00 E4 */ bgt lbl_8029E354
+/* 8029E274 00299ED4 7D 25 4B 78 */ mr r5, r9
+/* 8029E278 00299ED8 48 00 01 60 */ b lbl_8029E3D8
+lbl_8029E27C:
+/* 8029E27C 00299EDC 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029E280 00299EE0 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029E284 00299EE4 51 65 27 3E */ rlwimi r5, r11, 4, 0x1c, 0x1f
+/* 8029E288 00299EE8 7D 28 28 AE */ lbzx r9, r8, r5
+/* 8029E28C 00299EEC 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029E290 00299EF0 2C 09 00 FF */ cmpwi r9, 0xff
+/* 8029E294 00299EF4 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E298 00299EF8 91 43 06 A4 */ stw r10, 0x6a4(r3)
+/* 8029E29C 00299EFC 41 82 00 0C */ beq lbl_8029E2A8
+/* 8029E2A0 00299F00 7D 25 4B 78 */ mr r5, r9
+/* 8029E2A4 00299F04 48 00 01 34 */ b lbl_8029E3D8
+lbl_8029E2A8:
+/* 8029E2A8 00299F08 54 A9 D8 08 */ slwi r9, r5, 0x1b
+/* 8029E2AC 00299F0C 38 C8 00 58 */ addi r6, r8, 0x58
+/* 8029E2B0 00299F10 51 69 F8 7E */ rlwimi r9, r11, 0x1f, 1, 0x1f
+/* 8029E2B4 00299F14 39 80 00 05 */ li r12, 5
+lbl_8029E2B8:
+/* 8029E2B8 00299F18 21 6C 00 1F */ subfic r11, r12, 0x1f
+/* 8029E2BC 00299F1C 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E2C0 00299F20 7D 25 5C 30 */ srw r5, r9, r11
+/* 8029E2C4 00299F24 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E2C8 00299F28 7C 05 00 00 */ cmpw r5, r0
+/* 8029E2CC 00299F2C 41 81 FF EC */ bgt lbl_8029E2B8
+/* 8029E2D0 00299F30 91 83 06 A4 */ stw r12, 0x6a4(r3)
+lbl_8029E2D4:
+/* 8029E2D4 00299F34 55 80 10 3A */ slwi r0, r12, 2
+/* 8029E2D8 00299F38 80 E8 00 40 */ lwz r7, 0x40(r8)
+/* 8029E2DC 00299F3C 7C C8 02 14 */ add r6, r8, r0
+/* 8029E2E0 00299F40 80 C6 00 8C */ lwz r6, 0x8c(r6)
+/* 8029E2E4 00299F44 7C 07 2A 14 */ add r0, r7, r5
+/* 8029E2E8 00299F48 7C A6 00 AE */ lbzx r5, r6, r0
+/* 8029E2EC 00299F4C 48 00 00 EC */ b lbl_8029E3D8
+lbl_8029E2F0:
+/* 8029E2F0 00299F50 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029E2F4 00299F54 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029E2F8 00299F58 55 65 2E FE */ srwi r5, r11, 0x1b
+/* 8029E2FC 00299F5C 7D 88 28 AE */ lbzx r12, r8, r5
+/* 8029E300 00299F60 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029E304 00299F64 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029E308 00299F68 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E30C 00299F6C 39 4A 00 01 */ addi r10, r10, 1
+/* 8029E310 00299F70 41 82 00 10 */ beq lbl_8029E320
+/* 8029E314 00299F74 91 43 06 A4 */ stw r10, 0x6a4(r3)
+/* 8029E318 00299F78 7D 85 63 78 */ mr r5, r12
+/* 8029E31C 00299F7C 48 00 00 BC */ b lbl_8029E3D8
+lbl_8029E320:
+/* 8029E320 00299F80 39 80 00 05 */ li r12, 5
+/* 8029E324 00299F84 38 C0 00 14 */ li r6, 0x14
+lbl_8029E328:
+/* 8029E328 00299F88 21 2C 00 1F */ subfic r9, r12, 0x1f
+/* 8029E32C 00299F8C 38 C6 00 04 */ addi r6, r6, 4
+/* 8029E330 00299F90 7C A8 32 14 */ add r5, r8, r6
+/* 8029E334 00299F94 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E338 00299F98 80 05 00 44 */ lwz r0, 0x44(r5)
+/* 8029E33C 00299F9C 7D 65 4C 30 */ srw r5, r11, r9
+/* 8029E340 00299FA0 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029E344 00299FA4 41 85 FF E4 */ bgt cr1, lbl_8029E328
+/* 8029E348 00299FA8 38 0C 00 01 */ addi r0, r12, 1
+/* 8029E34C 00299FAC 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029E350 00299FB0 4B FF FF 84 */ b lbl_8029E2D4
+lbl_8029E354:
+/* 8029E354 00299FB4 20 0C 00 21 */ subfic r0, r12, 0x21
+/* 8029E358 00299FB8 38 A0 FF FF */ li r5, -1
+/* 8029E35C 00299FBC 7C A7 00 30 */ slw r7, r5, r0
+/* 8029E360 00299FC0 81 23 06 9C */ lwz r9, 0x69c(r3)
+/* 8029E364 00299FC4 7D 65 38 78 */ andc r5, r11, r7
+/* 8029E368 00299FC8 38 E8 00 44 */ addi r7, r8, 0x44
+/* 8029E36C 00299FCC 20 CC 00 21 */ subfic r6, r12, 0x21
+/* 8029E370 00299FD0 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029E374 00299FD4 39 86 00 01 */ addi r12, r6, 1
+/* 8029E378 00299FD8 54 C6 10 3A */ slwi r6, r6, 2
+/* 8029E37C 00299FDC 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029E380 00299FE0 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029E384 00299FE4 7C E7 32 14 */ add r7, r7, r6
+/* 8029E388 00299FE8 51 65 0F FE */ rlwimi r5, r11, 1, 0x1f, 0x1f
+/* 8029E38C 00299FEC 39 20 00 02 */ li r9, 2
+/* 8029E390 00299FF0 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E394 00299FF4 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029E398 00299FF8 48 00 00 18 */ b lbl_8029E3B0
+lbl_8029E39C:
+/* 8029E39C 00299FFC 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029E3A0 0029A000 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029E3A4 0029A004 7C A5 52 14 */ add r5, r5, r10
+/* 8029E3A8 0029A008 39 29 00 01 */ addi r9, r9, 1
+/* 8029E3AC 0029A00C 39 8C 00 01 */ addi r12, r12, 1
+lbl_8029E3B0:
+/* 8029E3B0 0029A010 7C 05 30 00 */ cmpw r5, r6
+/* 8029E3B4 0029A014 5D 6A 4F FE */ rlwnm r10, r11, r9, 0x1f, 0x1f
+/* 8029E3B8 0029A018 41 81 FF E4 */ bgt lbl_8029E39C
+/* 8029E3BC 0029A01C 91 23 06 A4 */ stw r9, 0x6a4(r3)
+/* 8029E3C0 0029A020 55 80 10 3A */ slwi r0, r12, 2
+/* 8029E3C4 0029A024 7C C8 02 14 */ add r6, r8, r0
+/* 8029E3C8 0029A028 80 08 00 40 */ lwz r0, 0x40(r8)
+/* 8029E3CC 0029A02C 80 C6 00 8C */ lwz r6, 0x8c(r6)
+/* 8029E3D0 0029A030 7C 00 2A 14 */ add r0, r0, r5
+/* 8029E3D4 0029A034 7C A6 00 AE */ lbzx r5, r6, r0
+lbl_8029E3D8:
+/* 8029E3D8 0029A038 38 00 00 20 */ li r0, 0x20
+/* 8029E3DC 0029A03C 7C 04 07 EC */ dcbz r4, r0
+/* 8029E3E0 0029A040 38 00 00 40 */ li r0, 0x40
+/* 8029E3E4 0029A044 38 E0 00 00 */ li r7, 0
+/* 8029E3E8 0029A048 7C 04 07 EC */ dcbz r4, r0
+/* 8029E3EC 0029A04C 2C 85 00 00 */ cmpwi cr1, r5, 0
+/* 8029E3F0 0029A050 41 86 00 88 */ beq cr1, lbl_8029E478
+/* 8029E3F4 0029A054 81 43 06 A4 */ lwz r10, 0x6a4(r3)
+/* 8029E3F8 0029A058 21 6A 00 21 */ subfic r11, r10, 0x21
+/* 8029E3FC 0029A05C 80 E3 06 A0 */ lwz r7, 0x6a0(r3)
+/* 8029E400 0029A060 7D 8B 28 11 */ subfc. r12, r11, r5
+/* 8029E404 0029A064 3B AA FF FF */ addi r29, r10, -1
+/* 8029E408 0029A068 41 81 00 1C */ bgt lbl_8029E424
+/* 8029E40C 0029A06C 7C 0A 2A 14 */ add r0, r10, r5
+/* 8029E410 0029A070 7C EA E8 30 */ slw r10, r7, r29
+/* 8029E414 0029A074 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029E418 0029A078 20 05 00 20 */ subfic r0, r5, 0x20
+/* 8029E41C 0029A07C 7D 47 04 30 */ srw r7, r10, r0
+/* 8029E420 0029A080 48 00 00 30 */ b lbl_8029E450
+lbl_8029E424:
+/* 8029E424 0029A084 7C E0 E8 30 */ slw r0, r7, r29
+/* 8029E428 0029A088 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029E42C 0029A08C 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029E430 0029A090 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E434 0029A094 90 E3 06 A0 */ stw r7, 0x6a0(r3)
+/* 8029E438 0029A098 7C E7 5C 30 */ srw r7, r7, r11
+/* 8029E43C 0029A09C 7C 07 02 14 */ add r0, r7, r0
+/* 8029E440 0029A0A0 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029E444 0029A0A4 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E448 0029A0A8 21 85 00 20 */ subfic r12, r5, 0x20
+/* 8029E44C 0029A0AC 7C 07 64 30 */ srw r7, r0, r12
+lbl_8029E450:
+/* 8029E450 0029A0B0 7C E6 07 34 */ extsh r6, r7
+/* 8029E454 0029A0B4 20 05 00 20 */ subfic r0, r5, 0x20
+/* 8029E458 0029A0B8 7C C6 00 34 */ cntlzw r6, r6
+/* 8029E45C 0029A0BC 7C 86 00 00 */ cmpw cr1, r6, r0
+/* 8029E460 0029A0C0 40 85 00 18 */ ble cr1, lbl_8029E478
+/* 8029E464 0029A0C4 38 00 FF FF */ li r0, -1
+/* 8029E468 0029A0C8 7C 00 28 30 */ slw r0, r0, r5
+/* 8029E46C 0029A0CC 7C A7 02 14 */ add r5, r7, r0
+/* 8029E470 0029A0D0 38 05 00 01 */ addi r0, r5, 1
+/* 8029E474 0029A0D4 7C 07 07 34 */ extsh r7, r0
+lbl_8029E478:
+/* 8029E478 0029A0D8 38 00 00 60 */ li r0, 0x60
+/* 8029E47C 0029A0DC 7C 04 07 EC */ dcbz r4, r0
+/* 8029E480 0029A0E0 3D 00 80 40 */ lis r8, lbl_803FD9D8@ha
+/* 8029E484 0029A0E4 A8 03 06 8A */ lha r0, 0x68a(r3)
+/* 8029E488 0029A0E8 39 08 D9 D8 */ addi r8, r8, lbl_803FD9D8@l
+/* 8029E48C 0029A0EC 38 C0 00 01 */ li r6, 1
+/* 8029E490 0029A0F0 39 20 FF FF */ li r9, -1
+/* 8029E494 0029A0F4 7C 00 3A 14 */ add r0, r0, r7
+/* 8029E498 0029A0F8 B0 03 06 8A */ sth r0, 0x68a(r3)
+/* 8029E49C 0029A0FC B0 04 00 00 */ sth r0, 0(r4)
+/* 8029E4A0 0029A100 48 00 03 1C */ b lbl_8029E7BC
+lbl_8029E4A4:
+/* 8029E4A4 0029A104 83 A3 06 A4 */ lwz r29, 0x6a4(r3)
+/* 8029E4A8 0029A108 81 6D AD 40 */ lwz r11, lbl_80640000-_SDA_BASE_(r13)
+/* 8029E4AC 0029A10C 2C 1D 00 1C */ cmpwi r29, 0x1c
+/* 8029E4B0 0029A110 83 C3 06 A0 */ lwz r30, 0x6a0(r3)
+/* 8029E4B4 0029A114 38 BD 00 04 */ addi r5, r29, 4
+/* 8029E4B8 0029A118 3B EB 00 20 */ addi r31, r11, 0x20
+/* 8029E4BC 0029A11C 5F CC 2E FE */ rlwnm r12, r30, r5, 0x1b, 0x1f
+/* 8029E4C0 0029A120 41 81 00 BC */ bgt lbl_8029E57C
+/* 8029E4C4 0029A124 7C AB 60 AE */ lbzx r5, r11, r12
+/* 8029E4C8 0029A128 7F FF 60 AE */ lbzx r31, r31, r12
+/* 8029E4CC 0029A12C 2C 05 00 FF */ cmpwi r5, 0xff
+/* 8029E4D0 0029A130 41 82 00 10 */ beq lbl_8029E4E0
+/* 8029E4D4 0029A134 7F BD FA 14 */ add r29, r29, r31
+/* 8029E4D8 0029A138 93 A3 06 A4 */ stw r29, 0x6a4(r3)
+/* 8029E4DC 0029A13C 48 00 02 38 */ b lbl_8029E714
+lbl_8029E4E0:
+/* 8029E4E0 0029A140 38 EB 00 58 */ addi r7, r11, 0x58
+/* 8029E4E4 0029A144 38 A0 00 05 */ li r5, 5
+/* 8029E4E8 0029A148 3B BD 00 05 */ addi r29, r29, 5
+lbl_8029E4EC:
+/* 8029E4EC 0029A14C 2C 1D 00 21 */ cmpwi r29, 0x21
+/* 8029E4F0 0029A150 55 8C 08 3C */ slwi r12, r12, 1
+/* 8029E4F4 0029A154 41 82 00 18 */ beq lbl_8029E50C
+/* 8029E4F8 0029A158 5F DF EF FE */ rlwnm r31, r30, r29, 0x1f, 0x1f
+/* 8029E4FC 0029A15C 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029E500 0029A160 7D 8C FB 78 */ or r12, r12, r31
+/* 8029E504 0029A164 3B BD 00 01 */ addi r29, r29, 1
+/* 8029E508 0029A168 48 00 00 48 */ b lbl_8029E550
+lbl_8029E50C:
+/* 8029E50C 0029A16C 83 E3 06 9C */ lwz r31, 0x69c(r3)
+/* 8029E510 0029A170 3B A0 00 01 */ li r29, 1
+/* 8029E514 0029A174 87 DF 00 04 */ lwzu r30, 4(r31)
+/* 8029E518 0029A178 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029E51C 0029A17C 53 CC 0F FE */ rlwimi r12, r30, 1, 0x1f, 0x1f
+/* 8029E520 0029A180 93 E3 06 9C */ stw r31, 0x69c(r3)
+/* 8029E524 0029A184 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029E528 0029A188 48 00 00 14 */ b lbl_8029E53C
+lbl_8029E52C:
+/* 8029E52C 0029A18C 55 8C 08 3C */ slwi r12, r12, 1
+/* 8029E530 0029A190 5F DF EF FE */ rlwnm r31, r30, r29, 0x1f, 0x1f
+/* 8029E534 0029A194 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029E538 0029A198 7D 8C FB 78 */ or r12, r12, r31
+lbl_8029E53C:
+/* 8029E53C 0029A19C 7C 0C 00 00 */ cmpw r12, r0
+/* 8029E540 0029A1A0 3B BD 00 01 */ addi r29, r29, 1
+/* 8029E544 0029A1A4 38 A5 00 01 */ addi r5, r5, 1
+/* 8029E548 0029A1A8 41 81 FF E4 */ bgt lbl_8029E52C
+/* 8029E54C 0029A1AC 48 00 00 10 */ b lbl_8029E55C
+lbl_8029E550:
+/* 8029E550 0029A1B0 7C 0C 00 00 */ cmpw r12, r0
+/* 8029E554 0029A1B4 38 A5 00 01 */ addi r5, r5, 1
+/* 8029E558 0029A1B8 41 81 FF 94 */ bgt lbl_8029E4EC
+lbl_8029E55C:
+/* 8029E55C 0029A1BC 93 A3 06 A4 */ stw r29, 0x6a4(r3)
+/* 8029E560 0029A1C0 54 A0 10 3A */ slwi r0, r5, 2
+/* 8029E564 0029A1C4 7C AB 02 14 */ add r5, r11, r0
+/* 8029E568 0029A1C8 80 0B 00 40 */ lwz r0, 0x40(r11)
+/* 8029E56C 0029A1CC 80 A5 00 8C */ lwz r5, 0x8c(r5)
+/* 8029E570 0029A1D0 7C 00 62 14 */ add r0, r0, r12
+/* 8029E574 0029A1D4 7C A5 00 AE */ lbzx r5, r5, r0
+/* 8029E578 0029A1D8 48 00 01 9C */ b lbl_8029E714
+lbl_8029E57C:
+/* 8029E57C 0029A1DC 2C 1D 00 21 */ cmpwi r29, 0x21
+/* 8029E580 0029A1E0 81 83 06 9C */ lwz r12, 0x69c(r3)
+/* 8029E584 0029A1E4 41 82 00 AC */ beq lbl_8029E630
+/* 8029E588 0029A1E8 2C 1D 00 20 */ cmpwi r29, 0x20
+/* 8029E58C 0029A1EC 5F C5 2E FE */ rlwnm r5, r30, r5, 0x1b, 0x1f
+/* 8029E590 0029A1F0 41 82 00 2C */ beq lbl_8029E5BC
+/* 8029E594 0029A1F4 7D 8B 28 AE */ lbzx r12, r11, r5
+/* 8029E598 0029A1F8 7F FF 28 AE */ lbzx r31, r31, r5
+/* 8029E59C 0029A1FC 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029E5A0 0029A200 7C BD FA 14 */ add r5, r29, r31
+/* 8029E5A4 0029A204 41 82 00 F0 */ beq lbl_8029E694
+/* 8029E5A8 0029A208 2C 05 00 21 */ cmpwi r5, 0x21
+/* 8029E5AC 0029A20C 90 A3 06 A4 */ stw r5, 0x6a4(r3)
+/* 8029E5B0 0029A210 41 81 00 E4 */ bgt lbl_8029E694
+/* 8029E5B4 0029A214 7D 85 63 78 */ mr r5, r12
+/* 8029E5B8 0029A218 48 00 01 5C */ b lbl_8029E714
+lbl_8029E5BC:
+/* 8029E5BC 0029A21C 87 CC 00 04 */ lwzu r30, 4(r12)
+/* 8029E5C0 0029A220 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029E5C4 0029A224 53 C5 27 3E */ rlwimi r5, r30, 4, 0x1c, 0x1f
+/* 8029E5C8 0029A228 7D 8B 28 AE */ lbzx r12, r11, r5
+/* 8029E5CC 0029A22C 7F FF 28 AE */ lbzx r31, r31, r5
+/* 8029E5D0 0029A230 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029E5D4 0029A234 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029E5D8 0029A238 93 E3 06 A4 */ stw r31, 0x6a4(r3)
+/* 8029E5DC 0029A23C 41 82 00 0C */ beq lbl_8029E5E8
+/* 8029E5E0 0029A240 7D 85 63 78 */ mr r5, r12
+/* 8029E5E4 0029A244 48 00 01 30 */ b lbl_8029E714
+lbl_8029E5E8:
+/* 8029E5E8 0029A248 54 AC D8 08 */ slwi r12, r5, 0x1b
+/* 8029E5EC 0029A24C 38 EB 00 58 */ addi r7, r11, 0x58
+/* 8029E5F0 0029A250 53 CC F8 7E */ rlwimi r12, r30, 0x1f, 1, 0x1f
+/* 8029E5F4 0029A254 3B A0 00 05 */ li r29, 5
+lbl_8029E5F8:
+/* 8029E5F8 0029A258 23 DD 00 1F */ subfic r30, r29, 0x1f
+/* 8029E5FC 0029A25C 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029E600 0029A260 7D 85 F4 30 */ srw r5, r12, r30
+/* 8029E604 0029A264 3B BD 00 01 */ addi r29, r29, 1
+/* 8029E608 0029A268 7C 05 00 00 */ cmpw r5, r0
+/* 8029E60C 0029A26C 41 81 FF EC */ bgt lbl_8029E5F8
+/* 8029E610 0029A270 93 A3 06 A4 */ stw r29, 0x6a4(r3)
+lbl_8029E614:
+/* 8029E614 0029A274 57 A0 10 3A */ slwi r0, r29, 2
+/* 8029E618 0029A278 81 4B 00 40 */ lwz r10, 0x40(r11)
+/* 8029E61C 0029A27C 7C EB 02 14 */ add r7, r11, r0
+/* 8029E620 0029A280 80 E7 00 8C */ lwz r7, 0x8c(r7)
+/* 8029E624 0029A284 7C 0A 2A 14 */ add r0, r10, r5
+/* 8029E628 0029A288 7C A7 00 AE */ lbzx r5, r7, r0
+/* 8029E62C 0029A28C 48 00 00 E8 */ b lbl_8029E714
+lbl_8029E630:
+/* 8029E630 0029A290 87 CC 00 04 */ lwzu r30, 4(r12)
+/* 8029E634 0029A294 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029E638 0029A298 57 C5 2E FE */ srwi r5, r30, 0x1b
+/* 8029E63C 0029A29C 7F AB 28 AE */ lbzx r29, r11, r5
+/* 8029E640 0029A2A0 7F FF 28 AE */ lbzx r31, r31, r5
+/* 8029E644 0029A2A4 2C 1D 00 FF */ cmpwi r29, 0xff
+/* 8029E648 0029A2A8 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029E64C 0029A2AC 3B FF 00 01 */ addi r31, r31, 1
+/* 8029E650 0029A2B0 41 82 00 10 */ beq lbl_8029E660
+/* 8029E654 0029A2B4 93 E3 06 A4 */ stw r31, 0x6a4(r3)
+/* 8029E658 0029A2B8 7F A5 EB 78 */ mr r5, r29
+/* 8029E65C 0029A2BC 48 00 00 B8 */ b lbl_8029E714
+lbl_8029E660:
+/* 8029E660 0029A2C0 3B A0 00 05 */ li r29, 5
+/* 8029E664 0029A2C4 38 E0 00 14 */ li r7, 0x14
+lbl_8029E668:
+/* 8029E668 0029A2C8 21 9D 00 1F */ subfic r12, r29, 0x1f
+/* 8029E66C 0029A2CC 38 E7 00 04 */ addi r7, r7, 4
+/* 8029E670 0029A2D0 7C AB 3A 14 */ add r5, r11, r7
+/* 8029E674 0029A2D4 3B BD 00 01 */ addi r29, r29, 1
+/* 8029E678 0029A2D8 80 05 00 44 */ lwz r0, 0x44(r5)
+/* 8029E67C 0029A2DC 7F C5 64 30 */ srw r5, r30, r12
+/* 8029E680 0029A2E0 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029E684 0029A2E4 41 85 FF E4 */ bgt cr1, lbl_8029E668
+/* 8029E688 0029A2E8 38 1D 00 01 */ addi r0, r29, 1
+/* 8029E68C 0029A2EC 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029E690 0029A2F0 4B FF FF 84 */ b lbl_8029E614
+lbl_8029E694:
+/* 8029E694 0029A2F4 20 1D 00 21 */ subfic r0, r29, 0x21
+/* 8029E698 0029A2F8 81 83 06 9C */ lwz r12, 0x69c(r3)
+/* 8029E69C 0029A2FC 7D 2A 00 30 */ slw r10, r9, r0
+/* 8029E6A0 0029A300 7F C5 50 78 */ andc r5, r30, r10
+/* 8029E6A4 0029A304 39 4B 00 44 */ addi r10, r11, 0x44
+/* 8029E6A8 0029A308 20 FD 00 21 */ subfic r7, r29, 0x21
+/* 8029E6AC 0029A30C 87 CC 00 04 */ lwzu r30, 4(r12)
+/* 8029E6B0 0029A310 3B A7 00 01 */ addi r29, r7, 1
+/* 8029E6B4 0029A314 54 E7 10 3A */ slwi r7, r7, 2
+/* 8029E6B8 0029A318 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029E6BC 0029A31C 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029E6C0 0029A320 7D 4A 3A 14 */ add r10, r10, r7
+/* 8029E6C4 0029A324 53 C5 0F FE */ rlwimi r5, r30, 1, 0x1f, 0x1f
+/* 8029E6C8 0029A328 39 80 00 02 */ li r12, 2
+/* 8029E6CC 0029A32C 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029E6D0 0029A330 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029E6D4 0029A334 48 00 00 18 */ b lbl_8029E6EC
+lbl_8029E6D8:
+/* 8029E6D8 0029A338 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029E6DC 0029A33C 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029E6E0 0029A340 7C A5 FA 14 */ add r5, r5, r31
+/* 8029E6E4 0029A344 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E6E8 0029A348 3B BD 00 01 */ addi r29, r29, 1
+lbl_8029E6EC:
+/* 8029E6EC 0029A34C 7C 05 38 00 */ cmpw r5, r7
+/* 8029E6F0 0029A350 5F DF 67 FE */ rlwnm r31, r30, r12, 0x1f, 0x1f
+/* 8029E6F4 0029A354 41 81 FF E4 */ bgt lbl_8029E6D8
+/* 8029E6F8 0029A358 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E6FC 0029A35C 57 A0 10 3A */ slwi r0, r29, 2
+/* 8029E700 0029A360 7C EB 02 14 */ add r7, r11, r0
+/* 8029E704 0029A364 80 0B 00 40 */ lwz r0, 0x40(r11)
+/* 8029E708 0029A368 80 E7 00 8C */ lwz r7, 0x8c(r7)
+/* 8029E70C 0029A36C 7C 00 2A 14 */ add r0, r0, r5
+/* 8029E710 0029A370 7C A7 00 AE */ lbzx r5, r7, r0
+lbl_8029E714:
+/* 8029E714 0029A374 54 BE 07 3F */ clrlwi. r30, r5, 0x1c
+/* 8029E718 0029A378 7C A7 26 70 */ srawi r7, r5, 4
+/* 8029E71C 0029A37C 41 82 00 90 */ beq lbl_8029E7AC
+/* 8029E720 0029A380 81 43 06 A4 */ lwz r10, 0x6a4(r3)
+/* 8029E724 0029A384 7C C6 3A 14 */ add r6, r6, r7
+/* 8029E728 0029A388 21 6A 00 21 */ subfic r11, r10, 0x21
+/* 8029E72C 0029A38C 80 E3 06 A0 */ lwz r7, 0x6a0(r3)
+/* 8029E730 0029A390 7D 8B F0 51 */ subf. r12, r11, r30
+/* 8029E734 0029A394 3B AA FF FF */ addi r29, r10, -1
+/* 8029E738 0029A398 41 81 00 1C */ bgt lbl_8029E754
+/* 8029E73C 0029A39C 7C 0A F2 14 */ add r0, r10, r30
+/* 8029E740 0029A3A0 7C EA E8 30 */ slw r10, r7, r29
+/* 8029E744 0029A3A4 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029E748 0029A3A8 20 1E 00 20 */ subfic r0, r30, 0x20
+/* 8029E74C 0029A3AC 7D 47 04 30 */ srw r7, r10, r0
+/* 8029E750 0029A3B0 48 00 00 30 */ b lbl_8029E780
+lbl_8029E754:
+/* 8029E754 0029A3B4 7C E0 E8 30 */ slw r0, r7, r29
+/* 8029E758 0029A3B8 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029E75C 0029A3BC 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029E760 0029A3C0 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E764 0029A3C4 90 E3 06 A0 */ stw r7, 0x6a0(r3)
+/* 8029E768 0029A3C8 7C E7 5C 30 */ srw r7, r7, r11
+/* 8029E76C 0029A3CC 7C 07 02 14 */ add r0, r7, r0
+/* 8029E770 0029A3D0 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029E774 0029A3D4 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E778 0029A3D8 21 9E 00 20 */ subfic r12, r30, 0x20
+/* 8029E77C 0029A3DC 7C 07 64 30 */ srw r7, r0, r12
+lbl_8029E780:
+/* 8029E780 0029A3E0 7C E5 00 34 */ cntlzw r5, r7
+/* 8029E784 0029A3E4 20 1E 00 20 */ subfic r0, r30, 0x20
+/* 8029E788 0029A3E8 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029E78C 0029A3EC 40 85 00 10 */ ble cr1, lbl_8029E79C
+/* 8029E790 0029A3F0 7D 20 F0 30 */ slw r0, r9, r30
+/* 8029E794 0029A3F4 7C A0 3A 14 */ add r5, r0, r7
+/* 8029E798 0029A3F8 38 E5 00 01 */ addi r7, r5, 1
+lbl_8029E79C:
+/* 8029E79C 0029A3FC 7C 08 30 AE */ lbzx r0, r8, r6
+/* 8029E7A0 0029A400 54 00 08 3C */ slwi r0, r0, 1
+/* 8029E7A4 0029A404 7C E4 03 2E */ sthx r7, r4, r0
+/* 8029E7A8 0029A408 48 00 00 10 */ b lbl_8029E7B8
+lbl_8029E7AC:
+/* 8029E7AC 0029A40C 2C 87 00 0F */ cmpwi cr1, r7, 0xf
+/* 8029E7B0 0029A410 40 86 00 14 */ bne cr1, lbl_8029E7C4
+/* 8029E7B4 0029A414 38 C6 00 0F */ addi r6, r6, 0xf
+lbl_8029E7B8:
+/* 8029E7B8 0029A418 38 C6 00 01 */ addi r6, r6, 1
+lbl_8029E7BC:
+/* 8029E7BC 0029A41C 2C 86 00 40 */ cmpwi cr1, r6, 0x40
+/* 8029E7C0 0029A420 41 84 FC E4 */ blt cr1, lbl_8029E4A4
+lbl_8029E7C4:
+/* 8029E7C4 0029A424 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8029E7C8 0029A428 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8029E7CC 0029A42C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8029E7D0 0029A430 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029E7D4 0029A434 4E 80 00 20 */ blr
+
+.global __THPHuffDecodeDCTCompV
+__THPHuffDecodeDCTCompV:
+/* 8029E7D8 0029A438 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8029E7DC 0029A43C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8029E7E0 0029A440 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8029E7E4 0029A444 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8029E7E8 0029A448 7C 00 27 EC */ dcbz 0, r4
+/* 8029E7EC 0029A44C 81 83 06 A4 */ lwz r12, 0x6a4(r3)
+/* 8029E7F0 0029A450 81 0D AD 80 */ lwz r8, lbl_80640040-_SDA_BASE_(r13)
+/* 8029E7F4 0029A454 2C 0C 00 1C */ cmpwi r12, 0x1c
+/* 8029E7F8 0029A458 81 63 06 A0 */ lwz r11, 0x6a0(r3)
+/* 8029E7FC 0029A45C 38 AC 00 04 */ addi r5, r12, 4
+/* 8029E800 0029A460 39 48 00 20 */ addi r10, r8, 0x20
+/* 8029E804 0029A464 5D 69 2E FE */ rlwnm r9, r11, r5, 0x1b, 0x1f
+/* 8029E808 0029A468 41 81 00 BC */ bgt lbl_8029E8C4
+/* 8029E80C 0029A46C 7C A8 48 AE */ lbzx r5, r8, r9
+/* 8029E810 0029A470 7D 4A 48 AE */ lbzx r10, r10, r9
+/* 8029E814 0029A474 2C 05 00 FF */ cmpwi r5, 0xff
+/* 8029E818 0029A478 41 82 00 10 */ beq lbl_8029E828
+/* 8029E81C 0029A47C 7D 8C 52 14 */ add r12, r12, r10
+/* 8029E820 0029A480 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E824 0029A484 48 00 02 3C */ b lbl_8029EA60
+lbl_8029E828:
+/* 8029E828 0029A488 38 C8 00 58 */ addi r6, r8, 0x58
+/* 8029E82C 0029A48C 38 A0 00 05 */ li r5, 5
+/* 8029E830 0029A490 39 8C 00 05 */ addi r12, r12, 5
+lbl_8029E834:
+/* 8029E834 0029A494 2C 0C 00 21 */ cmpwi r12, 0x21
+/* 8029E838 0029A498 55 29 08 3C */ slwi r9, r9, 1
+/* 8029E83C 0029A49C 41 82 00 18 */ beq lbl_8029E854
+/* 8029E840 0029A4A0 5D 6A 67 FE */ rlwnm r10, r11, r12, 0x1f, 0x1f
+/* 8029E844 0029A4A4 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E848 0029A4A8 7D 29 53 78 */ or r9, r9, r10
+/* 8029E84C 0029A4AC 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E850 0029A4B0 48 00 00 48 */ b lbl_8029E898
+lbl_8029E854:
+/* 8029E854 0029A4B4 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029E858 0029A4B8 39 80 00 01 */ li r12, 1
+/* 8029E85C 0029A4BC 85 6A 00 04 */ lwzu r11, 4(r10)
+/* 8029E860 0029A4C0 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E864 0029A4C4 51 69 0F FE */ rlwimi r9, r11, 1, 0x1f, 0x1f
+/* 8029E868 0029A4C8 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029E86C 0029A4CC 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E870 0029A4D0 48 00 00 14 */ b lbl_8029E884
+lbl_8029E874:
+/* 8029E874 0029A4D4 55 29 08 3C */ slwi r9, r9, 1
+/* 8029E878 0029A4D8 5D 6A 67 FE */ rlwnm r10, r11, r12, 0x1f, 0x1f
+/* 8029E87C 0029A4DC 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E880 0029A4E0 7D 29 53 78 */ or r9, r9, r10
+lbl_8029E884:
+/* 8029E884 0029A4E4 7C 09 00 00 */ cmpw r9, r0
+/* 8029E888 0029A4E8 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E88C 0029A4EC 38 A5 00 01 */ addi r5, r5, 1
+/* 8029E890 0029A4F0 41 81 FF E4 */ bgt lbl_8029E874
+/* 8029E894 0029A4F4 48 00 00 10 */ b lbl_8029E8A4
+lbl_8029E898:
+/* 8029E898 0029A4F8 7C 09 00 00 */ cmpw r9, r0
+/* 8029E89C 0029A4FC 38 A5 00 01 */ addi r5, r5, 1
+/* 8029E8A0 0029A500 41 81 FF 94 */ bgt lbl_8029E834
+lbl_8029E8A4:
+/* 8029E8A4 0029A504 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029E8A8 0029A508 54 A0 10 3A */ slwi r0, r5, 2
+/* 8029E8AC 0029A50C 7C A8 02 14 */ add r5, r8, r0
+/* 8029E8B0 0029A510 80 08 00 40 */ lwz r0, 0x40(r8)
+/* 8029E8B4 0029A514 80 A5 00 8C */ lwz r5, 0x8c(r5)
+/* 8029E8B8 0029A518 7C 00 4A 14 */ add r0, r0, r9
+/* 8029E8BC 0029A51C 7C A5 00 AE */ lbzx r5, r5, r0
+/* 8029E8C0 0029A520 48 00 01 A0 */ b lbl_8029EA60
+lbl_8029E8C4:
+/* 8029E8C4 0029A524 2C 0C 00 21 */ cmpwi r12, 0x21
+/* 8029E8C8 0029A528 81 23 06 9C */ lwz r9, 0x69c(r3)
+/* 8029E8CC 0029A52C 41 82 00 AC */ beq lbl_8029E978
+/* 8029E8D0 0029A530 2C 0C 00 20 */ cmpwi r12, 0x20
+/* 8029E8D4 0029A534 5D 65 2E FE */ rlwnm r5, r11, r5, 0x1b, 0x1f
+/* 8029E8D8 0029A538 41 82 00 2C */ beq lbl_8029E904
+/* 8029E8DC 0029A53C 7D 28 28 AE */ lbzx r9, r8, r5
+/* 8029E8E0 0029A540 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029E8E4 0029A544 2C 09 00 FF */ cmpwi r9, 0xff
+/* 8029E8E8 0029A548 7C AC 52 14 */ add r5, r12, r10
+/* 8029E8EC 0029A54C 41 82 00 F0 */ beq lbl_8029E9DC
+/* 8029E8F0 0029A550 2C 05 00 21 */ cmpwi r5, 0x21
+/* 8029E8F4 0029A554 90 A3 06 A4 */ stw r5, 0x6a4(r3)
+/* 8029E8F8 0029A558 41 81 00 E4 */ bgt lbl_8029E9DC
+/* 8029E8FC 0029A55C 7D 25 4B 78 */ mr r5, r9
+/* 8029E900 0029A560 48 00 01 60 */ b lbl_8029EA60
+lbl_8029E904:
+/* 8029E904 0029A564 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029E908 0029A568 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029E90C 0029A56C 51 65 27 3E */ rlwimi r5, r11, 4, 0x1c, 0x1f
+/* 8029E910 0029A570 7D 28 28 AE */ lbzx r9, r8, r5
+/* 8029E914 0029A574 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029E918 0029A578 2C 09 00 FF */ cmpwi r9, 0xff
+/* 8029E91C 0029A57C 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E920 0029A580 91 43 06 A4 */ stw r10, 0x6a4(r3)
+/* 8029E924 0029A584 41 82 00 0C */ beq lbl_8029E930
+/* 8029E928 0029A588 7D 25 4B 78 */ mr r5, r9
+/* 8029E92C 0029A58C 48 00 01 34 */ b lbl_8029EA60
+lbl_8029E930:
+/* 8029E930 0029A590 54 A9 D8 08 */ slwi r9, r5, 0x1b
+/* 8029E934 0029A594 38 C8 00 58 */ addi r6, r8, 0x58
+/* 8029E938 0029A598 51 69 F8 7E */ rlwimi r9, r11, 0x1f, 1, 0x1f
+/* 8029E93C 0029A59C 39 80 00 05 */ li r12, 5
+lbl_8029E940:
+/* 8029E940 0029A5A0 21 6C 00 1F */ subfic r11, r12, 0x1f
+/* 8029E944 0029A5A4 84 06 00 04 */ lwzu r0, 4(r6)
+/* 8029E948 0029A5A8 7D 25 5C 30 */ srw r5, r9, r11
+/* 8029E94C 0029A5AC 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E950 0029A5B0 7C 05 00 00 */ cmpw r5, r0
+/* 8029E954 0029A5B4 41 81 FF EC */ bgt lbl_8029E940
+/* 8029E958 0029A5B8 91 83 06 A4 */ stw r12, 0x6a4(r3)
+lbl_8029E95C:
+/* 8029E95C 0029A5BC 55 80 10 3A */ slwi r0, r12, 2
+/* 8029E960 0029A5C0 80 E8 00 40 */ lwz r7, 0x40(r8)
+/* 8029E964 0029A5C4 7C C8 02 14 */ add r6, r8, r0
+/* 8029E968 0029A5C8 80 C6 00 8C */ lwz r6, 0x8c(r6)
+/* 8029E96C 0029A5CC 7C 07 2A 14 */ add r0, r7, r5
+/* 8029E970 0029A5D0 7C A6 00 AE */ lbzx r5, r6, r0
+/* 8029E974 0029A5D4 48 00 00 EC */ b lbl_8029EA60
+lbl_8029E978:
+/* 8029E978 0029A5D8 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029E97C 0029A5DC 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029E980 0029A5E0 55 65 2E FE */ srwi r5, r11, 0x1b
+/* 8029E984 0029A5E4 7D 88 28 AE */ lbzx r12, r8, r5
+/* 8029E988 0029A5E8 7D 4A 28 AE */ lbzx r10, r10, r5
+/* 8029E98C 0029A5EC 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029E990 0029A5F0 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029E994 0029A5F4 39 4A 00 01 */ addi r10, r10, 1
+/* 8029E998 0029A5F8 41 82 00 10 */ beq lbl_8029E9A8
+/* 8029E99C 0029A5FC 91 43 06 A4 */ stw r10, 0x6a4(r3)
+/* 8029E9A0 0029A600 7D 85 63 78 */ mr r5, r12
+/* 8029E9A4 0029A604 48 00 00 BC */ b lbl_8029EA60
+lbl_8029E9A8:
+/* 8029E9A8 0029A608 39 80 00 05 */ li r12, 5
+/* 8029E9AC 0029A60C 38 C0 00 14 */ li r6, 0x14
+lbl_8029E9B0:
+/* 8029E9B0 0029A610 21 2C 00 1F */ subfic r9, r12, 0x1f
+/* 8029E9B4 0029A614 38 C6 00 04 */ addi r6, r6, 4
+/* 8029E9B8 0029A618 7C A8 32 14 */ add r5, r8, r6
+/* 8029E9BC 0029A61C 39 8C 00 01 */ addi r12, r12, 1
+/* 8029E9C0 0029A620 80 05 00 44 */ lwz r0, 0x44(r5)
+/* 8029E9C4 0029A624 7D 65 4C 30 */ srw r5, r11, r9
+/* 8029E9C8 0029A628 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029E9CC 0029A62C 41 85 FF E4 */ bgt cr1, lbl_8029E9B0
+/* 8029E9D0 0029A630 38 0C 00 01 */ addi r0, r12, 1
+/* 8029E9D4 0029A634 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029E9D8 0029A638 4B FF FF 84 */ b lbl_8029E95C
+lbl_8029E9DC:
+/* 8029E9DC 0029A63C 20 0C 00 21 */ subfic r0, r12, 0x21
+/* 8029E9E0 0029A640 38 A0 FF FF */ li r5, -1
+/* 8029E9E4 0029A644 7C A7 00 30 */ slw r7, r5, r0
+/* 8029E9E8 0029A648 81 23 06 9C */ lwz r9, 0x69c(r3)
+/* 8029E9EC 0029A64C 7D 65 38 78 */ andc r5, r11, r7
+/* 8029E9F0 0029A650 38 E8 00 44 */ addi r7, r8, 0x44
+/* 8029E9F4 0029A654 20 CC 00 21 */ subfic r6, r12, 0x21
+/* 8029E9F8 0029A658 85 69 00 04 */ lwzu r11, 4(r9)
+/* 8029E9FC 0029A65C 39 86 00 01 */ addi r12, r6, 1
+/* 8029EA00 0029A660 54 C6 10 3A */ slwi r6, r6, 2
+/* 8029EA04 0029A664 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029EA08 0029A668 91 23 06 9C */ stw r9, 0x69c(r3)
+/* 8029EA0C 0029A66C 7C E7 32 14 */ add r7, r7, r6
+/* 8029EA10 0029A670 51 65 0F FE */ rlwimi r5, r11, 1, 0x1f, 0x1f
+/* 8029EA14 0029A674 39 20 00 02 */ li r9, 2
+/* 8029EA18 0029A678 91 63 06 A0 */ stw r11, 0x6a0(r3)
+/* 8029EA1C 0029A67C 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029EA20 0029A680 48 00 00 18 */ b lbl_8029EA38
+lbl_8029EA24:
+/* 8029EA24 0029A684 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029EA28 0029A688 84 C7 00 04 */ lwzu r6, 4(r7)
+/* 8029EA2C 0029A68C 7C A5 52 14 */ add r5, r5, r10
+/* 8029EA30 0029A690 39 29 00 01 */ addi r9, r9, 1
+/* 8029EA34 0029A694 39 8C 00 01 */ addi r12, r12, 1
+lbl_8029EA38:
+/* 8029EA38 0029A698 7C 05 30 00 */ cmpw r5, r6
+/* 8029EA3C 0029A69C 5D 6A 4F FE */ rlwnm r10, r11, r9, 0x1f, 0x1f
+/* 8029EA40 0029A6A0 41 81 FF E4 */ bgt lbl_8029EA24
+/* 8029EA44 0029A6A4 91 23 06 A4 */ stw r9, 0x6a4(r3)
+/* 8029EA48 0029A6A8 55 80 10 3A */ slwi r0, r12, 2
+/* 8029EA4C 0029A6AC 7C C8 02 14 */ add r6, r8, r0
+/* 8029EA50 0029A6B0 80 08 00 40 */ lwz r0, 0x40(r8)
+/* 8029EA54 0029A6B4 80 C6 00 8C */ lwz r6, 0x8c(r6)
+/* 8029EA58 0029A6B8 7C 00 2A 14 */ add r0, r0, r5
+/* 8029EA5C 0029A6BC 7C A6 00 AE */ lbzx r5, r6, r0
+lbl_8029EA60:
+/* 8029EA60 0029A6C0 38 00 00 20 */ li r0, 0x20
+/* 8029EA64 0029A6C4 7C 04 07 EC */ dcbz r4, r0
+/* 8029EA68 0029A6C8 38 00 00 40 */ li r0, 0x40
+/* 8029EA6C 0029A6CC 38 E0 00 00 */ li r7, 0
+/* 8029EA70 0029A6D0 7C 04 07 EC */ dcbz r4, r0
+/* 8029EA74 0029A6D4 2C 85 00 00 */ cmpwi cr1, r5, 0
+/* 8029EA78 0029A6D8 41 86 00 88 */ beq cr1, lbl_8029EB00
+/* 8029EA7C 0029A6DC 81 43 06 A4 */ lwz r10, 0x6a4(r3)
+/* 8029EA80 0029A6E0 21 6A 00 21 */ subfic r11, r10, 0x21
+/* 8029EA84 0029A6E4 80 E3 06 A0 */ lwz r7, 0x6a0(r3)
+/* 8029EA88 0029A6E8 7D 8B 28 51 */ subf. r12, r11, r5
+/* 8029EA8C 0029A6EC 3B AA FF FF */ addi r29, r10, -1
+/* 8029EA90 0029A6F0 41 81 00 1C */ bgt lbl_8029EAAC
+/* 8029EA94 0029A6F4 7C 0A 2A 14 */ add r0, r10, r5
+/* 8029EA98 0029A6F8 7C EA E8 30 */ slw r10, r7, r29
+/* 8029EA9C 0029A6FC 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029EAA0 0029A700 20 05 00 20 */ subfic r0, r5, 0x20
+/* 8029EAA4 0029A704 7D 47 04 30 */ srw r7, r10, r0
+/* 8029EAA8 0029A708 48 00 00 30 */ b lbl_8029EAD8
+lbl_8029EAAC:
+/* 8029EAAC 0029A70C 7C E0 E8 30 */ slw r0, r7, r29
+/* 8029EAB0 0029A710 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029EAB4 0029A714 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029EAB8 0029A718 39 8C 00 01 */ addi r12, r12, 1
+/* 8029EABC 0029A71C 90 E3 06 A0 */ stw r7, 0x6a0(r3)
+/* 8029EAC0 0029A720 7C E7 5C 30 */ srw r7, r7, r11
+/* 8029EAC4 0029A724 7C 07 02 14 */ add r0, r7, r0
+/* 8029EAC8 0029A728 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029EACC 0029A72C 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029EAD0 0029A730 21 85 00 20 */ subfic r12, r5, 0x20
+/* 8029EAD4 0029A734 7C 07 64 30 */ srw r7, r0, r12
+lbl_8029EAD8:
+/* 8029EAD8 0029A738 7C E6 07 34 */ extsh r6, r7
+/* 8029EADC 0029A73C 20 05 00 20 */ subfic r0, r5, 0x20
+/* 8029EAE0 0029A740 7C C6 00 34 */ cntlzw r6, r6
+/* 8029EAE4 0029A744 7C 86 00 00 */ cmpw cr1, r6, r0
+/* 8029EAE8 0029A748 40 85 00 18 */ ble cr1, lbl_8029EB00
+/* 8029EAEC 0029A74C 38 00 FF FF */ li r0, -1
+/* 8029EAF0 0029A750 7C 00 28 30 */ slw r0, r0, r5
+/* 8029EAF4 0029A754 7C A7 02 14 */ add r5, r7, r0
+/* 8029EAF8 0029A758 38 05 00 01 */ addi r0, r5, 1
+/* 8029EAFC 0029A75C 7C 07 07 34 */ extsh r7, r0
+lbl_8029EB00:
+/* 8029EB00 0029A760 38 00 00 60 */ li r0, 0x60
+/* 8029EB04 0029A764 7C 04 07 EC */ dcbz r4, r0
+/* 8029EB08 0029A768 3D 00 80 40 */ lis r8, lbl_803FD9D8@ha
+/* 8029EB0C 0029A76C A8 03 06 90 */ lha r0, 0x690(r3)
+/* 8029EB10 0029A770 39 08 D9 D8 */ addi r8, r8, lbl_803FD9D8@l
+/* 8029EB14 0029A774 38 C0 00 01 */ li r6, 1
+/* 8029EB18 0029A778 39 20 FF FF */ li r9, -1
+/* 8029EB1C 0029A77C 7C 00 3A 14 */ add r0, r0, r7
+/* 8029EB20 0029A780 B0 03 06 90 */ sth r0, 0x690(r3)
+/* 8029EB24 0029A784 B0 04 00 00 */ sth r0, 0(r4)
+/* 8029EB28 0029A788 48 00 03 1C */ b lbl_8029EE44
+lbl_8029EB2C:
+/* 8029EB2C 0029A78C 83 A3 06 A4 */ lwz r29, 0x6a4(r3)
+/* 8029EB30 0029A790 81 6D AD 20 */ lwz r11, lbl_8063FFE0-_SDA_BASE_(r13)
+/* 8029EB34 0029A794 2C 1D 00 1C */ cmpwi r29, 0x1c
+/* 8029EB38 0029A798 83 C3 06 A0 */ lwz r30, 0x6a0(r3)
+/* 8029EB3C 0029A79C 38 BD 00 04 */ addi r5, r29, 4
+/* 8029EB40 0029A7A0 3B EB 00 20 */ addi r31, r11, 0x20
+/* 8029EB44 0029A7A4 5F CC 2E FE */ rlwnm r12, r30, r5, 0x1b, 0x1f
+/* 8029EB48 0029A7A8 41 81 00 BC */ bgt lbl_8029EC04
+/* 8029EB4C 0029A7AC 7C AB 60 AE */ lbzx r5, r11, r12
+/* 8029EB50 0029A7B0 7F FF 60 AE */ lbzx r31, r31, r12
+/* 8029EB54 0029A7B4 2C 05 00 FF */ cmpwi r5, 0xff
+/* 8029EB58 0029A7B8 41 82 00 10 */ beq lbl_8029EB68
+/* 8029EB5C 0029A7BC 7F BD FA 14 */ add r29, r29, r31
+/* 8029EB60 0029A7C0 93 A3 06 A4 */ stw r29, 0x6a4(r3)
+/* 8029EB64 0029A7C4 48 00 02 38 */ b lbl_8029ED9C
+lbl_8029EB68:
+/* 8029EB68 0029A7C8 38 EB 00 58 */ addi r7, r11, 0x58
+/* 8029EB6C 0029A7CC 38 A0 00 05 */ li r5, 5
+/* 8029EB70 0029A7D0 3B BD 00 05 */ addi r29, r29, 5
+lbl_8029EB74:
+/* 8029EB74 0029A7D4 2C 1D 00 21 */ cmpwi r29, 0x21
+/* 8029EB78 0029A7D8 55 8C 08 3C */ slwi r12, r12, 1
+/* 8029EB7C 0029A7DC 41 82 00 18 */ beq lbl_8029EB94
+/* 8029EB80 0029A7E0 5F DF EF FE */ rlwnm r31, r30, r29, 0x1f, 0x1f
+/* 8029EB84 0029A7E4 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029EB88 0029A7E8 7D 8C FB 78 */ or r12, r12, r31
+/* 8029EB8C 0029A7EC 3B BD 00 01 */ addi r29, r29, 1
+/* 8029EB90 0029A7F0 48 00 00 48 */ b lbl_8029EBD8
+lbl_8029EB94:
+/* 8029EB94 0029A7F4 83 E3 06 9C */ lwz r31, 0x69c(r3)
+/* 8029EB98 0029A7F8 3B A0 00 01 */ li r29, 1
+/* 8029EB9C 0029A7FC 87 DF 00 04 */ lwzu r30, 4(r31)
+/* 8029EBA0 0029A800 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029EBA4 0029A804 53 CC 0F FE */ rlwimi r12, r30, 1, 0x1f, 0x1f
+/* 8029EBA8 0029A808 93 E3 06 9C */ stw r31, 0x69c(r3)
+/* 8029EBAC 0029A80C 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029EBB0 0029A810 48 00 00 14 */ b lbl_8029EBC4
+lbl_8029EBB4:
+/* 8029EBB4 0029A814 55 8C 08 3C */ slwi r12, r12, 1
+/* 8029EBB8 0029A818 5F DF EF FE */ rlwnm r31, r30, r29, 0x1f, 0x1f
+/* 8029EBBC 0029A81C 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029EBC0 0029A820 7D 8C FB 78 */ or r12, r12, r31
+lbl_8029EBC4:
+/* 8029EBC4 0029A824 7C 0C 00 00 */ cmpw r12, r0
+/* 8029EBC8 0029A828 3B BD 00 01 */ addi r29, r29, 1
+/* 8029EBCC 0029A82C 38 A5 00 01 */ addi r5, r5, 1
+/* 8029EBD0 0029A830 41 81 FF E4 */ bgt lbl_8029EBB4
+/* 8029EBD4 0029A834 48 00 00 10 */ b lbl_8029EBE4
+lbl_8029EBD8:
+/* 8029EBD8 0029A838 7C 0C 00 00 */ cmpw r12, r0
+/* 8029EBDC 0029A83C 38 A5 00 01 */ addi r5, r5, 1
+/* 8029EBE0 0029A840 41 81 FF 94 */ bgt lbl_8029EB74
+lbl_8029EBE4:
+/* 8029EBE4 0029A844 93 A3 06 A4 */ stw r29, 0x6a4(r3)
+/* 8029EBE8 0029A848 54 A0 10 3A */ slwi r0, r5, 2
+/* 8029EBEC 0029A84C 7C AB 02 14 */ add r5, r11, r0
+/* 8029EBF0 0029A850 80 0B 00 40 */ lwz r0, 0x40(r11)
+/* 8029EBF4 0029A854 80 A5 00 8C */ lwz r5, 0x8c(r5)
+/* 8029EBF8 0029A858 7C 00 62 14 */ add r0, r0, r12
+/* 8029EBFC 0029A85C 7C A5 00 AE */ lbzx r5, r5, r0
+/* 8029EC00 0029A860 48 00 01 9C */ b lbl_8029ED9C
+lbl_8029EC04:
+/* 8029EC04 0029A864 2C 1D 00 21 */ cmpwi r29, 0x21
+/* 8029EC08 0029A868 81 83 06 9C */ lwz r12, 0x69c(r3)
+/* 8029EC0C 0029A86C 41 82 00 AC */ beq lbl_8029ECB8
+/* 8029EC10 0029A870 2C 1D 00 20 */ cmpwi r29, 0x20
+/* 8029EC14 0029A874 5F C5 2E FE */ rlwnm r5, r30, r5, 0x1b, 0x1f
+/* 8029EC18 0029A878 41 82 00 2C */ beq lbl_8029EC44
+/* 8029EC1C 0029A87C 7D 8B 28 AE */ lbzx r12, r11, r5
+/* 8029EC20 0029A880 7F FF 28 AE */ lbzx r31, r31, r5
+/* 8029EC24 0029A884 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029EC28 0029A888 7C BD FA 14 */ add r5, r29, r31
+/* 8029EC2C 0029A88C 41 82 00 F0 */ beq lbl_8029ED1C
+/* 8029EC30 0029A890 2C 05 00 21 */ cmpwi r5, 0x21
+/* 8029EC34 0029A894 90 A3 06 A4 */ stw r5, 0x6a4(r3)
+/* 8029EC38 0029A898 41 81 00 E4 */ bgt lbl_8029ED1C
+/* 8029EC3C 0029A89C 7D 85 63 78 */ mr r5, r12
+/* 8029EC40 0029A8A0 48 00 01 5C */ b lbl_8029ED9C
+lbl_8029EC44:
+/* 8029EC44 0029A8A4 87 CC 00 04 */ lwzu r30, 4(r12)
+/* 8029EC48 0029A8A8 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029EC4C 0029A8AC 53 C5 27 3E */ rlwimi r5, r30, 4, 0x1c, 0x1f
+/* 8029EC50 0029A8B0 7D 8B 28 AE */ lbzx r12, r11, r5
+/* 8029EC54 0029A8B4 7F FF 28 AE */ lbzx r31, r31, r5
+/* 8029EC58 0029A8B8 2C 0C 00 FF */ cmpwi r12, 0xff
+/* 8029EC5C 0029A8BC 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029EC60 0029A8C0 93 E3 06 A4 */ stw r31, 0x6a4(r3)
+/* 8029EC64 0029A8C4 41 82 00 0C */ beq lbl_8029EC70
+/* 8029EC68 0029A8C8 7D 85 63 78 */ mr r5, r12
+/* 8029EC6C 0029A8CC 48 00 01 30 */ b lbl_8029ED9C
+lbl_8029EC70:
+/* 8029EC70 0029A8D0 54 AC D8 08 */ slwi r12, r5, 0x1b
+/* 8029EC74 0029A8D4 38 EB 00 58 */ addi r7, r11, 0x58
+/* 8029EC78 0029A8D8 53 CC F8 7E */ rlwimi r12, r30, 0x1f, 1, 0x1f
+/* 8029EC7C 0029A8DC 3B A0 00 05 */ li r29, 5
+lbl_8029EC80:
+/* 8029EC80 0029A8E0 23 DD 00 1F */ subfic r30, r29, 0x1f
+/* 8029EC84 0029A8E4 84 07 00 04 */ lwzu r0, 4(r7)
+/* 8029EC88 0029A8E8 7D 85 F4 30 */ srw r5, r12, r30
+/* 8029EC8C 0029A8EC 3B BD 00 01 */ addi r29, r29, 1
+/* 8029EC90 0029A8F0 7C 05 00 00 */ cmpw r5, r0
+/* 8029EC94 0029A8F4 41 81 FF EC */ bgt lbl_8029EC80
+/* 8029EC98 0029A8F8 93 A3 06 A4 */ stw r29, 0x6a4(r3)
+lbl_8029EC9C:
+/* 8029EC9C 0029A8FC 57 A0 10 3A */ slwi r0, r29, 2
+/* 8029ECA0 0029A900 81 4B 00 40 */ lwz r10, 0x40(r11)
+/* 8029ECA4 0029A904 7C EB 02 14 */ add r7, r11, r0
+/* 8029ECA8 0029A908 80 E7 00 8C */ lwz r7, 0x8c(r7)
+/* 8029ECAC 0029A90C 7C 0A 2A 14 */ add r0, r10, r5
+/* 8029ECB0 0029A910 7C A7 00 AE */ lbzx r5, r7, r0
+/* 8029ECB4 0029A914 48 00 00 E8 */ b lbl_8029ED9C
+lbl_8029ECB8:
+/* 8029ECB8 0029A918 87 CC 00 04 */ lwzu r30, 4(r12)
+/* 8029ECBC 0029A91C 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029ECC0 0029A920 57 C5 2E FE */ srwi r5, r30, 0x1b
+/* 8029ECC4 0029A924 7F AB 28 AE */ lbzx r29, r11, r5
+/* 8029ECC8 0029A928 7F FF 28 AE */ lbzx r31, r31, r5
+/* 8029ECCC 0029A92C 2C 1D 00 FF */ cmpwi r29, 0xff
+/* 8029ECD0 0029A930 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029ECD4 0029A934 3B FF 00 01 */ addi r31, r31, 1
+/* 8029ECD8 0029A938 41 82 00 10 */ beq lbl_8029ECE8
+/* 8029ECDC 0029A93C 93 E3 06 A4 */ stw r31, 0x6a4(r3)
+/* 8029ECE0 0029A940 7F A5 EB 78 */ mr r5, r29
+/* 8029ECE4 0029A944 48 00 00 B8 */ b lbl_8029ED9C
+lbl_8029ECE8:
+/* 8029ECE8 0029A948 3B A0 00 05 */ li r29, 5
+/* 8029ECEC 0029A94C 38 E0 00 14 */ li r7, 0x14
+lbl_8029ECF0:
+/* 8029ECF0 0029A950 21 9D 00 1F */ subfic r12, r29, 0x1f
+/* 8029ECF4 0029A954 38 E7 00 04 */ addi r7, r7, 4
+/* 8029ECF8 0029A958 7C AB 3A 14 */ add r5, r11, r7
+/* 8029ECFC 0029A95C 3B BD 00 01 */ addi r29, r29, 1
+/* 8029ED00 0029A960 80 05 00 44 */ lwz r0, 0x44(r5)
+/* 8029ED04 0029A964 7F C5 64 30 */ srw r5, r30, r12
+/* 8029ED08 0029A968 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029ED0C 0029A96C 41 85 FF E4 */ bgt cr1, lbl_8029ECF0
+/* 8029ED10 0029A970 38 1D 00 01 */ addi r0, r29, 1
+/* 8029ED14 0029A974 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029ED18 0029A978 4B FF FF 84 */ b lbl_8029EC9C
+lbl_8029ED1C:
+/* 8029ED1C 0029A97C 20 1D 00 21 */ subfic r0, r29, 0x21
+/* 8029ED20 0029A980 81 83 06 9C */ lwz r12, 0x69c(r3)
+/* 8029ED24 0029A984 7D 2A 00 30 */ slw r10, r9, r0
+/* 8029ED28 0029A988 7F C5 50 78 */ andc r5, r30, r10
+/* 8029ED2C 0029A98C 39 4B 00 44 */ addi r10, r11, 0x44
+/* 8029ED30 0029A990 20 FD 00 21 */ subfic r7, r29, 0x21
+/* 8029ED34 0029A994 87 CC 00 04 */ lwzu r30, 4(r12)
+/* 8029ED38 0029A998 3B A7 00 01 */ addi r29, r7, 1
+/* 8029ED3C 0029A99C 54 E7 10 3A */ slwi r7, r7, 2
+/* 8029ED40 0029A9A0 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029ED44 0029A9A4 91 83 06 9C */ stw r12, 0x69c(r3)
+/* 8029ED48 0029A9A8 7D 4A 3A 14 */ add r10, r10, r7
+/* 8029ED4C 0029A9AC 53 C5 0F FE */ rlwimi r5, r30, 1, 0x1f, 0x1f
+/* 8029ED50 0029A9B0 39 80 00 02 */ li r12, 2
+/* 8029ED54 0029A9B4 93 C3 06 A0 */ stw r30, 0x6a0(r3)
+/* 8029ED58 0029A9B8 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029ED5C 0029A9BC 48 00 00 18 */ b lbl_8029ED74
+lbl_8029ED60:
+/* 8029ED60 0029A9C0 54 A5 08 3C */ slwi r5, r5, 1
+/* 8029ED64 0029A9C4 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029ED68 0029A9C8 7C A5 FA 14 */ add r5, r5, r31
+/* 8029ED6C 0029A9CC 39 8C 00 01 */ addi r12, r12, 1
+/* 8029ED70 0029A9D0 3B BD 00 01 */ addi r29, r29, 1
+lbl_8029ED74:
+/* 8029ED74 0029A9D4 7C 05 38 00 */ cmpw r5, r7
+/* 8029ED78 0029A9D8 5F DF 67 FE */ rlwnm r31, r30, r12, 0x1f, 0x1f
+/* 8029ED7C 0029A9DC 41 81 FF E4 */ bgt lbl_8029ED60
+/* 8029ED80 0029A9E0 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029ED84 0029A9E4 57 A0 10 3A */ slwi r0, r29, 2
+/* 8029ED88 0029A9E8 7C EB 02 14 */ add r7, r11, r0
+/* 8029ED8C 0029A9EC 80 0B 00 40 */ lwz r0, 0x40(r11)
+/* 8029ED90 0029A9F0 80 E7 00 8C */ lwz r7, 0x8c(r7)
+/* 8029ED94 0029A9F4 7C 00 2A 14 */ add r0, r0, r5
+/* 8029ED98 0029A9F8 7C A7 00 AE */ lbzx r5, r7, r0
+lbl_8029ED9C:
+/* 8029ED9C 0029A9FC 54 BE 07 3F */ clrlwi. r30, r5, 0x1c
+/* 8029EDA0 0029AA00 7C A7 26 70 */ srawi r7, r5, 4
+/* 8029EDA4 0029AA04 41 82 00 90 */ beq lbl_8029EE34
+/* 8029EDA8 0029AA08 81 43 06 A4 */ lwz r10, 0x6a4(r3)
+/* 8029EDAC 0029AA0C 7C C6 3A 14 */ add r6, r6, r7
+/* 8029EDB0 0029AA10 21 6A 00 21 */ subfic r11, r10, 0x21
+/* 8029EDB4 0029AA14 80 E3 06 A0 */ lwz r7, 0x6a0(r3)
+/* 8029EDB8 0029AA18 7D 8B F0 51 */ subf. r12, r11, r30
+/* 8029EDBC 0029AA1C 3B AA FF FF */ addi r29, r10, -1
+/* 8029EDC0 0029AA20 41 81 00 1C */ bgt lbl_8029EDDC
+/* 8029EDC4 0029AA24 7C 0A F2 14 */ add r0, r10, r30
+/* 8029EDC8 0029AA28 7C EA E8 30 */ slw r10, r7, r29
+/* 8029EDCC 0029AA2C 90 03 06 A4 */ stw r0, 0x6a4(r3)
+/* 8029EDD0 0029AA30 20 1E 00 20 */ subfic r0, r30, 0x20
+/* 8029EDD4 0029AA34 7D 47 04 30 */ srw r7, r10, r0
+/* 8029EDD8 0029AA38 48 00 00 30 */ b lbl_8029EE08
+lbl_8029EDDC:
+/* 8029EDDC 0029AA3C 7C E0 E8 30 */ slw r0, r7, r29
+/* 8029EDE0 0029AA40 81 43 06 9C */ lwz r10, 0x69c(r3)
+/* 8029EDE4 0029AA44 84 EA 00 04 */ lwzu r7, 4(r10)
+/* 8029EDE8 0029AA48 39 8C 00 01 */ addi r12, r12, 1
+/* 8029EDEC 0029AA4C 90 E3 06 A0 */ stw r7, 0x6a0(r3)
+/* 8029EDF0 0029AA50 7C E7 5C 30 */ srw r7, r7, r11
+/* 8029EDF4 0029AA54 7C 07 02 14 */ add r0, r7, r0
+/* 8029EDF8 0029AA58 91 43 06 9C */ stw r10, 0x69c(r3)
+/* 8029EDFC 0029AA5C 91 83 06 A4 */ stw r12, 0x6a4(r3)
+/* 8029EE00 0029AA60 21 9E 00 20 */ subfic r12, r30, 0x20
+/* 8029EE04 0029AA64 7C 07 64 30 */ srw r7, r0, r12
+lbl_8029EE08:
+/* 8029EE08 0029AA68 7C E5 00 34 */ cntlzw r5, r7
+/* 8029EE0C 0029AA6C 20 1E 00 20 */ subfic r0, r30, 0x20
+/* 8029EE10 0029AA70 7C 85 00 00 */ cmpw cr1, r5, r0
+/* 8029EE14 0029AA74 40 85 00 10 */ ble cr1, lbl_8029EE24
+/* 8029EE18 0029AA78 7D 20 F0 30 */ slw r0, r9, r30
+/* 8029EE1C 0029AA7C 7C A0 3A 14 */ add r5, r0, r7
+/* 8029EE20 0029AA80 38 E5 00 01 */ addi r7, r5, 1
+lbl_8029EE24:
+/* 8029EE24 0029AA84 7C 08 30 AE */ lbzx r0, r8, r6
+/* 8029EE28 0029AA88 54 00 08 3C */ slwi r0, r0, 1
+/* 8029EE2C 0029AA8C 7C E4 03 2E */ sthx r7, r4, r0
+/* 8029EE30 0029AA90 48 00 00 10 */ b lbl_8029EE40
+lbl_8029EE34:
+/* 8029EE34 0029AA94 2C 87 00 0F */ cmpwi cr1, r7, 0xf
+/* 8029EE38 0029AA98 40 86 00 14 */ bne cr1, lbl_8029EE4C
+/* 8029EE3C 0029AA9C 38 C6 00 0F */ addi r6, r6, 0xf
+lbl_8029EE40:
+/* 8029EE40 0029AAA0 38 C6 00 01 */ addi r6, r6, 1
+lbl_8029EE44:
+/* 8029EE44 0029AAA4 2C 86 00 40 */ cmpwi cr1, r6, 0x40
+/* 8029EE48 0029AAA8 41 84 FC E4 */ blt cr1, lbl_8029EB2C
+lbl_8029EE4C:
+/* 8029EE4C 0029AAAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8029EE50 0029AAB0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8029EE54 0029AAB4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8029EE58 0029AAB8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8029EE5C 0029AABC 4E 80 00 20 */ blr
+
+.global THPInit
+THPInit:
+/* 8029EE60 0029AAC0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029EE64 0029AAC4 7C 08 02 A6 */ mflr r0
+/* 8029EE68 0029AAC8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029EE6C 0029AACC 80 6D 89 10 */ lwz r3, lbl_8063DBD0-_SDA_BASE_(r13)
+/* 8029EE70 0029AAD0 4B FC A7 E1 */ bl OSRegisterVersion
+/* 8029EE74 0029AAD4 3D 60 E0 00 */ lis r11, 0xE0002000@ha
+/* 8029EE78 0029AAD8 3D 40 80 53 */ lis r10, lbl_80535598@ha
+/* 8029EE7C 0029AADC 3C C0 80 53 */ lis r6, lbl_805356C0@ha
+/* 8029EE80 0029AAE0 38 60 00 04 */ li r3, 4
+/* 8029EE84 0029AAE4 39 2B 20 00 */ addi r9, r11, 0xE0002000@l
+/* 8029EE88 0029AAE8 39 0A 55 98 */ addi r8, r10, lbl_80535598@l
+/* 8029EE8C 0029AAEC 38 EB 28 00 */ addi r7, r11, 0x2800
+/* 8029EE90 0029AAF0 38 AB 2A 00 */ addi r5, r11, 0x2a00
+/* 8029EE94 0029AAF4 38 86 56 C0 */ addi r4, r6, lbl_805356C0@l
+/* 8029EE98 0029AAF8 38 0B 34 80 */ addi r0, r11, 0x3480
+/* 8029EE9C 0029AAFC 64 63 00 04 */ oris r3, r3, 4
+/* 8029EEA0 0029AB00 91 6A 55 98 */ stw r11, 0x5598(r10)
+/* 8029EEA4 0029AB04 91 28 00 04 */ stw r9, 4(r8)
+/* 8029EEA8 0029AB08 90 E8 00 08 */ stw r7, 8(r8)
+/* 8029EEAC 0029AB0C 91 66 56 C0 */ stw r11, 0x56c0(r6)
+/* 8029EEB0 0029AB10 90 A4 00 04 */ stw r5, 4(r4)
+/* 8029EEB4 0029AB14 90 04 00 08 */ stw r0, 8(r4)
+/* 8029EEB8 0029AB18 7C 72 E3 A6 */ mtspr 0x392, r3
+/* 8029EEBC 0029AB1C 38 60 00 05 */ li r3, 5
+/* 8029EEC0 0029AB20 64 63 00 05 */ oris r3, r3, 5
+/* 8029EEC4 0029AB24 7C 73 E3 A6 */ mtspr 0x393, r3
+/* 8029EEC8 0029AB28 38 60 00 06 */ li r3, 6
+/* 8029EECC 0029AB2C 64 63 00 06 */ oris r3, r3, 6
+/* 8029EED0 0029AB30 7C 74 E3 A6 */ mtspr 0x394, r3
+/* 8029EED4 0029AB34 38 60 00 07 */ li r3, 7
+/* 8029EED8 0029AB38 64 63 00 07 */ oris r3, r3, 7
+/* 8029EEDC 0029AB3C 7C 75 E3 A6 */ mtspr 0x395, r3
+/* 8029EEE0 0029AB40 38 00 00 01 */ li r0, 1
+/* 8029EEE4 0029AB44 90 0D AC A0 */ stw r0, lbl_8063FF60-_SDA_BASE_(r13)
+/* 8029EEE8 0029AB48 38 60 00 01 */ li r3, 1
+/* 8029EEEC 0029AB4C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029EEF0 0029AB50 7C 08 03 A6 */ mtlr r0
+/* 8029EEF4 0029AB54 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029EEF8 0029AB58 4E 80 00 20 */ blr
diff --git a/asm/SDK/TPL/TPL.s b/asm/SDK/TPL/TPL.s
new file mode 100644
index 0000000..c631eb2
--- /dev/null
+++ b/asm/SDK/TPL/TPL.s
@@ -0,0 +1,150 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global TPLBind
+TPLBind:
+/* 8029B918 00297578 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8029B91C 0029757C 7C 08 02 A6 */ mflr r0
+/* 8029B920 00297580 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029B924 00297584 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8029B928 00297588 7C 7F 1B 78 */ mr r31, r3
+/* 8029B92C 0029758C 80 83 00 00 */ lwz r4, 0(r3)
+/* 8029B930 00297590 3C 04 FF E0 */ addis r0, r4, 0xffe0
+/* 8029B934 00297594 28 00 AF 30 */ cmplwi r0, 0xaf30
+/* 8029B938 00297598 41 82 00 1C */ beq lbl_8029B954
+/* 8029B93C 0029759C 3C A0 80 44 */ lis r5, lbl_8043BEC0@ha
+/* 8029B940 002975A0 38 6D 89 08 */ addi r3, r13, lbl_8063DBC8-_SDA_BASE_
+/* 8029B944 002975A4 38 A5 BE C0 */ addi r5, r5, lbl_8043BEC0@l
+/* 8029B948 002975A8 38 80 00 19 */ li r4, 0x19
+/* 8029B94C 002975AC 4C C6 31 82 */ crclr 6
+/* 8029B950 002975B0 4B FC FB 4D */ bl OSPanic
+lbl_8029B954:
+/* 8029B954 002975B4 80 1F 00 08 */ lwz r0, 8(r31)
+/* 8029B958 002975B8 38 60 00 00 */ li r3, 0
+/* 8029B95C 002975BC 38 A0 00 01 */ li r5, 1
+/* 8029B960 002975C0 7C 00 FA 14 */ add r0, r0, r31
+/* 8029B964 002975C4 90 1F 00 08 */ stw r0, 8(r31)
+/* 8029B968 002975C8 48 00 00 A0 */ b lbl_8029BA08
+lbl_8029B96C:
+/* 8029B96C 002975CC 80 9F 00 08 */ lwz r4, 8(r31)
+/* 8029B970 002975D0 54 66 1B 78 */ rlwinm r6, r3, 3, 0xd, 0x1c
+/* 8029B974 002975D4 7C 04 30 2E */ lwzx r0, r4, r6
+/* 8029B978 002975D8 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B97C 002975DC 41 82 00 38 */ beq lbl_8029B9B4
+/* 8029B980 002975E0 7C 1F 02 14 */ add r0, r31, r0
+/* 8029B984 002975E4 7C 04 31 2E */ stwx r0, r4, r6
+/* 8029B988 002975E8 80 9F 00 08 */ lwz r4, 8(r31)
+/* 8029B98C 002975EC 7C 84 30 2E */ lwzx r4, r4, r6
+/* 8029B990 002975F0 88 04 00 23 */ lbz r0, 0x23(r4)
+/* 8029B994 002975F4 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B998 002975F8 40 82 00 1C */ bne lbl_8029B9B4
+/* 8029B99C 002975FC 80 04 00 08 */ lwz r0, 8(r4)
+/* 8029B9A0 00297600 7C 1F 02 14 */ add r0, r31, r0
+/* 8029B9A4 00297604 90 04 00 08 */ stw r0, 8(r4)
+/* 8029B9A8 00297608 80 9F 00 08 */ lwz r4, 8(r31)
+/* 8029B9AC 0029760C 7C 84 30 2E */ lwzx r4, r4, r6
+/* 8029B9B0 00297610 98 A4 00 23 */ stb r5, 0x23(r4)
+lbl_8029B9B4:
+/* 8029B9B4 00297614 80 1F 00 08 */ lwz r0, 8(r31)
+/* 8029B9B8 00297618 7C 80 32 14 */ add r4, r0, r6
+/* 8029B9BC 0029761C 80 04 00 04 */ lwz r0, 4(r4)
+/* 8029B9C0 00297620 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B9C4 00297624 41 82 00 40 */ beq lbl_8029BA04
+/* 8029B9C8 00297628 7C 1F 02 14 */ add r0, r31, r0
+/* 8029B9CC 0029762C 90 04 00 04 */ stw r0, 4(r4)
+/* 8029B9D0 00297630 80 1F 00 08 */ lwz r0, 8(r31)
+/* 8029B9D4 00297634 7C 80 32 14 */ add r4, r0, r6
+/* 8029B9D8 00297638 80 84 00 04 */ lwz r4, 4(r4)
+/* 8029B9DC 0029763C 88 04 00 02 */ lbz r0, 2(r4)
+/* 8029B9E0 00297640 2C 00 00 00 */ cmpwi r0, 0
+/* 8029B9E4 00297644 40 82 00 20 */ bne lbl_8029BA04
+/* 8029B9E8 00297648 80 04 00 08 */ lwz r0, 8(r4)
+/* 8029B9EC 0029764C 7C 1F 02 14 */ add r0, r31, r0
+/* 8029B9F0 00297650 90 04 00 08 */ stw r0, 8(r4)
+/* 8029B9F4 00297654 80 1F 00 08 */ lwz r0, 8(r31)
+/* 8029B9F8 00297658 7C 80 32 14 */ add r4, r0, r6
+/* 8029B9FC 0029765C 80 84 00 04 */ lwz r4, 4(r4)
+/* 8029BA00 00297660 98 A4 00 02 */ stb r5, 2(r4)
+lbl_8029BA04:
+/* 8029BA04 00297664 38 63 00 01 */ addi r3, r3, 1
+lbl_8029BA08:
+/* 8029BA08 00297668 80 1F 00 04 */ lwz r0, 4(r31)
+/* 8029BA0C 0029766C 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 8029BA10 00297670 7C 04 00 40 */ cmplw r4, r0
+/* 8029BA14 00297674 41 80 FF 58 */ blt lbl_8029B96C
+/* 8029BA18 00297678 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8029BA1C 0029767C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8029BA20 00297680 7C 08 03 A6 */ mtlr r0
+/* 8029BA24 00297684 38 21 00 10 */ addi r1, r1, 0x10
+/* 8029BA28 00297688 4E 80 00 20 */ blr
+
+.global TPLGet
+TPLGet:
+/* 8029BA2C 0029768C 80 A3 00 04 */ lwz r5, 4(r3)
+/* 8029BA30 00297690 80 63 00 08 */ lwz r3, 8(r3)
+/* 8029BA34 00297694 7C 04 2B 96 */ divwu r0, r4, r5
+/* 8029BA38 00297698 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8029BA3C 0029769C 7C 00 20 50 */ subf r0, r0, r4
+/* 8029BA40 002976A0 54 00 18 38 */ slwi r0, r0, 3
+/* 8029BA44 002976A4 7C 63 02 14 */ add r3, r3, r0
+/* 8029BA48 002976A8 4E 80 00 20 */ blr
+
+.global TPLGetGXTexObjFromPalette
+TPLGetGXTexObjFromPalette:
+/* 8029BA4C 002976AC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8029BA50 002976B0 7C 08 02 A6 */ mflr r0
+/* 8029BA54 002976B4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8029BA58 002976B8 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 8029BA5C 002976BC 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 8029BA60 002976C0 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 8029BA64 002976C4 7C 9D 23 78 */ mr r29, r4
+/* 8029BA68 002976C8 80 C3 00 04 */ lwz r6, 4(r3)
+/* 8029BA6C 002976CC 83 C3 00 08 */ lwz r30, 8(r3)
+/* 8029BA70 002976D0 7F A3 EB 78 */ mr r3, r29
+/* 8029BA74 002976D4 7C 05 33 96 */ divwu r0, r5, r6
+/* 8029BA78 002976D8 7C 00 31 D6 */ mullw r0, r0, r6
+/* 8029BA7C 002976DC 7C 00 28 50 */ subf r0, r0, r5
+/* 8029BA80 002976E0 54 1F 18 38 */ slwi r31, r0, 3
+/* 8029BA84 002976E4 7D 3E F8 2E */ lwzx r9, r30, r31
+/* 8029BA88 002976E8 88 C9 00 21 */ lbz r6, 0x21(r9)
+/* 8029BA8C 002976EC 88 09 00 22 */ lbz r0, 0x22(r9)
+/* 8029BA90 002976F0 80 89 00 08 */ lwz r4, 8(r9)
+/* 8029BA94 002976F4 7C A6 00 50 */ subf r5, r6, r0
+/* 8029BA98 002976F8 7C 00 30 50 */ subf r0, r0, r6
+/* 8029BA9C 002976FC 7C A0 03 78 */ or r0, r5, r0
+/* 8029BAA0 00297700 A0 A9 00 02 */ lhz r5, 2(r9)
+/* 8029BAA4 00297704 A0 C9 00 00 */ lhz r6, 0(r9)
+/* 8029BAA8 00297708 54 0A 0F FE */ srwi r10, r0, 0x1f
+/* 8029BAAC 0029770C 80 E9 00 04 */ lwz r7, 4(r9)
+/* 8029BAB0 00297710 81 09 00 0C */ lwz r8, 0xc(r9)
+/* 8029BAB4 00297714 81 29 00 10 */ lwz r9, 0x10(r9)
+/* 8029BAB8 00297718 4B FE 6C 19 */ bl GXInitTexObj
+/* 8029BABC 0029771C 7C FE F8 2E */ lwzx r7, r30, r31
+/* 8029BAC0 00297720 3C A0 43 30 */ lis r5, 0x4330
+/* 8029BAC4 00297724 90 A1 00 08 */ stw r5, 8(r1)
+/* 8029BAC8 00297728 7F A3 EB 78 */ mr r3, r29
+/* 8029BACC 0029772C 88 87 00 21 */ lbz r4, 0x21(r7)
+/* 8029BAD0 00297730 38 C0 00 00 */ li r6, 0
+/* 8029BAD4 00297734 88 07 00 22 */ lbz r0, 0x22(r7)
+/* 8029BAD8 00297738 39 00 00 00 */ li r8, 0
+/* 8029BADC 0029773C 90 81 00 0C */ stw r4, 0xc(r1)
+/* 8029BAE0 00297740 C8 42 A3 78 */ lfd f2, lbl_80642978-_SDA2_BASE_(r2)
+/* 8029BAE4 00297744 C8 01 00 08 */ lfd f0, 8(r1)
+/* 8029BAE8 00297748 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 8029BAEC 0029774C EC 20 10 28 */ fsubs f1, f0, f2
+/* 8029BAF0 00297750 80 87 00 14 */ lwz r4, 0x14(r7)
+/* 8029BAF4 00297754 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8029BAF8 00297758 80 A7 00 18 */ lwz r5, 0x18(r7)
+/* 8029BAFC 0029775C C8 01 00 10 */ lfd f0, 0x10(r1)
+/* 8029BB00 00297760 C0 67 00 1C */ lfs f3, 0x1c(r7)
+/* 8029BB04 00297764 EC 40 10 28 */ fsubs f2, f0, f2
+/* 8029BB08 00297768 88 E7 00 20 */ lbz r7, 0x20(r7)
+/* 8029BB0C 0029776C 4B FE 6E 19 */ bl GXInitTexObjLOD
+/* 8029BB10 00297770 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8029BB14 00297774 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 8029BB18 00297778 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 8029BB1C 0029777C 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 8029BB20 00297780 7C 08 03 A6 */ mtlr r0
+/* 8029BB24 00297784 38 21 00 30 */ addi r1, r1, 0x30
+/* 8029BB28 00297788 4E 80 00 20 */ blr