You've already forked smb-decomp
mirror of
https://github.com/encounter/smb-decomp.git
synced 2026-03-30 11:38:28 -07:00
23c5eef656
* start decompiling mot_ape.s * decompile more of mot_ape.s * decompile more of mot_ape.s * decompile more of mot_ape.s * could not match func_8008B3B8 * decompile more of mot_ape.s * decompile more of mot_ape.s * finish decompiling mot_ape.s * match func_8008B3B8 (thanks, EpochFlame) * clean up func_8008B3B8
508 lines
22 KiB
ArmAsm
508 lines
22 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text
|
|
|
|
.global func_8008CDC0
|
|
func_8008CDC0:
|
|
/* 8008CDC0 00088CE0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008CDC4 00088CE4 3C 80 43 30 */ lis r4, 0x4330
|
|
/* 8008CDC8 00088CE8 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8008CDCC 00088CEC C8 42 AF 38 */ lfd f2, lbl_802F5738@sda21(r2)
|
|
/* 8008CDD0 00088CF0 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8008CDD4 00088CF4 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 8008CDD8 00088CF8 90 81 00 18 */ stw r4, 0x18(r1)
|
|
/* 8008CDDC 00088CFC C8 01 00 18 */ lfd f0, 0x18(r1)
|
|
/* 8008CDE0 00088D00 EC 00 10 28 */ fsubs f0, f0, f2
|
|
/* 8008CDE4 00088D04 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8008CDE8 00088D08 40 80 00 0C */ bge lbl_8008CDF4
|
|
/* 8008CDEC 00088D0C C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 8008CDF0 00088D10 48 00 01 04 */ b lbl_8008CEF4
|
|
lbl_8008CDF4:
|
|
/* 8008CDF4 00088D14 38 C3 00 10 */ addi r6, r3, 0x10
|
|
/* 8008CDF8 00088D18 48 00 00 20 */ b lbl_8008CE18
|
|
lbl_8008CDFC:
|
|
/* 8008CDFC 00088D1C 80 66 00 00 */ lwz r3, 0(r6)
|
|
/* 8008CE00 00088D20 3C 03 00 00 */ addis r0, r3, 0
|
|
/* 8008CE04 00088D24 28 00 FF FF */ cmplwi r0, 0xffff
|
|
/* 8008CE08 00088D28 40 82 00 0C */ bne lbl_8008CE14
|
|
/* 8008CE0C 00088D2C 38 C6 FF F0 */ addi r6, r6, -16
|
|
/* 8008CE10 00088D30 48 00 00 28 */ b lbl_8008CE38
|
|
lbl_8008CE14:
|
|
/* 8008CE14 00088D34 38 C6 00 10 */ addi r6, r6, 0x10
|
|
lbl_8008CE18:
|
|
/* 8008CE18 00088D38 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008CE1C 00088D3C 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8008CE20 00088D40 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 8008CE24 00088D44 90 81 00 18 */ stw r4, 0x18(r1)
|
|
/* 8008CE28 00088D48 C8 01 00 18 */ lfd f0, 0x18(r1)
|
|
/* 8008CE2C 00088D4C EC 00 10 28 */ fsubs f0, f0, f2
|
|
/* 8008CE30 00088D50 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8008CE34 00088D54 41 81 FF C8 */ bgt lbl_8008CDFC
|
|
lbl_8008CE38:
|
|
/* 8008CE38 00088D58 80 A6 FF F0 */ lwz r5, -0x10(r6)
|
|
/* 8008CE3C 00088D5C 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 8008CE40 00088D60 80 86 00 00 */ lwz r4, 0(r6)
|
|
/* 8008CE44 00088D64 6C A0 80 00 */ xoris r0, r5, 0x8000
|
|
/* 8008CE48 00088D68 C8 A2 AF 38 */ lfd f5, lbl_802F5738@sda21(r2)
|
|
/* 8008CE4C 00088D6C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8008CE50 00088D70 7C 05 20 50 */ subf r0, r5, r4
|
|
/* 8008CE54 00088D74 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8008CE58 00088D78 C8 82 AF 28 */ lfd f4, lbl_802F5728@sda21(r2)
|
|
/* 8008CE5C 00088D7C 90 61 00 10 */ stw r3, 0x10(r1)
|
|
/* 8008CE60 00088D80 C8 C2 AF 18 */ lfd f6, lbl_802F5718@sda21(r2)
|
|
/* 8008CE64 00088D84 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 8008CE68 00088D88 C8 01 00 10 */ lfd f0, 0x10(r1)
|
|
/* 8008CE6C 00088D8C 90 61 00 18 */ stw r3, 0x18(r1)
|
|
/* 8008CE70 00088D90 EC 00 28 28 */ fsubs f0, f0, f5
|
|
/* 8008CE74 00088D94 C8 42 AF 30 */ lfd f2, lbl_802F5730@sda21(r2)
|
|
/* 8008CE78 00088D98 C8 61 00 18 */ lfd f3, 0x18(r1)
|
|
/* 8008CE7C 00088D9C C8 E2 AF 20 */ lfd f7, lbl_802F5720@sda21(r2)
|
|
/* 8008CE80 00088DA0 ED 43 28 28 */ fsubs f10, f3, f5
|
|
/* 8008CE84 00088DA4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8008CE88 00088DA8 C0 66 FF FC */ lfs f3, -4(r6)
|
|
/* 8008CE8C 00088DAC C1 06 FF F4 */ lfs f8, -0xc(r6)
|
|
/* 8008CE90 00088DB0 C0 A6 00 04 */ lfs f5, 4(r6)
|
|
/* 8008CE94 00088DB4 ED 60 50 24 */ fdivs f11, f0, f10
|
|
/* 8008CE98 00088DB8 C0 26 00 08 */ lfs f1, 8(r6)
|
|
/* 8008CE9C 00088DBC ED 8B 02 F2 */ fmuls f12, f11, f11
|
|
/* 8008CEA0 00088DC0 ED AC 02 F2 */ fmuls f13, f12, f11
|
|
/* 8008CEA4 00088DC4 FC 04 03 32 */ fmul f0, f4, f12
|
|
/* 8008CEA8 00088DC8 FD 26 03 32 */ fmul f9, f6, f12
|
|
/* 8008CEAC 00088DCC FC 84 03 72 */ fmul f4, f4, f13
|
|
/* 8008CEB0 00088DD0 FC 42 03 72 */ fmul f2, f2, f13
|
|
/* 8008CEB4 00088DD4 FC C4 48 28 */ fsub f6, f4, f9
|
|
/* 8008CEB8 00088DD8 FC 0D 00 28 */ fsub f0, f13, f0
|
|
/* 8008CEBC 00088DDC FC 82 48 2A */ fadd f4, f2, f9
|
|
/* 8008CEC0 00088DE0 FC C7 30 2A */ fadd f6, f7, f6
|
|
/* 8008CEC4 00088DE4 FC 4B 00 2A */ fadd f2, f11, f0
|
|
/* 8008CEC8 00088DE8 EC 0D 60 28 */ fsubs f0, f13, f12
|
|
/* 8008CECC 00088DEC FC 43 00 B2 */ fmul f2, f3, f2
|
|
/* 8008CED0 00088DF0 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8008CED4 00088DF4 FC 68 01 B2 */ fmul f3, f8, f6
|
|
/* 8008CED8 00088DF8 FC 25 01 32 */ fmul f1, f5, f4
|
|
/* 8008CEDC 00088DFC FC 02 00 2A */ fadd f0, f2, f0
|
|
/* 8008CEE0 00088E00 FC 23 08 2A */ fadd f1, f3, f1
|
|
/* 8008CEE4 00088E04 FC 0A 00 32 */ fmul f0, f10, f0
|
|
/* 8008CEE8 00088E08 FC 20 08 18 */ frsp f1, f1
|
|
/* 8008CEEC 00088E0C FC 21 00 2A */ fadd f1, f1, f0
|
|
/* 8008CEF0 00088E10 FC 20 08 18 */ frsp f1, f1
|
|
lbl_8008CEF4:
|
|
/* 8008CEF4 00088E14 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008CEF8 00088E18 4E 80 00 20 */ blr
|
|
lbl_8008CEFC:
|
|
/* 8008CEFC 00088E1C 4E 80 00 20 */ blr
|
|
|
|
.global func_8008CF00
|
|
func_8008CF00:
|
|
/* 8008CF00 00088E20 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 8008CF04 00088E24 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 8008CF08 00088E28 7C 67 1B 78 */ mr r7, r3
|
|
/* 8008CF0C 00088E2C 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 8008CF10 00088E30 39 00 00 00 */ li r8, 0
|
|
/* 8008CF14 00088E34 39 20 00 00 */ li r9, 0
|
|
/* 8008CF18 00088E38 93 C1 00 20 */ stw r30, 0x20(r1)
|
|
/* 8008CF1C 00088E3C 38 C0 00 00 */ li r6, 0
|
|
/* 8008CF20 00088E40 90 6D 9E E0 */ stw r3, lbl_802F20C0@sda21(r13)
|
|
/* 8008CF24 00088E44 90 6D 9E E4 */ stw r3, lbl_802F20C4@sda21(r13)
|
|
/* 8008CF28 00088E48 40 81 01 3C */ ble lbl_8008D064
|
|
/* 8008CF2C 00088E4C 54 80 F0 BF */ rlwinm. r0, r4, 0x1e, 2, 0x1f
|
|
/* 8008CF30 00088E50 7C 09 03 A6 */ mtctr r0
|
|
/* 8008CF34 00088E54 41 82 00 F0 */ beq lbl_8008D024
|
|
lbl_8008CF38:
|
|
/* 8008CF38 00088E58 90 C7 00 00 */ stw r6, 0(r7)
|
|
/* 8008CF3C 00088E5C 38 A9 00 01 */ addi r5, r9, 1
|
|
/* 8008CF40 00088E60 54 A5 28 34 */ slwi r5, r5, 5
|
|
/* 8008CF44 00088E64 90 C7 00 04 */ stw r6, 4(r7)
|
|
/* 8008CF48 00088E68 7C 03 2A 14 */ add r0, r3, r5
|
|
/* 8008CF4C 00088E6C 38 A9 00 02 */ addi r5, r9, 2
|
|
/* 8008CF50 00088E70 90 C7 00 10 */ stw r6, 0x10(r7)
|
|
/* 8008CF54 00088E74 54 A5 28 34 */ slwi r5, r5, 5
|
|
/* 8008CF58 00088E78 90 C7 00 14 */ stw r6, 0x14(r7)
|
|
/* 8008CF5C 00088E7C 91 27 00 18 */ stw r9, 0x18(r7)
|
|
/* 8008CF60 00088E80 39 29 00 01 */ addi r9, r9, 1
|
|
/* 8008CF64 00088E84 90 C7 00 1C */ stw r6, 0x1c(r7)
|
|
/* 8008CF68 00088E88 91 07 00 0C */ stw r8, 0xc(r7)
|
|
/* 8008CF6C 00088E8C 7C E8 3B 78 */ mr r8, r7
|
|
/* 8008CF70 00088E90 90 07 00 08 */ stw r0, 8(r7)
|
|
/* 8008CF74 00088E94 7C 03 2A 14 */ add r0, r3, r5
|
|
/* 8008CF78 00088E98 38 A9 00 02 */ addi r5, r9, 2
|
|
/* 8008CF7C 00088E9C 90 C7 00 20 */ stw r6, 0x20(r7)
|
|
/* 8008CF80 00088EA0 54 A5 28 34 */ slwi r5, r5, 5
|
|
/* 8008CF84 00088EA4 90 C7 00 24 */ stw r6, 0x24(r7)
|
|
/* 8008CF88 00088EA8 90 C7 00 30 */ stw r6, 0x30(r7)
|
|
/* 8008CF8C 00088EAC 90 C7 00 34 */ stw r6, 0x34(r7)
|
|
/* 8008CF90 00088EB0 91 27 00 38 */ stw r9, 0x38(r7)
|
|
/* 8008CF94 00088EB4 39 29 00 01 */ addi r9, r9, 1
|
|
/* 8008CF98 00088EB8 90 C7 00 3C */ stw r6, 0x3c(r7)
|
|
/* 8008CF9C 00088EBC 91 07 00 2C */ stw r8, 0x2c(r7)
|
|
/* 8008CFA0 00088EC0 38 E7 00 20 */ addi r7, r7, 0x20
|
|
/* 8008CFA4 00088EC4 39 07 00 00 */ addi r8, r7, 0
|
|
/* 8008CFA8 00088EC8 90 07 00 08 */ stw r0, 8(r7)
|
|
/* 8008CFAC 00088ECC 7C 03 2A 14 */ add r0, r3, r5
|
|
/* 8008CFB0 00088ED0 38 A9 00 02 */ addi r5, r9, 2
|
|
/* 8008CFB4 00088ED4 90 C7 00 20 */ stw r6, 0x20(r7)
|
|
/* 8008CFB8 00088ED8 54 A5 28 34 */ slwi r5, r5, 5
|
|
/* 8008CFBC 00088EDC 90 C7 00 24 */ stw r6, 0x24(r7)
|
|
/* 8008CFC0 00088EE0 90 C7 00 30 */ stw r6, 0x30(r7)
|
|
/* 8008CFC4 00088EE4 90 C7 00 34 */ stw r6, 0x34(r7)
|
|
/* 8008CFC8 00088EE8 91 27 00 38 */ stw r9, 0x38(r7)
|
|
/* 8008CFCC 00088EEC 39 29 00 01 */ addi r9, r9, 1
|
|
/* 8008CFD0 00088EF0 90 C7 00 3C */ stw r6, 0x3c(r7)
|
|
/* 8008CFD4 00088EF4 91 07 00 2C */ stw r8, 0x2c(r7)
|
|
/* 8008CFD8 00088EF8 38 E7 00 20 */ addi r7, r7, 0x20
|
|
/* 8008CFDC 00088EFC 39 07 00 00 */ addi r8, r7, 0
|
|
/* 8008CFE0 00088F00 90 07 00 08 */ stw r0, 8(r7)
|
|
/* 8008CFE4 00088F04 7C 03 2A 14 */ add r0, r3, r5
|
|
/* 8008CFE8 00088F08 90 C7 00 20 */ stw r6, 0x20(r7)
|
|
/* 8008CFEC 00088F0C 90 C7 00 24 */ stw r6, 0x24(r7)
|
|
/* 8008CFF0 00088F10 90 C7 00 30 */ stw r6, 0x30(r7)
|
|
/* 8008CFF4 00088F14 90 C7 00 34 */ stw r6, 0x34(r7)
|
|
/* 8008CFF8 00088F18 91 27 00 38 */ stw r9, 0x38(r7)
|
|
/* 8008CFFC 00088F1C 39 29 00 01 */ addi r9, r9, 1
|
|
/* 8008D000 00088F20 90 C7 00 3C */ stw r6, 0x3c(r7)
|
|
/* 8008D004 00088F24 91 07 00 2C */ stw r8, 0x2c(r7)
|
|
/* 8008D008 00088F28 38 E7 00 20 */ addi r7, r7, 0x20
|
|
/* 8008D00C 00088F2C 39 07 00 00 */ addi r8, r7, 0
|
|
/* 8008D010 00088F30 90 07 00 08 */ stw r0, 8(r7)
|
|
/* 8008D014 00088F34 38 E7 00 20 */ addi r7, r7, 0x20
|
|
/* 8008D018 00088F38 42 00 FF 20 */ bdnz lbl_8008CF38
|
|
/* 8008D01C 00088F3C 70 84 00 03 */ andi. r4, r4, 3
|
|
/* 8008D020 00088F40 41 82 00 44 */ beq lbl_8008D064
|
|
lbl_8008D024:
|
|
/* 8008D024 00088F44 7C 89 03 A6 */ mtctr r4
|
|
lbl_8008D028:
|
|
/* 8008D028 00088F48 90 C7 00 00 */ stw r6, 0(r7)
|
|
/* 8008D02C 00088F4C 38 A9 00 01 */ addi r5, r9, 1
|
|
/* 8008D030 00088F50 54 A5 28 34 */ slwi r5, r5, 5
|
|
/* 8008D034 00088F54 90 C7 00 04 */ stw r6, 4(r7)
|
|
/* 8008D038 00088F58 7C 03 2A 14 */ add r0, r3, r5
|
|
/* 8008D03C 00088F5C 90 C7 00 10 */ stw r6, 0x10(r7)
|
|
/* 8008D040 00088F60 90 C7 00 14 */ stw r6, 0x14(r7)
|
|
/* 8008D044 00088F64 91 27 00 18 */ stw r9, 0x18(r7)
|
|
/* 8008D048 00088F68 39 29 00 01 */ addi r9, r9, 1
|
|
/* 8008D04C 00088F6C 90 C7 00 1C */ stw r6, 0x1c(r7)
|
|
/* 8008D050 00088F70 91 07 00 0C */ stw r8, 0xc(r7)
|
|
/* 8008D054 00088F74 7C E8 3B 78 */ mr r8, r7
|
|
/* 8008D058 00088F78 90 07 00 08 */ stw r0, 8(r7)
|
|
/* 8008D05C 00088F7C 38 E7 00 20 */ addi r7, r7, 0x20
|
|
/* 8008D060 00088F80 42 00 FF C8 */ bdnz lbl_8008D028
|
|
lbl_8008D064:
|
|
/* 8008D064 00088F84 3C 80 80 2B */ lis r4, lbl_802B4E10@ha
|
|
/* 8008D068 00088F88 38 00 00 02 */ li r0, 2
|
|
/* 8008D06C 00088F8C 3B E4 4E 10 */ addi r31, r4, lbl_802B4E10@l
|
|
/* 8008D070 00088F90 7C 09 03 A6 */ mtctr r0
|
|
/* 8008D074 00088F94 3C 80 80 09 */ lis r4, lbl_8008CEFC@ha
|
|
/* 8008D078 00088F98 39 83 00 00 */ addi r12, r3, 0
|
|
/* 8008D07C 00088F9C 39 64 CE FC */ addi r11, r4, lbl_8008CEFC@l
|
|
/* 8008D080 00088FA0 3B C0 00 00 */ li r30, 0
|
|
lbl_8008D084:
|
|
/* 8008D084 00088FA4 91 9F 00 00 */ stw r12, 0(r31)
|
|
/* 8008D088 00088FA8 39 40 00 00 */ li r10, 0
|
|
/* 8008D08C 00088FAC 39 2C 00 20 */ addi r9, r12, 0x20
|
|
/* 8008D090 00088FB0 91 6C 00 00 */ stw r11, 0(r12)
|
|
/* 8008D094 00088FB4 39 0C 00 40 */ addi r8, r12, 0x40
|
|
/* 8008D098 00088FB8 38 EC 00 60 */ addi r7, r12, 0x60
|
|
/* 8008D09C 00088FBC 91 4C 00 08 */ stw r10, 8(r12)
|
|
/* 8008D0A0 00088FC0 38 CC 00 80 */ addi r6, r12, 0x80
|
|
/* 8008D0A4 00088FC4 38 AC 00 A0 */ addi r5, r12, 0xa0
|
|
/* 8008D0A8 00088FC8 91 4C 00 0C */ stw r10, 0xc(r12)
|
|
/* 8008D0AC 00088FCC 38 8C 00 C0 */ addi r4, r12, 0xc0
|
|
/* 8008D0B0 00088FD0 38 0C 00 E0 */ addi r0, r12, 0xe0
|
|
/* 8008D0B4 00088FD4 91 3F 00 04 */ stw r9, 4(r31)
|
|
/* 8008D0B8 00088FD8 3B DE 00 08 */ addi r30, r30, 8
|
|
/* 8008D0BC 00088FDC 91 6C 00 20 */ stw r11, 0x20(r12)
|
|
/* 8008D0C0 00088FE0 91 4C 00 28 */ stw r10, 0x28(r12)
|
|
/* 8008D0C4 00088FE4 91 4C 00 2C */ stw r10, 0x2c(r12)
|
|
/* 8008D0C8 00088FE8 91 1F 00 08 */ stw r8, 8(r31)
|
|
/* 8008D0CC 00088FEC 91 6C 00 40 */ stw r11, 0x40(r12)
|
|
/* 8008D0D0 00088FF0 91 4C 00 48 */ stw r10, 0x48(r12)
|
|
/* 8008D0D4 00088FF4 91 4C 00 4C */ stw r10, 0x4c(r12)
|
|
/* 8008D0D8 00088FF8 90 FF 00 0C */ stw r7, 0xc(r31)
|
|
/* 8008D0DC 00088FFC 91 6C 00 60 */ stw r11, 0x60(r12)
|
|
/* 8008D0E0 00089000 91 4C 00 68 */ stw r10, 0x68(r12)
|
|
/* 8008D0E4 00089004 91 4C 00 6C */ stw r10, 0x6c(r12)
|
|
/* 8008D0E8 00089008 90 DF 00 10 */ stw r6, 0x10(r31)
|
|
/* 8008D0EC 0008900C 91 6C 00 80 */ stw r11, 0x80(r12)
|
|
/* 8008D0F0 00089010 91 4C 00 88 */ stw r10, 0x88(r12)
|
|
/* 8008D0F4 00089014 91 4C 00 8C */ stw r10, 0x8c(r12)
|
|
/* 8008D0F8 00089018 90 BF 00 14 */ stw r5, 0x14(r31)
|
|
/* 8008D0FC 0008901C 91 6C 00 A0 */ stw r11, 0xa0(r12)
|
|
/* 8008D100 00089020 91 4C 00 A8 */ stw r10, 0xa8(r12)
|
|
/* 8008D104 00089024 91 4C 00 AC */ stw r10, 0xac(r12)
|
|
/* 8008D108 00089028 90 9F 00 18 */ stw r4, 0x18(r31)
|
|
/* 8008D10C 0008902C 91 6C 00 C0 */ stw r11, 0xc0(r12)
|
|
/* 8008D110 00089030 91 4C 00 C8 */ stw r10, 0xc8(r12)
|
|
/* 8008D114 00089034 91 4C 00 CC */ stw r10, 0xcc(r12)
|
|
/* 8008D118 00089038 90 1F 00 1C */ stw r0, 0x1c(r31)
|
|
/* 8008D11C 0008903C 3B FF 00 20 */ addi r31, r31, 0x20
|
|
/* 8008D120 00089040 91 6C 00 E0 */ stw r11, 0xe0(r12)
|
|
/* 8008D124 00089044 91 4C 00 E8 */ stw r10, 0xe8(r12)
|
|
/* 8008D128 00089048 91 4C 00 EC */ stw r10, 0xec(r12)
|
|
/* 8008D12C 0008904C 39 8C 01 00 */ addi r12, r12, 0x100
|
|
/* 8008D130 00089050 42 00 FF 54 */ bdnz lbl_8008D084
|
|
/* 8008D134 00089054 57 C0 28 34 */ slwi r0, r30, 5
|
|
/* 8008D138 00089058 90 6D 9E DC */ stw r3, lbl_802F20BC@sda21(r13)
|
|
/* 8008D13C 0008905C 7C 63 02 14 */ add r3, r3, r0
|
|
/* 8008D140 00089060 90 6D 9E D8 */ stw r3, lbl_802F20B8@sda21(r13)
|
|
/* 8008D144 00089064 91 43 00 0C */ stw r10, 0xc(r3)
|
|
/* 8008D148 00089068 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 8008D14C 0008906C 83 C1 00 20 */ lwz r30, 0x20(r1)
|
|
/* 8008D150 00089070 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8008D154 00089074 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D158
|
|
func_8008D158:
|
|
/* 8008D158 00089078 7C 08 02 A6 */ mflr r0
|
|
/* 8008D15C 0008907C 3C 80 80 2B */ lis r4, lbl_802B4E10@ha
|
|
/* 8008D160 00089080 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8008D164 00089084 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 8008D168 00089088 BF 61 00 14 */ stmw r27, 0x14(r1)
|
|
/* 8008D16C 0008908C 3B C4 4E 10 */ addi r30, r4, lbl_802B4E10@l
|
|
/* 8008D170 00089090 3B 63 00 00 */ addi r27, r3, 0
|
|
/* 8008D174 00089094 3B A0 00 00 */ li r29, 0
|
|
/* 8008D178 00089098 3B E0 00 01 */ li r31, 1
|
|
lbl_8008D17C:
|
|
/* 8008D17C 0008909C 7F E0 E8 30 */ slw r0, r31, r29
|
|
/* 8008D180 000890A0 7F 60 00 39 */ and. r0, r27, r0
|
|
/* 8008D184 000890A4 40 82 00 34 */ bne lbl_8008D1B8
|
|
/* 8008D188 000890A8 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 8008D18C 000890AC 48 00 00 24 */ b lbl_8008D1B0
|
|
lbl_8008D190:
|
|
/* 8008D190 000890B0 90 6D 9E E0 */ stw r3, lbl_802F20C0@sda21(r13)
|
|
/* 8008D194 000890B4 38 80 00 00 */ li r4, 0
|
|
/* 8008D198 000890B8 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 8008D19C 000890BC 83 83 00 08 */ lwz r28, 8(r3)
|
|
/* 8008D1A0 000890C0 7D 88 03 A6 */ mtlr r12
|
|
/* 8008D1A4 000890C4 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 8008D1A8 000890C8 4E 80 00 21 */ blrl
|
|
/* 8008D1AC 000890CC 7F 83 E3 78 */ mr r3, r28
|
|
lbl_8008D1B0:
|
|
/* 8008D1B0 000890D0 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8008D1B4 000890D4 40 82 FF DC */ bne lbl_8008D190
|
|
lbl_8008D1B8:
|
|
/* 8008D1B8 000890D8 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 8008D1BC 000890DC 2C 1D 00 10 */ cmpwi r29, 0x10
|
|
/* 8008D1C0 000890E0 3B DE 00 04 */ addi r30, r30, 4
|
|
/* 8008D1C4 000890E4 41 80 FF B8 */ blt lbl_8008D17C
|
|
/* 8008D1C8 000890E8 BB 61 00 14 */ lmw r27, 0x14(r1)
|
|
/* 8008D1CC 000890EC 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8008D1D0 000890F0 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8008D1D4 000890F4 7C 08 03 A6 */ mtlr r0
|
|
/* 8008D1D8 000890F8 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D1DC
|
|
func_8008D1DC:
|
|
/* 8008D1DC 000890FC 81 2D 9E D8 */ lwz r9, lbl_802F20B8@sda21(r13)
|
|
/* 8008D1E0 00089100 3C C0 80 2B */ lis r6, lbl_802B4E10@ha
|
|
/* 8008D1E4 00089104 38 E0 00 00 */ li r7, 0
|
|
/* 8008D1E8 00089108 81 09 00 08 */ lwz r8, 8(r9)
|
|
/* 8008D1EC 0008910C 54 A5 10 3A */ slwi r5, r5, 2
|
|
/* 8008D1F0 00089110 38 06 4E 10 */ addi r0, r6, lbl_802B4E10@l
|
|
/* 8008D1F4 00089114 91 0D 9E D8 */ stw r8, lbl_802F20B8@sda21(r13)
|
|
/* 8008D1F8 00089118 7C C0 2A 14 */ add r6, r0, r5
|
|
/* 8008D1FC 0008911C 80 AD 9E D8 */ lwz r5, lbl_802F20B8@sda21(r13)
|
|
/* 8008D200 00089120 90 E5 00 0C */ stw r7, 0xc(r5)
|
|
/* 8008D204 00089124 80 A6 00 00 */ lwz r5, 0(r6)
|
|
/* 8008D208 00089128 80 05 00 08 */ lwz r0, 8(r5)
|
|
/* 8008D20C 0008912C 90 09 00 08 */ stw r0, 8(r9)
|
|
/* 8008D210 00089130 80 A9 00 08 */ lwz r5, 8(r9)
|
|
/* 8008D214 00089134 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8008D218 00089138 41 82 00 08 */ beq lbl_8008D220
|
|
/* 8008D21C 0008913C 91 25 00 0C */ stw r9, 0xc(r5)
|
|
lbl_8008D220:
|
|
/* 8008D220 00089140 80 A6 00 00 */ lwz r5, 0(r6)
|
|
/* 8008D224 00089144 91 25 00 08 */ stw r9, 8(r5)
|
|
/* 8008D228 00089148 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008D22C 0008914C 90 09 00 0C */ stw r0, 0xc(r9)
|
|
/* 8008D230 00089150 90 89 00 04 */ stw r4, 4(r9)
|
|
/* 8008D234 00089154 90 69 00 00 */ stw r3, 0(r9)
|
|
/* 8008D238 00089158 80 69 00 18 */ lwz r3, 0x18(r9)
|
|
/* 8008D23C 0008915C 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D240
|
|
func_8008D240:
|
|
/* 8008D240 00089160 80 6D 9E E0 */ lwz r3, lbl_802F20C0@sda21(r13)
|
|
/* 8008D244 00089164 80 83 00 0C */ lwz r4, 0xc(r3)
|
|
/* 8008D248 00089168 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8008D24C 0008916C 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8008D250 00089170 41 82 00 08 */ beq lbl_8008D258
|
|
/* 8008D254 00089174 90 64 00 08 */ stw r3, 8(r4)
|
|
lbl_8008D258:
|
|
/* 8008D258 00089178 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8008D25C 0008917C 41 82 00 08 */ beq lbl_8008D264
|
|
/* 8008D260 00089180 90 83 00 0C */ stw r4, 0xc(r3)
|
|
lbl_8008D264:
|
|
/* 8008D264 00089184 80 6D 9E E0 */ lwz r3, lbl_802F20C0@sda21(r13)
|
|
/* 8008D268 00089188 38 00 00 00 */ li r0, 0
|
|
/* 8008D26C 0008918C 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 8008D270 00089190 80 0D 9E D8 */ lwz r0, lbl_802F20B8@sda21(r13)
|
|
/* 8008D274 00089194 80 6D 9E E0 */ lwz r3, lbl_802F20C0@sda21(r13)
|
|
/* 8008D278 00089198 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 8008D27C 0008919C 80 6D 9E D8 */ lwz r3, lbl_802F20B8@sda21(r13)
|
|
/* 8008D280 000891A0 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8008D284 000891A4 41 82 00 0C */ beq lbl_8008D290
|
|
/* 8008D288 000891A8 80 0D 9E E0 */ lwz r0, lbl_802F20C0@sda21(r13)
|
|
/* 8008D28C 000891AC 90 03 00 0C */ stw r0, 0xc(r3)
|
|
lbl_8008D290:
|
|
/* 8008D290 000891B0 80 0D 9E E0 */ lwz r0, lbl_802F20C0@sda21(r13)
|
|
/* 8008D294 000891B4 90 0D 9E D8 */ stw r0, lbl_802F20B8@sda21(r13)
|
|
/* 8008D298 000891B8 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D29C
|
|
func_8008D29C:
|
|
/* 8008D29C 000891BC 7C 08 02 A6 */ mflr r0
|
|
/* 8008D2A0 000891C0 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8008D2A4 000891C4 54 60 28 34 */ slwi r0, r3, 5
|
|
/* 8008D2A8 000891C8 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 8008D2AC 000891CC 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 8008D2B0 000891D0 80 8D 9E DC */ lwz r4, lbl_802F20BC@sda21(r13)
|
|
/* 8008D2B4 000891D4 83 ED 9E E0 */ lwz r31, lbl_802F20C0@sda21(r13)
|
|
/* 8008D2B8 000891D8 7C A4 02 14 */ add r5, r4, r0
|
|
/* 8008D2BC 000891DC 80 65 00 0C */ lwz r3, 0xc(r5)
|
|
/* 8008D2C0 000891E0 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 8008D2C4 000891E4 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8008D2C8 000891E8 90 AD 9E E0 */ stw r5, lbl_802F20C0@sda21(r13)
|
|
/* 8008D2CC 000891EC 41 82 00 08 */ beq lbl_8008D2D4
|
|
/* 8008D2D0 000891F0 90 83 00 08 */ stw r4, 8(r3)
|
|
lbl_8008D2D4:
|
|
/* 8008D2D4 000891F4 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8008D2D8 000891F8 41 82 00 08 */ beq lbl_8008D2E0
|
|
/* 8008D2DC 000891FC 90 64 00 0C */ stw r3, 0xc(r4)
|
|
lbl_8008D2E0:
|
|
/* 8008D2E0 00089200 38 00 00 00 */ li r0, 0
|
|
/* 8008D2E4 00089204 90 05 00 0C */ stw r0, 0xc(r5)
|
|
/* 8008D2E8 00089208 80 0D 9E D8 */ lwz r0, lbl_802F20B8@sda21(r13)
|
|
/* 8008D2EC 0008920C 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 8008D2F0 00089210 80 6D 9E D8 */ lwz r3, lbl_802F20B8@sda21(r13)
|
|
/* 8008D2F4 00089214 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8008D2F8 00089218 41 82 00 08 */ beq lbl_8008D300
|
|
/* 8008D2FC 0008921C 90 A3 00 0C */ stw r5, 0xc(r3)
|
|
lbl_8008D300:
|
|
/* 8008D300 00089220 90 AD 9E D8 */ stw r5, lbl_802F20B8@sda21(r13)
|
|
/* 8008D304 00089224 38 80 00 03 */ li r4, 3
|
|
/* 8008D308 00089228 81 85 00 00 */ lwz r12, 0(r5)
|
|
/* 8008D30C 0008922C 80 65 00 04 */ lwz r3, 4(r5)
|
|
/* 8008D310 00089230 7D 88 03 A6 */ mtlr r12
|
|
/* 8008D314 00089234 4E 80 00 21 */ blrl
|
|
/* 8008D318 00089238 93 ED 9E E0 */ stw r31, lbl_802F20C0@sda21(r13)
|
|
/* 8008D31C 0008923C 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 8008D320 00089240 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 8008D324 00089244 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 8008D328 00089248 7C 08 03 A6 */ mtlr r0
|
|
/* 8008D32C 0008924C 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D330
|
|
func_8008D330:
|
|
/* 8008D330 00089250 38 C3 00 18 */ addi r6, r3, 0x18
|
|
/* 8008D334 00089254 48 00 00 28 */ b lbl_8008D35C
|
|
lbl_8008D338:
|
|
/* 8008D338 00089258 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008D33C 0008925C 7C 00 20 38 */ and r0, r0, r4
|
|
/* 8008D340 00089260 90 06 00 00 */ stw r0, 0(r6)
|
|
/* 8008D344 00089264 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008D348 00089268 7C 00 2B 78 */ or r0, r0, r5
|
|
/* 8008D34C 0008926C 90 06 00 00 */ stw r0, 0(r6)
|
|
/* 8008D350 00089270 80 66 00 4C */ lwz r3, 0x4c(r6)
|
|
/* 8008D354 00089274 38 03 00 50 */ addi r0, r3, 0x50
|
|
/* 8008D358 00089278 7C C6 02 14 */ add r6, r6, r0
|
|
lbl_8008D35C:
|
|
/* 8008D35C 0008927C 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008D360 00089280 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8008D364 00089284 40 82 FF D4 */ bne lbl_8008D338
|
|
/* 8008D368 00089288 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D36C
|
|
func_8008D36C:
|
|
/* 8008D36C 0008928C 38 C3 00 18 */ addi r6, r3, 0x18
|
|
/* 8008D370 00089290 48 00 00 28 */ b lbl_8008D398
|
|
lbl_8008D374:
|
|
/* 8008D374 00089294 80 06 00 04 */ lwz r0, 4(r6)
|
|
/* 8008D378 00089298 7C 00 20 38 */ and r0, r0, r4
|
|
/* 8008D37C 0008929C 90 06 00 04 */ stw r0, 4(r6)
|
|
/* 8008D380 000892A0 80 06 00 04 */ lwz r0, 4(r6)
|
|
/* 8008D384 000892A4 7C 00 2B 78 */ or r0, r0, r5
|
|
/* 8008D388 000892A8 90 06 00 04 */ stw r0, 4(r6)
|
|
/* 8008D38C 000892AC 80 66 00 4C */ lwz r3, 0x4c(r6)
|
|
/* 8008D390 000892B0 38 03 00 50 */ addi r0, r3, 0x50
|
|
/* 8008D394 000892B4 7C C6 02 14 */ add r6, r6, r0
|
|
lbl_8008D398:
|
|
/* 8008D398 000892B8 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008D39C 000892BC 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8008D3A0 000892C0 40 82 FF D4 */ bne lbl_8008D374
|
|
/* 8008D3A4 000892C4 4E 80 00 20 */ blr
|
|
|
|
.global func_8008D3A8
|
|
func_8008D3A8:
|
|
/* 8008D3A8 000892C8 38 C3 00 18 */ addi r6, r3, 0x18
|
|
/* 8008D3AC 000892CC 48 00 00 28 */ b lbl_8008D3D4
|
|
lbl_8008D3B0:
|
|
/* 8008D3B0 000892D0 80 06 00 08 */ lwz r0, 8(r6)
|
|
/* 8008D3B4 000892D4 7C 00 20 38 */ and r0, r0, r4
|
|
/* 8008D3B8 000892D8 90 06 00 08 */ stw r0, 8(r6)
|
|
/* 8008D3BC 000892DC 80 06 00 08 */ lwz r0, 8(r6)
|
|
/* 8008D3C0 000892E0 7C 00 2B 78 */ or r0, r0, r5
|
|
/* 8008D3C4 000892E4 90 06 00 08 */ stw r0, 8(r6)
|
|
/* 8008D3C8 000892E8 80 66 00 4C */ lwz r3, 0x4c(r6)
|
|
/* 8008D3CC 000892EC 38 03 00 50 */ addi r0, r3, 0x50
|
|
/* 8008D3D0 000892F0 7C C6 02 14 */ add r6, r6, r0
|
|
lbl_8008D3D4:
|
|
/* 8008D3D4 000892F4 80 06 00 00 */ lwz r0, 0(r6)
|
|
/* 8008D3D8 000892F8 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8008D3DC 000892FC 40 82 FF D4 */ bne lbl_8008D3B0
|
|
/* 8008D3E0 00089300 4E 80 00 20 */ blr
|
|
|
|
.section .sbss
|
|
|
|
.balign 8
|
|
.global lbl_802F20B8
|
|
lbl_802F20B8:
|
|
.skip 0x4
|
|
.global lbl_802F20BC
|
|
lbl_802F20BC:
|
|
.skip 0x4
|
|
.global lbl_802F20C0
|
|
lbl_802F20C0:
|
|
.skip 0x4
|
|
.global lbl_802F20C4
|
|
lbl_802F20C4:
|
|
.skip 0x4
|
|
|
|
.section .sdata2
|
|
|
|
.balign 8
|
|
.global lbl_802F5718
|
|
lbl_802F5718:
|
|
# ROM: 0x1EF138
|
|
.4byte 0x40080000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5720
|
|
lbl_802F5720:
|
|
# ROM: 0x1EF140
|
|
.4byte 0x3FF00000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5728
|
|
lbl_802F5728:
|
|
# ROM: 0x1EF148
|
|
.4byte 0x40000000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5730
|
|
lbl_802F5730:
|
|
# ROM: 0x1EF150
|
|
.4byte 0xC0000000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5738
|
|
lbl_802F5738:
|
|
# ROM: 0x1EF158
|
|
.4byte 0x43300000
|
|
.4byte 0x80000000
|
|
|
|
.section .bss
|
|
|
|
.global lbl_802B4E10
|
|
lbl_802B4E10:
|
|
.skip 0x50
|