summaryrefslogtreecommitdiff
path: root/asm/code_80247038.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_80247038.s')
-rw-r--r--asm/code_80247038.s187
1 files changed, 187 insertions, 0 deletions
diff --git a/asm/code_80247038.s b/asm/code_80247038.s
new file mode 100644
index 0000000..a981eaa
--- /dev/null
+++ b/asm/code_80247038.s
@@ -0,0 +1,187 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_80247038
+func_80247038:
+/* 80247038 00242C98 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8024703C 00242C9C 7C 08 02 A6 */ mflr r0
+/* 80247040 00242CA0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80247044 00242CA4 38 04 00 01 */ addi r0, r4, 1
+/* 80247048 00242CA8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8024704C 00242CAC 7C 7F 1B 78 */ mr r31, r3
+/* 80247050 00242CB0 90 83 00 00 */ stw r4, 0(r3)
+/* 80247054 00242CB4 54 03 10 3A */ slwi r3, r0, 2
+/* 80247058 00242CB8 4B F9 3A 1D */ bl func_801DAA74
+/* 8024705C 00242CBC 2C 03 00 00 */ cmpwi r3, 0
+/* 80247060 00242CC0 90 7F 00 04 */ stw r3, 4(r31)
+/* 80247064 00242CC4 41 82 00 0C */ beq lbl_80247070
+/* 80247068 00242CC8 38 00 00 00 */ li r0, 0
+/* 8024706C 00242CCC 90 03 00 00 */ stw r0, 0(r3)
+lbl_80247070:
+/* 80247070 00242CD0 7F E3 FB 78 */ mr r3, r31
+/* 80247074 00242CD4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80247078 00242CD8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8024707C 00242CDC 7C 08 03 A6 */ mtlr r0
+/* 80247080 00242CE0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80247084 00242CE4 4E 80 00 20 */ blr
+
+.global func_80247088
+func_80247088:
+/* 80247088 00242CE8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8024708C 00242CEC 7C 08 02 A6 */ mflr r0
+/* 80247090 00242CF0 2C 03 00 00 */ cmpwi r3, 0
+/* 80247094 00242CF4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80247098 00242CF8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8024709C 00242CFC 7C 9F 23 78 */ mr r31, r4
+/* 802470A0 00242D00 93 C1 00 08 */ stw r30, 8(r1)
+/* 802470A4 00242D04 7C 7E 1B 78 */ mr r30, r3
+/* 802470A8 00242D08 41 82 00 24 */ beq lbl_802470CC
+/* 802470AC 00242D0C 80 63 00 04 */ lwz r3, 4(r3)
+/* 802470B0 00242D10 2C 03 00 00 */ cmpwi r3, 0
+/* 802470B4 00242D14 41 82 00 08 */ beq lbl_802470BC
+/* 802470B8 00242D18 4B F9 3A 05 */ bl func_801DAABC
+lbl_802470BC:
+/* 802470BC 00242D1C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802470C0 00242D20 40 81 00 0C */ ble lbl_802470CC
+/* 802470C4 00242D24 7F C3 F3 78 */ mr r3, r30
+/* 802470C8 00242D28 4B F9 39 F1 */ bl func_801DAAB8
+lbl_802470CC:
+/* 802470CC 00242D2C 7F C3 F3 78 */ mr r3, r30
+/* 802470D0 00242D30 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802470D4 00242D34 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802470D8 00242D38 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802470DC 00242D3C 7C 08 03 A6 */ mtlr r0
+/* 802470E0 00242D40 38 21 00 10 */ addi r1, r1, 0x10
+/* 802470E4 00242D44 4E 80 00 20 */ blr
+
+.global func_802470E8
+func_802470E8:
+/* 802470E8 00242D48 80 63 00 04 */ lwz r3, 4(r3)
+/* 802470EC 00242D4C 2C 03 00 00 */ cmpwi r3, 0
+/* 802470F0 00242D50 41 82 00 18 */ beq lbl_80247108
+/* 802470F4 00242D54 80 03 00 00 */ lwz r0, 0(r3)
+/* 802470F8 00242D58 2C 00 00 00 */ cmpwi r0, 0
+/* 802470FC 00242D5C 41 82 00 0C */ beq lbl_80247108
+/* 80247100 00242D60 38 60 00 00 */ li r3, 0
+/* 80247104 00242D64 4E 80 00 20 */ blr
+lbl_80247108:
+/* 80247108 00242D68 38 60 00 01 */ li r3, 1
+/* 8024710C 00242D6C 4E 80 00 20 */ blr
+
+.global func_80247110
+func_80247110:
+/* 80247110 00242D70 80 03 00 00 */ lwz r0, 0(r3)
+/* 80247114 00242D74 38 E0 00 00 */ li r7, 0
+/* 80247118 00242D78 38 A0 00 00 */ li r5, 0
+/* 8024711C 00242D7C 7C 09 03 A6 */ mtctr r0
+/* 80247120 00242D80 2C 00 00 00 */ cmpwi r0, 0
+/* 80247124 00242D84 40 81 00 54 */ ble lbl_80247178
+lbl_80247128:
+/* 80247128 00242D88 80 C3 00 04 */ lwz r6, 4(r3)
+/* 8024712C 00242D8C 7C 06 28 2E */ lwzx r0, r6, r5
+/* 80247130 00242D90 7C 04 00 40 */ cmplw r4, r0
+/* 80247134 00242D94 40 82 00 0C */ bne lbl_80247140
+/* 80247138 00242D98 38 60 00 01 */ li r3, 1
+/* 8024713C 00242D9C 4E 80 00 20 */ blr
+lbl_80247140:
+/* 80247140 00242DA0 2C 00 00 00 */ cmpwi r0, 0
+/* 80247144 00242DA4 40 82 00 28 */ bne lbl_8024716C
+/* 80247148 00242DA8 54 E5 10 3A */ slwi r5, r7, 2
+/* 8024714C 00242DAC 38 07 00 01 */ addi r0, r7, 1
+/* 80247150 00242DB0 7C 86 29 2E */ stwx r4, r6, r5
+/* 80247154 00242DB4 54 00 10 3A */ slwi r0, r0, 2
+/* 80247158 00242DB8 38 A0 00 00 */ li r5, 0
+/* 8024715C 00242DBC 80 83 00 04 */ lwz r4, 4(r3)
+/* 80247160 00242DC0 38 60 00 01 */ li r3, 1
+/* 80247164 00242DC4 7C A4 01 2E */ stwx r5, r4, r0
+/* 80247168 00242DC8 4E 80 00 20 */ blr
+lbl_8024716C:
+/* 8024716C 00242DCC 38 A5 00 04 */ addi r5, r5, 4
+/* 80247170 00242DD0 38 E7 00 01 */ addi r7, r7, 1
+/* 80247174 00242DD4 42 00 FF B4 */ bdnz lbl_80247128
+lbl_80247178:
+/* 80247178 00242DD8 38 60 00 00 */ li r3, 0
+/* 8024717C 00242DDC 4E 80 00 20 */ blr
+
+.global func_80247180
+func_80247180:
+/* 80247180 00242DE0 80 63 00 04 */ lwz r3, 4(r3)
+/* 80247184 00242DE4 4E 80 00 20 */ blr
+
+.global func_80247188
+func_80247188:
+/* 80247188 00242DE8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8024718C 00242DEC 7C 08 02 A6 */ mflr r0
+/* 80247190 00242DF0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80247194 00242DF4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80247198 00242DF8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8024719C 00242DFC 7C 9E 23 78 */ mr r30, r4
+/* 802471A0 00242E00 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802471A4 00242E04 7C 7D 1B 78 */ mr r29, r3
+/* 802471A8 00242E08 80 03 00 04 */ lwz r0, 4(r3)
+/* 802471AC 00242E0C 2C 00 00 00 */ cmpwi r0, 0
+/* 802471B0 00242E10 41 82 00 28 */ beq lbl_802471D8
+/* 802471B4 00242E14 3B E0 00 00 */ li r31, 0
+/* 802471B8 00242E18 48 00 00 10 */ b lbl_802471C8
+lbl_802471BC:
+/* 802471BC 00242E1C 7F C3 F3 78 */ mr r3, r30
+/* 802471C0 00242E20 4B F9 43 3D */ bl func_801DB4FC
+/* 802471C4 00242E24 3B FF 00 04 */ addi r31, r31, 4
+lbl_802471C8:
+/* 802471C8 00242E28 80 7D 00 04 */ lwz r3, 4(r29)
+/* 802471CC 00242E2C 7C 83 F8 2E */ lwzx r4, r3, r31
+/* 802471D0 00242E30 2C 04 00 00 */ cmpwi r4, 0
+/* 802471D4 00242E34 40 82 FF E8 */ bne lbl_802471BC
+lbl_802471D8:
+/* 802471D8 00242E38 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802471DC 00242E3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802471E0 00242E40 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802471E4 00242E44 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802471E8 00242E48 7C 08 03 A6 */ mtlr r0
+/* 802471EC 00242E4C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802471F0 00242E50 4E 80 00 20 */ blr
+
+.global func_802471F4
+func_802471F4:
+/* 802471F4 00242E54 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802471F8 00242E58 7C 08 02 A6 */ mflr r0
+/* 802471FC 00242E5C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80247200 00242E60 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80247204 00242E64 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80247208 00242E68 7C 9E 23 78 */ mr r30, r4
+/* 8024720C 00242E6C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80247210 00242E70 7C 7D 1B 78 */ mr r29, r3
+/* 80247214 00242E74 80 03 00 04 */ lwz r0, 4(r3)
+/* 80247218 00242E78 2C 00 00 00 */ cmpwi r0, 0
+/* 8024721C 00242E7C 41 82 00 28 */ beq lbl_80247244
+/* 80247220 00242E80 3B E0 00 00 */ li r31, 0
+/* 80247224 00242E84 48 00 00 10 */ b lbl_80247234
+lbl_80247228:
+/* 80247228 00242E88 7F C3 F3 78 */ mr r3, r30
+/* 8024722C 00242E8C 4B F9 43 1D */ bl func_801DB548
+/* 80247230 00242E90 3B FF 00 04 */ addi r31, r31, 4
+lbl_80247234:
+/* 80247234 00242E94 80 7D 00 04 */ lwz r3, 4(r29)
+/* 80247238 00242E98 7C 83 F8 2E */ lwzx r4, r3, r31
+/* 8024723C 00242E9C 2C 04 00 00 */ cmpwi r4, 0
+/* 80247240 00242EA0 40 82 FF E8 */ bne lbl_80247228
+lbl_80247244:
+/* 80247244 00242EA4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80247248 00242EA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8024724C 00242EAC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80247250 00242EB0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80247254 00242EB4 7C 08 03 A6 */ mtlr r0
+/* 80247258 00242EB8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8024725C 00242EBC 4E 80 00 20 */ blr
+
+.global func_80247260
+func_80247260:
+/* 80247260 00242EC0 38 A0 00 01 */ li r5, 1
+/* 80247264 00242EC4 38 6D A5 88 */ addi r3, r13, lbl_8063F848-_SDA_BASE_
+/* 80247268 00242EC8 38 80 00 04 */ li r4, 4
+/* 8024726C 00242ECC 38 00 00 00 */ li r0, 0
+/* 80247270 00242ED0 98 AD A5 88 */ stb r5, lbl_8063F848-_SDA_BASE_(r13)
+/* 80247274 00242ED4 B0 83 00 02 */ sth r4, 2(r3)
+/* 80247278 00242ED8 98 03 00 04 */ stb r0, 4(r3)
+/* 8024727C 00242EDC 4E 80 00 20 */ blr