Files
camthesaxman d69cf621b6 build rel files (#6)
* initial work on reldisasm

* super janky WIP elf2rel tool finally produces a matching file

* build mkbe.sel_stage.rel

* decompile mkbe.sel_stage.rel

* oops

* accentally broke dependencies

* disassemble mkbe.rel_mini_pilot.rel

* refactor elf2dol

* disassemble mkbe.option.rel

* disassemble mkbe.rel_mini_bowling.rel

* disassemble mkbe.rel_mini_race.rel

* disassemble mkbe.test_mode.rel

* disassemble mkbe.sel_ngc.rel

* disassemble mkbe.rel_mini_fight.rel

* disassemble mkbe.rel_mini_billiards.rel

* disassemble mkbe.rel_mini_golf.rel
2021-12-20 22:09:56 -06:00

1517 lines
64 KiB
ArmAsm

.include "macros.inc"
.section .text
.global begin_display_list
begin_display_list:
/* 8009A968 00096888 7C 08 02 A6 */ mflr r0
/* 8009A96C 0009688C 90 01 00 04 */ stw r0, 4(r1)
/* 8009A970 00096890 94 21 FF F8 */ stwu r1, -8(r1)
/* 8009A974 00096894 48 04 98 29 */ bl GXBeginDisplayList
/* 8009A978 00096898 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8009A97C 0009689C 38 21 00 08 */ addi r1, r1, 8
/* 8009A980 000968A0 7C 08 03 A6 */ mtlr r0
/* 8009A984 000968A4 4E 80 00 20 */ blr
.global end_display_list
end_display_list:
/* 8009A988 000968A8 7C 08 02 A6 */ mflr r0
/* 8009A98C 000968AC 90 01 00 04 */ stw r0, 4(r1)
/* 8009A990 000968B0 94 21 FF F8 */ stwu r1, -8(r1)
/* 8009A994 000968B4 48 04 98 D1 */ bl GXEndDisplayList
/* 8009A998 000968B8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8009A99C 000968BC 38 21 00 08 */ addi r1, r1, 8
/* 8009A9A0 000968C0 7C 08 03 A6 */ mtlr r0
/* 8009A9A4 000968C4 4E 80 00 20 */ blr
.global func_8009A9A8
func_8009A9A8:
/* 8009A9A8 000968C8 38 00 00 00 */ li r0, 0
/* 8009A9AC 000968CC 90 0D 9F B8 */ stw r0, lbl_802F2198@sda21(r13)
/* 8009A9B0 000968D0 4E 80 00 20 */ blr
.global func_8009A9B4
func_8009A9B4:
/* 8009A9B4 000968D4 7C 08 02 A6 */ mflr r0
/* 8009A9B8 000968D8 90 01 00 04 */ stw r0, 4(r1)
/* 8009A9BC 000968DC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009A9C0 000968E0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009A9C4 000968E4 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8009A9C8 000968E8 3B C3 00 00 */ addi r30, r3, 0
/* 8009A9CC 000968EC 80 0D 9F B8 */ lwz r0, lbl_802F2198@sda21(r13)
/* 8009A9D0 000968F0 7C 1E 00 40 */ cmplw r30, r0
/* 8009A9D4 000968F4 41 82 00 34 */ beq lbl_8009AA08
/* 8009A9D8 000968F8 48 04 39 31 */ bl GXClearVtxDesc
/* 8009A9DC 000968FC 93 CD 9F B8 */ stw r30, lbl_802F2198@sda21(r13)
/* 8009A9E0 00096900 3B E0 00 00 */ li r31, 0
lbl_8009A9E4:
/* 8009A9E4 00096904 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
/* 8009A9E8 00096908 41 82 00 10 */ beq lbl_8009A9F8
/* 8009A9EC 0009690C 38 7F 00 00 */ addi r3, r31, 0
/* 8009A9F0 00096910 38 80 00 01 */ li r4, 1
/* 8009A9F4 00096914 48 04 2E F5 */ bl GXSetVtxDesc
lbl_8009A9F8:
/* 8009A9F8 00096918 3B FF 00 01 */ addi r31, r31, 1
/* 8009A9FC 0009691C 28 1F 00 10 */ cmplwi r31, 0x10
/* 8009AA00 00096920 57 DE F8 7E */ srwi r30, r30, 1
/* 8009AA04 00096924 40 81 FF E0 */ ble lbl_8009A9E4
lbl_8009AA08:
/* 8009AA08 00096928 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009AA0C 0009692C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009AA10 00096930 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8009AA14 00096934 7C 08 03 A6 */ mtlr r0
/* 8009AA18 00096938 38 21 00 18 */ addi r1, r1, 0x18
/* 8009AA1C 0009693C 4E 80 00 20 */ blr
.global func_8009AA20
func_8009AA20:
/* 8009AA20 00096940 4E 80 00 20 */ blr
.global func_8009AA24
func_8009AA24:
/* 8009AA24 00096944 7C 85 23 78 */ mr r5, r4
/* 8009AA28 00096948 7C 84 22 14 */ add r4, r4, r4
/* 8009AA2C 0009694C 7C 84 2A 14 */ add r4, r4, r5
/* 8009AA30 00096950 38 E0 00 10 */ li r7, 0x10
/* 8009AA34 00096954 7C A4 22 14 */ add r5, r4, r4
/* 8009AA38 00096958 3C C0 CC 00 */ lis r6, 0xCC008000@h
/* 8009AA3C 0009695C 7C 85 22 14 */ add r4, r5, r4
/* 8009AA40 00096960 60 C6 80 00 */ ori r6, r6, 0xCC008000@l
/* 8009AA44 00096964 7C A5 2A 14 */ add r5, r5, r5
/* 8009AA48 00096968 3C A5 00 0B */ addis r5, r5, 0xb
/* 8009AA4C 0009696C 98 E6 00 00 */ stb r7, 0(r6)
/* 8009AA50 00096970 90 A6 00 00 */ stw r5, 0(r6)
/* 8009AA54 00096974 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 8009AA58 00096978 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 8009AA5C 0009697C E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 8009AA60 00096980 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 8009AA64 00096984 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8009AA68 00096988 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 8009AA6C 0009698C F0 06 00 00 */ psq_st f0, 0(r6), 0, qr0
/* 8009AA70 00096990 F0 26 00 00 */ psq_st f1, 0(r6), 0, qr0
/* 8009AA74 00096994 F0 46 00 00 */ psq_st f2, 0(r6), 0, qr0
/* 8009AA78 00096998 F0 66 00 00 */ psq_st f3, 0(r6), 0, qr0
/* 8009AA7C 0009699C F0 86 00 00 */ psq_st f4, 0(r6), 0, qr0
/* 8009AA80 000969A0 F0 A6 00 00 */ psq_st f5, 0(r6), 0, qr0
/* 8009AA84 000969A4 3C 84 00 08 */ addis r4, r4, 8
/* 8009AA88 000969A8 38 84 04 00 */ addi r4, r4, 0x400
/* 8009AA8C 000969AC 98 E6 00 00 */ stb r7, 0(r6)
/* 8009AA90 000969B0 90 86 00 00 */ stw r4, 0(r6)
/* 8009AA94 000969B4 F0 06 00 00 */ psq_st f0, 0(r6), 0, qr0
/* 8009AA98 000969B8 F0 26 80 00 */ psq_st f1, 0(r6), 1, qr0
/* 8009AA9C 000969BC F0 46 00 00 */ psq_st f2, 0(r6), 0, qr0
/* 8009AAA0 000969C0 F0 66 80 00 */ psq_st f3, 0(r6), 1, qr0
/* 8009AAA4 000969C4 F0 86 00 00 */ psq_st f4, 0(r6), 0, qr0
/* 8009AAA8 000969C8 F0 A6 80 00 */ psq_st f5, 0(r6), 1, qr0
/* 8009AAAC 000969CC 4E 80 00 20 */ blr
.global func_8009AAB0
func_8009AAB0:
/* 8009AAB0 000969D0 3C 60 80 1C */ lis r3, backgroundInfo@ha
/* 8009AAB4 000969D4 3C 80 80 17 */ lis r4, lbl_80171B40@ha
/* 8009AAB8 000969D8 A8 A3 91 78 */ lha r5, backgroundInfo@l(r3)
/* 8009AABC 000969DC 38 04 1B 40 */ addi r0, r4, lbl_80171B40@l
/* 8009AAC0 000969E0 3C 60 80 2C */ lis r3, lbl_802BA200@ha
/* 8009AAC4 000969E4 7C 06 03 78 */ mr r6, r0
/* 8009AAC8 000969E8 38 83 A2 00 */ addi r4, r3, lbl_802BA200@l
/* 8009AACC 000969EC 48 00 00 50 */ b lbl_8009AB1C
lbl_8009AAD0:
/* 8009AAD0 000969F0 7C 60 07 74 */ extsb r0, r3
/* 8009AAD4 000969F4 7C 00 28 00 */ cmpw r0, r5
/* 8009AAD8 000969F8 40 82 00 40 */ bne lbl_8009AB18
/* 8009AADC 000969FC 38 00 00 01 */ li r0, 1
/* 8009AAE0 00096A00 98 04 00 0F */ stb r0, 0xf(r4)
/* 8009AAE4 00096A04 88 06 00 01 */ lbz r0, 1(r6)
/* 8009AAE8 00096A08 98 04 00 00 */ stb r0, 0(r4)
/* 8009AAEC 00096A0C C0 06 00 04 */ lfs f0, 4(r6)
/* 8009AAF0 00096A10 D0 04 00 04 */ stfs f0, 4(r4)
/* 8009AAF4 00096A14 C0 06 00 08 */ lfs f0, 8(r6)
/* 8009AAF8 00096A18 D0 04 00 08 */ stfs f0, 8(r4)
/* 8009AAFC 00096A1C 88 06 00 0C */ lbz r0, 0xc(r6)
/* 8009AB00 00096A20 98 04 00 0C */ stb r0, 0xc(r4)
/* 8009AB04 00096A24 88 06 00 0D */ lbz r0, 0xd(r6)
/* 8009AB08 00096A28 98 04 00 0D */ stb r0, 0xd(r4)
/* 8009AB0C 00096A2C 88 06 00 0E */ lbz r0, 0xe(r6)
/* 8009AB10 00096A30 98 04 00 0E */ stb r0, 0xe(r4)
/* 8009AB14 00096A34 4E 80 00 20 */ blr
lbl_8009AB18:
/* 8009AB18 00096A38 38 C6 00 10 */ addi r6, r6, 0x10
lbl_8009AB1C:
/* 8009AB1C 00096A3C 88 66 00 00 */ lbz r3, 0(r6)
/* 8009AB20 00096A40 7C 60 07 74 */ extsb r0, r3
/* 8009AB24 00096A44 2C 00 FF FF */ cmpwi r0, -1
/* 8009AB28 00096A48 40 82 FF A8 */ bne lbl_8009AAD0
/* 8009AB2C 00096A4C 38 60 00 00 */ li r3, 0
/* 8009AB30 00096A50 98 64 00 0F */ stb r3, 0xf(r4)
/* 8009AB34 00096A54 38 00 00 05 */ li r0, 5
/* 8009AB38 00096A58 98 04 00 00 */ stb r0, 0(r4)
/* 8009AB3C 00096A5C C0 02 B1 B0 */ lfs f0, lbl_802F59B0-_SDA2_BASE_(r2)
/* 8009AB40 00096A60 D0 04 00 04 */ stfs f0, 4(r4)
/* 8009AB44 00096A64 C0 02 B1 B4 */ lfs f0, lbl_802F59B4-_SDA2_BASE_(r2)
/* 8009AB48 00096A68 D0 04 00 08 */ stfs f0, 8(r4)
/* 8009AB4C 00096A6C 98 64 00 0C */ stb r3, 0xc(r4)
/* 8009AB50 00096A70 98 64 00 0D */ stb r3, 0xd(r4)
/* 8009AB54 00096A74 98 64 00 0E */ stb r3, 0xe(r4)
/* 8009AB58 00096A78 4E 80 00 20 */ blr
.global func_8009AB5C
func_8009AB5C:
/* 8009AB5C 00096A7C 7C 08 02 A6 */ mflr r0
/* 8009AB60 00096A80 3C 60 80 2C */ lis r3, lbl_802BA200@ha
/* 8009AB64 00096A84 90 01 00 04 */ stw r0, 4(r1)
/* 8009AB68 00096A88 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009AB6C 00096A8C BF 41 00 08 */ stmw r26, 8(r1)
/* 8009AB70 00096A90 3B E3 A2 00 */ addi r31, r3, lbl_802BA200@l
/* 8009AB74 00096A94 3B DF 00 0F */ addi r30, r31, 0xf
/* 8009AB78 00096A98 88 7F 00 0F */ lbz r3, 0xf(r31)
/* 8009AB7C 00096A9C 7C 63 07 74 */ extsb r3, r3
/* 8009AB80 00096AA0 4B FF 4C F9 */ bl func_8008F878
/* 8009AB84 00096AA4 88 7E 00 00 */ lbz r3, 0(r30)
/* 8009AB88 00096AA8 7C 63 07 74 */ extsb r3, r3
/* 8009AB8C 00096AAC 4B F9 8F C5 */ bl func_80033B50
/* 8009AB90 00096AB0 88 1E 00 00 */ lbz r0, 0(r30)
/* 8009AB94 00096AB4 7C 00 07 75 */ extsb. r0, r0
/* 8009AB98 00096AB8 41 82 00 60 */ beq lbl_8009ABF8
/* 8009AB9C 00096ABC 3B BF 00 04 */ addi r29, r31, 4
/* 8009ABA0 00096AC0 88 7F 00 00 */ lbz r3, 0(r31)
/* 8009ABA4 00096AC4 3B DF 00 08 */ addi r30, r31, 8
/* 8009ABA8 00096AC8 C0 3F 00 04 */ lfs f1, 4(r31)
/* 8009ABAC 00096ACC C0 5F 00 08 */ lfs f2, 8(r31)
/* 8009ABB0 00096AD0 7C 63 07 74 */ extsb r3, r3
/* 8009ABB4 00096AD4 4B FF 4C CD */ bl func_8008F880
/* 8009ABB8 00096AD8 3B 5F 00 0C */ addi r26, r31, 0xc
/* 8009ABBC 00096ADC 3B 7F 00 0D */ addi r27, r31, 0xd
/* 8009ABC0 00096AE0 88 7F 00 0C */ lbz r3, 0xc(r31)
/* 8009ABC4 00096AE4 3B 9F 00 0E */ addi r28, r31, 0xe
/* 8009ABC8 00096AE8 88 9F 00 0D */ lbz r4, 0xd(r31)
/* 8009ABCC 00096AEC 88 BF 00 0E */ lbz r5, 0xe(r31)
/* 8009ABD0 00096AF0 4B FF 4C C1 */ bl func_8008F890
/* 8009ABD4 00096AF4 88 7F 00 00 */ lbz r3, 0(r31)
/* 8009ABD8 00096AF8 C0 3D 00 00 */ lfs f1, 0(r29)
/* 8009ABDC 00096AFC C0 5E 00 00 */ lfs f2, 0(r30)
/* 8009ABE0 00096B00 7C 63 07 74 */ extsb r3, r3
/* 8009ABE4 00096B04 4B F9 8F 75 */ bl func_80033B58
/* 8009ABE8 00096B08 88 7A 00 00 */ lbz r3, 0(r26)
/* 8009ABEC 00096B0C 88 9B 00 00 */ lbz r4, 0(r27)
/* 8009ABF0 00096B10 88 BC 00 00 */ lbz r5, 0(r28)
/* 8009ABF4 00096B14 4B F9 8F 75 */ bl func_80033B68
lbl_8009ABF8:
/* 8009ABF8 00096B18 BB 41 00 08 */ lmw r26, 8(r1)
/* 8009ABFC 00096B1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009AC00 00096B20 38 21 00 20 */ addi r1, r1, 0x20
/* 8009AC04 00096B24 7C 08 03 A6 */ mtlr r0
/* 8009AC08 00096B28 4E 80 00 20 */ blr
.global func_8009AC0C
func_8009AC0C:
/* 8009AC0C 00096B2C 7C 08 02 A6 */ mflr r0
/* 8009AC10 00096B30 90 01 00 04 */ stw r0, 4(r1)
/* 8009AC14 00096B34 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009AC18 00096B38 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009AC1C 00096B3C 7C 7F 07 74 */ extsb r31, r3
/* 8009AC20 00096B40 38 7F 00 00 */ addi r3, r31, 0
/* 8009AC24 00096B44 4B FF 4C 55 */ bl func_8008F878
/* 8009AC28 00096B48 7F E3 FB 78 */ mr r3, r31
/* 8009AC2C 00096B4C 4B F9 8F 25 */ bl func_80033B50
/* 8009AC30 00096B50 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009AC34 00096B54 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009AC38 00096B58 38 21 00 18 */ addi r1, r1, 0x18
/* 8009AC3C 00096B5C 7C 08 03 A6 */ mtlr r0
/* 8009AC40 00096B60 4E 80 00 20 */ blr
.global func_8009AC44
func_8009AC44:
/* 8009AC44 00096B64 7C 08 02 A6 */ mflr r0
/* 8009AC48 00096B68 3C 60 80 2C */ lis r3, lbl_802BA200@ha
/* 8009AC4C 00096B6C 90 01 00 04 */ stw r0, 4(r1)
/* 8009AC50 00096B70 38 63 A2 00 */ addi r3, r3, lbl_802BA200@l
/* 8009AC54 00096B74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009AC58 00096B78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8009AC5C 00096B7C 3B E3 00 0F */ addi r31, r3, 0xf
/* 8009AC60 00096B80 88 63 00 0F */ lbz r3, 0xf(r3)
/* 8009AC64 00096B84 7C 63 07 74 */ extsb r3, r3
/* 8009AC68 00096B88 4B FF 4C 11 */ bl func_8008F878
/* 8009AC6C 00096B8C 88 7F 00 00 */ lbz r3, 0(r31)
/* 8009AC70 00096B90 7C 63 07 74 */ extsb r3, r3
/* 8009AC74 00096B94 4B F9 8E DD */ bl func_80033B50
/* 8009AC78 00096B98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009AC7C 00096B9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8009AC80 00096BA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8009AC84 00096BA4 7C 08 03 A6 */ mtlr r0
/* 8009AC88 00096BA8 4E 80 00 20 */ blr
.global func_8009AC8C
func_8009AC8C:
/* 8009AC8C 00096BAC 7C 08 02 A6 */ mflr r0
/* 8009AC90 00096BB0 3C 60 80 2C */ lis r3, lbl_802BA200@ha
/* 8009AC94 00096BB4 90 01 00 04 */ stw r0, 4(r1)
/* 8009AC98 00096BB8 38 A3 A2 00 */ addi r5, r3, lbl_802BA200@l
/* 8009AC9C 00096BBC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009ACA0 00096BC0 88 05 00 0C */ lbz r0, 0xc(r5)
/* 8009ACA4 00096BC4 98 01 00 10 */ stb r0, 0x10(r1)
/* 8009ACA8 00096BC8 88 05 00 0D */ lbz r0, 0xd(r5)
/* 8009ACAC 00096BCC 98 01 00 11 */ stb r0, 0x11(r1)
/* 8009ACB0 00096BD0 88 05 00 0E */ lbz r0, 0xe(r5)
/* 8009ACB4 00096BD4 98 01 00 12 */ stb r0, 0x12(r1)
/* 8009ACB8 00096BD8 88 05 00 0F */ lbz r0, 0xf(r5)
/* 8009ACBC 00096BDC 7C 00 07 75 */ extsb. r0, r0
/* 8009ACC0 00096BE0 41 82 00 30 */ beq lbl_8009ACF0
/* 8009ACC4 00096BE4 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8009ACC8 00096BE8 38 81 00 0C */ addi r4, r1, 0xc
/* 8009ACCC 00096BEC C0 62 B1 B8 */ lfs f3, lbl_802F59B8-_SDA2_BASE_(r2)
/* 8009ACD0 00096BF0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8009ACD4 00096BF4 C0 82 B1 BC */ lfs f4, lbl_802F59BC-_SDA2_BASE_(r2)
/* 8009ACD8 00096BF8 88 65 00 00 */ lbz r3, 0(r5)
/* 8009ACDC 00096BFC C0 25 00 04 */ lfs f1, 4(r5)
/* 8009ACE0 00096C00 C0 45 00 08 */ lfs f2, 8(r5)
/* 8009ACE4 00096C04 7C 63 07 74 */ extsb r3, r3
/* 8009ACE8 00096C08 48 00 36 B1 */ bl func_8009E398
/* 8009ACEC 00096C0C 48 00 00 28 */ b lbl_8009AD14
lbl_8009ACF0:
/* 8009ACF0 00096C10 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8009ACF4 00096C14 38 81 00 08 */ addi r4, r1, 8
/* 8009ACF8 00096C18 C0 22 B1 B0 */ lfs f1, lbl_802F59B0-_SDA2_BASE_(r2)
/* 8009ACFC 00096C1C 38 60 00 00 */ li r3, 0
/* 8009AD00 00096C20 90 01 00 08 */ stw r0, 8(r1)
/* 8009AD04 00096C24 C0 42 B1 B4 */ lfs f2, lbl_802F59B4-_SDA2_BASE_(r2)
/* 8009AD08 00096C28 C0 62 B1 B8 */ lfs f3, lbl_802F59B8-_SDA2_BASE_(r2)
/* 8009AD0C 00096C2C C0 82 B1 BC */ lfs f4, lbl_802F59BC-_SDA2_BASE_(r2)
/* 8009AD10 00096C30 48 00 36 89 */ bl func_8009E398
lbl_8009AD14:
/* 8009AD14 00096C34 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009AD18 00096C38 38 21 00 18 */ addi r1, r1, 0x18
/* 8009AD1C 00096C3C 7C 08 03 A6 */ mtlr r0
/* 8009AD20 00096C40 4E 80 00 20 */ blr
.global func_8009AD24
func_8009AD24:
/* 8009AD24 00096C44 3C 80 80 1D */ lis r4, lbl_801D3EF0@ha
/* 8009AD28 00096C48 98 64 3E F0 */ stb r3, lbl_801D3EF0@l(r4)
/* 8009AD2C 00096C4C 4E 80 00 20 */ blr
.global func_8009AD30
func_8009AD30:
/* 8009AD30 00096C50 3C E0 80 1D */ lis r7, lbl_801D3EF0@ha
/* 8009AD34 00096C54 38 E7 3E F0 */ addi r7, r7, lbl_801D3EF0@l
/* 8009AD38 00096C58 90 67 00 04 */ stw r3, 4(r7)
/* 8009AD3C 00096C5C 90 87 00 08 */ stw r4, 8(r7)
/* 8009AD40 00096C60 90 A7 00 0C */ stw r5, 0xc(r7)
/* 8009AD44 00096C64 90 C7 00 10 */ stw r6, 0x10(r7)
/* 8009AD48 00096C68 4E 80 00 20 */ blr
.global func_8009AD4C
func_8009AD4C:
/* 8009AD4C 00096C6C 7C 08 02 A6 */ mflr r0
/* 8009AD50 00096C70 90 01 00 04 */ stw r0, 4(r1)
/* 8009AD54 00096C74 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009AD58 00096C78 93 E1 00 34 */ stw r31, 0x34(r1)
/* 8009AD5C 00096C7C 3B E5 00 00 */ addi r31, r5, 0
/* 8009AD60 00096C80 93 C1 00 30 */ stw r30, 0x30(r1)
/* 8009AD64 00096C84 3B C4 00 00 */ addi r30, r4, 0
/* 8009AD68 00096C88 93 A1 00 2C */ stw r29, 0x2c(r1)
/* 8009AD6C 00096C8C 3B A3 00 00 */ addi r29, r3, 0
/* 8009AD70 00096C90 48 00 08 DD */ bl func_8009B64C
/* 8009AD74 00096C94 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009AD78 00096C98 38 80 00 00 */ li r4, 0
/* 8009AD7C 00096C9C 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 8009AD80 00096CA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009AD84 00096CA4 48 04 97 FD */ bl GXLoadPosMtxImm
/* 8009AD88 00096CA8 38 60 00 A8 */ li r3, 0xa8
/* 8009AD8C 00096CAC 38 80 00 00 */ li r4, 0
/* 8009AD90 00096CB0 38 A0 00 02 */ li r5, 2
/* 8009AD94 00096CB4 48 04 49 65 */ bl GXBegin
/* 8009AD98 00096CB8 C0 5D 00 08 */ lfs f2, 8(r29)
/* 8009AD9C 00096CBC 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8009ADA0 00096CC0 C0 3D 00 04 */ lfs f1, 4(r29)
/* 8009ADA4 00096CC4 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8009ADA8 00096CC8 88 01 00 24 */ lbz r0, 0x24(r1)
/* 8009ADAC 00096CCC D0 03 80 00 */ stfs f0, 0xCC008000@l(r3)
/* 8009ADB0 00096CD0 88 81 00 25 */ lbz r4, 0x25(r1)
/* 8009ADB4 00096CD4 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8009ADB8 00096CD8 88 A1 00 26 */ lbz r5, 0x26(r1)
/* 8009ADBC 00096CDC D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8009ADC0 00096CE0 88 C1 00 27 */ lbz r6, 0x27(r1)
/* 8009ADC4 00096CE4 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8009ADC8 00096CE8 98 83 80 00 */ stb r4, -0x8000(r3)
/* 8009ADCC 00096CEC 98 A3 80 00 */ stb r5, -0x8000(r3)
/* 8009ADD0 00096CF0 98 C3 80 00 */ stb r6, -0x8000(r3)
/* 8009ADD4 00096CF4 C0 5E 00 08 */ lfs f2, 8(r30)
/* 8009ADD8 00096CF8 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8009ADDC 00096CFC C0 1E 00 00 */ lfs f0, 0(r30)
/* 8009ADE0 00096D00 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 8009ADE4 00096D04 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8009ADE8 00096D08 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8009ADEC 00096D0C 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8009ADF0 00096D10 98 83 80 00 */ stb r4, -0x8000(r3)
/* 8009ADF4 00096D14 98 A3 80 00 */ stb r5, -0x8000(r3)
/* 8009ADF8 00096D18 98 C3 80 00 */ stb r6, -0x8000(r3)
/* 8009ADFC 00096D1C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009AE00 00096D20 83 E1 00 34 */ lwz r31, 0x34(r1)
/* 8009AE04 00096D24 83 C1 00 30 */ lwz r30, 0x30(r1)
/* 8009AE08 00096D28 83 A1 00 2C */ lwz r29, 0x2c(r1)
/* 8009AE0C 00096D2C 38 21 00 38 */ addi r1, r1, 0x38
/* 8009AE10 00096D30 7C 08 03 A6 */ mtlr r0
/* 8009AE14 00096D34 4E 80 00 20 */ blr
glabel func_8009AE18
/* 8009AE18 00096D38 7C 08 02 A6 */ mflr r0
/* 8009AE1C 00096D3C 90 01 00 04 */ stw r0, 4(r1)
/* 8009AE20 00096D40 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8009AE24 00096D44 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8009AE28 00096D48 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 8009AE2C 00096D4C 28 1F 00 02 */ cmplwi r31, 2
/* 8009AE30 00096D50 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8009AE34 00096D54 3B C5 00 00 */ addi r30, r5, 0
/* 8009AE38 00096D58 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8009AE3C 00096D5C 3B A4 00 00 */ addi r29, r4, 0
/* 8009AE40 00096D60 93 81 00 20 */ stw r28, 0x20(r1)
/* 8009AE44 00096D64 3B 83 00 00 */ addi r28, r3, 0
/* 8009AE48 00096D68 41 80 01 E0 */ blt lbl_8009B028
/* 8009AE4C 00096D6C 48 00 08 01 */ bl func_8009B64C
/* 8009AE50 00096D70 80 1E 00 00 */ lwz r0, 0(r30)
/* 8009AE54 00096D74 38 80 00 00 */ li r4, 0
/* 8009AE58 00096D78 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 8009AE5C 00096D7C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8009AE60 00096D80 48 04 97 21 */ bl GXLoadPosMtxImm
/* 8009AE64 00096D84 38 BC 00 00 */ addi r5, r28, 0
/* 8009AE68 00096D88 38 60 00 B0 */ li r3, 0xb0
/* 8009AE6C 00096D8C 38 80 00 00 */ li r4, 0
/* 8009AE70 00096D90 48 04 48 89 */ bl GXBegin
/* 8009AE74 00096D94 7F E0 FB 79 */ or. r0, r31, r31
/* 8009AE78 00096D98 88 C1 00 1D */ lbz r6, 0x1d(r1)
/* 8009AE7C 00096D9C 88 E1 00 1E */ lbz r7, 0x1e(r1)
/* 8009AE80 00096DA0 7F A9 EB 78 */ mr r9, r29
/* 8009AE84 00096DA4 89 01 00 1F */ lbz r8, 0x1f(r1)
/* 8009AE88 00096DA8 3C A0 CC 01 */ lis r5, 0xcc01
/* 8009AE8C 00096DAC 88 81 00 1C */ lbz r4, 0x1c(r1)
/* 8009AE90 00096DB0 7C 03 03 78 */ mr r3, r0
/* 8009AE94 00096DB4 40 81 01 94 */ ble lbl_8009B028
/* 8009AE98 00096DB8 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 8009AE9C 00096DBC 7C 09 03 A6 */ mtctr r0
/* 8009AEA0 00096DC0 41 82 01 54 */ beq lbl_8009AFF4
lbl_8009AEA4:
/* 8009AEA4 00096DC4 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009AEA8 00096DC8 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009AEAC 00096DCC C0 09 00 00 */ lfs f0, 0(r9)
/* 8009AEB0 00096DD0 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AEB4 00096DD4 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AEB8 00096DD8 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AEBC 00096DDC 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AEC0 00096DE0 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AEC4 00096DE4 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AEC8 00096DE8 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AECC 00096DEC C0 49 00 14 */ lfs f2, 0x14(r9)
/* 8009AED0 00096DF0 C0 29 00 10 */ lfs f1, 0x10(r9)
/* 8009AED4 00096DF4 C0 09 00 0C */ lfs f0, 0xc(r9)
/* 8009AED8 00096DF8 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AEDC 00096DFC D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AEE0 00096E00 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AEE4 00096E04 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AEE8 00096E08 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AEEC 00096E0C 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AEF0 00096E10 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AEF4 00096E14 C0 49 00 20 */ lfs f2, 0x20(r9)
/* 8009AEF8 00096E18 C0 29 00 1C */ lfs f1, 0x1c(r9)
/* 8009AEFC 00096E1C C0 09 00 18 */ lfs f0, 0x18(r9)
/* 8009AF00 00096E20 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AF04 00096E24 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AF08 00096E28 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AF0C 00096E2C 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AF10 00096E30 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AF14 00096E34 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AF18 00096E38 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AF1C 00096E3C C0 49 00 2C */ lfs f2, 0x2c(r9)
/* 8009AF20 00096E40 C0 29 00 28 */ lfs f1, 0x28(r9)
/* 8009AF24 00096E44 C0 09 00 24 */ lfs f0, 0x24(r9)
/* 8009AF28 00096E48 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AF2C 00096E4C D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AF30 00096E50 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AF34 00096E54 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AF38 00096E58 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AF3C 00096E5C 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AF40 00096E60 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AF44 00096E64 C0 49 00 38 */ lfs f2, 0x38(r9)
/* 8009AF48 00096E68 C0 29 00 34 */ lfs f1, 0x34(r9)
/* 8009AF4C 00096E6C C0 09 00 30 */ lfs f0, 0x30(r9)
/* 8009AF50 00096E70 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AF54 00096E74 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AF58 00096E78 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AF5C 00096E7C 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AF60 00096E80 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AF64 00096E84 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AF68 00096E88 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AF6C 00096E8C C0 49 00 44 */ lfs f2, 0x44(r9)
/* 8009AF70 00096E90 C0 29 00 40 */ lfs f1, 0x40(r9)
/* 8009AF74 00096E94 C0 09 00 3C */ lfs f0, 0x3c(r9)
/* 8009AF78 00096E98 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AF7C 00096E9C D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AF80 00096EA0 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AF84 00096EA4 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AF88 00096EA8 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AF8C 00096EAC 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AF90 00096EB0 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AF94 00096EB4 C0 49 00 50 */ lfs f2, 0x50(r9)
/* 8009AF98 00096EB8 C0 29 00 4C */ lfs f1, 0x4c(r9)
/* 8009AF9C 00096EBC C0 09 00 48 */ lfs f0, 0x48(r9)
/* 8009AFA0 00096EC0 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AFA4 00096EC4 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AFA8 00096EC8 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AFAC 00096ECC 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AFB0 00096ED0 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AFB4 00096ED4 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AFB8 00096ED8 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AFBC 00096EDC C0 49 00 5C */ lfs f2, 0x5c(r9)
/* 8009AFC0 00096EE0 C0 29 00 58 */ lfs f1, 0x58(r9)
/* 8009AFC4 00096EE4 C0 09 00 54 */ lfs f0, 0x54(r9)
/* 8009AFC8 00096EE8 39 29 00 60 */ addi r9, r9, 0x60
/* 8009AFCC 00096EEC D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009AFD0 00096EF0 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009AFD4 00096EF4 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009AFD8 00096EF8 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009AFDC 00096EFC 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009AFE0 00096F00 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009AFE4 00096F04 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009AFE8 00096F08 42 00 FE BC */ bdnz lbl_8009AEA4
/* 8009AFEC 00096F0C 70 63 00 07 */ andi. r3, r3, 7
/* 8009AFF0 00096F10 41 82 00 38 */ beq lbl_8009B028
lbl_8009AFF4:
/* 8009AFF4 00096F14 7C 69 03 A6 */ mtctr r3
lbl_8009AFF8:
/* 8009AFF8 00096F18 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009AFFC 00096F1C C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B000 00096F20 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B004 00096F24 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B008 00096F28 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B00C 00096F2C D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B010 00096F30 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B014 00096F34 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B018 00096F38 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B01C 00096F3C 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B020 00096F40 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B024 00096F44 42 00 FF D4 */ bdnz lbl_8009AFF8
lbl_8009B028:
/* 8009B028 00096F48 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8009B02C 00096F4C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8009B030 00096F50 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8009B034 00096F54 7C 08 03 A6 */ mtlr r0
/* 8009B038 00096F58 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8009B03C 00096F5C 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8009B040 00096F60 38 21 00 30 */ addi r1, r1, 0x30
/* 8009B044 00096F64 4E 80 00 20 */ blr
.global func_8009B048
func_8009B048:
/* 8009B048 00096F68 7C 08 02 A6 */ mflr r0
/* 8009B04C 00096F6C 90 01 00 04 */ stw r0, 4(r1)
/* 8009B050 00096F70 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8009B054 00096F74 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 8009B058 00096F78 3B 63 00 00 */ addi r27, r3, 0
/* 8009B05C 00096F7C 3B 84 00 00 */ addi r28, r4, 0
/* 8009B060 00096F80 3B A5 00 00 */ addi r29, r5, 0
/* 8009B064 00096F84 4B FE A6 35 */ bl func_80085698
/* 8009B068 00096F88 3B C3 00 00 */ addi r30, r3, 0
/* 8009B06C 00096F8C 38 60 00 64 */ li r3, 0x64
/* 8009B070 00096F90 4B FE AB 19 */ bl func_80085B88
/* 8009B074 00096F94 3B E3 00 00 */ addi r31, r3, 0
/* 8009B078 00096F98 38 60 00 18 */ li r3, 0x18
/* 8009B07C 00096F9C 4B FE AB 0D */ bl func_80085B88
/* 8009B080 00096FA0 3C 80 80 0A */ lis r4, lbl_8009B140@ha
/* 8009B084 00096FA4 38 04 B1 40 */ addi r0, r4, lbl_8009B140@l
/* 8009B088 00096FA8 90 1F 00 04 */ stw r0, 4(r31)
/* 8009B08C 00096FAC 38 00 00 A8 */ li r0, 0xa8
/* 8009B090 00096FB0 3C 80 80 1D */ lis r4, lbl_801D3EF0@ha
/* 8009B094 00096FB4 90 1F 00 38 */ stw r0, 0x38(r31)
/* 8009B098 00096FB8 38 00 00 02 */ li r0, 2
/* 8009B09C 00096FBC 38 A4 3E F0 */ addi r5, r4, lbl_801D3EF0@l
/* 8009B0A0 00096FC0 B0 1F 00 3C */ sth r0, 0x3c(r31)
/* 8009B0A4 00096FC4 80 85 00 00 */ lwz r4, 0(r5)
/* 8009B0A8 00096FC8 80 05 00 04 */ lwz r0, 4(r5)
/* 8009B0AC 00096FCC 90 9F 00 48 */ stw r4, 0x48(r31)
/* 8009B0B0 00096FD0 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 8009B0B4 00096FD4 80 85 00 08 */ lwz r4, 8(r5)
/* 8009B0B8 00096FD8 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8009B0BC 00096FDC 90 9F 00 50 */ stw r4, 0x50(r31)
/* 8009B0C0 00096FE0 90 1F 00 54 */ stw r0, 0x54(r31)
/* 8009B0C4 00096FE4 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8009B0C8 00096FE8 80 05 00 14 */ lwz r0, 0x14(r5)
/* 8009B0CC 00096FEC 90 9F 00 58 */ stw r4, 0x58(r31)
/* 8009B0D0 00096FF0 90 1F 00 5C */ stw r0, 0x5c(r31)
/* 8009B0D4 00096FF4 80 05 00 18 */ lwz r0, 0x18(r5)
/* 8009B0D8 00096FF8 90 1F 00 60 */ stw r0, 0x60(r31)
/* 8009B0DC 00096FFC 80 1D 00 00 */ lwz r0, 0(r29)
/* 8009B0E0 00097000 90 1F 00 44 */ stw r0, 0x44(r31)
/* 8009B0E4 00097004 80 9B 00 00 */ lwz r4, 0(r27)
/* 8009B0E8 00097008 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009B0EC 0009700C 90 83 00 00 */ stw r4, 0(r3)
/* 8009B0F0 00097010 90 03 00 04 */ stw r0, 4(r3)
/* 8009B0F4 00097014 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009B0F8 00097018 90 03 00 08 */ stw r0, 8(r3)
/* 8009B0FC 0009701C 80 9C 00 00 */ lwz r4, 0(r28)
/* 8009B100 00097020 80 1C 00 04 */ lwz r0, 4(r28)
/* 8009B104 00097024 90 83 00 0C */ stw r4, 0xc(r3)
/* 8009B108 00097028 90 03 00 10 */ stw r0, 0x10(r3)
/* 8009B10C 0009702C 80 1C 00 08 */ lwz r0, 8(r28)
/* 8009B110 00097030 90 03 00 14 */ stw r0, 0x14(r3)
/* 8009B114 00097034 90 7F 00 40 */ stw r3, 0x40(r31)
/* 8009B118 00097038 38 7F 00 08 */ addi r3, r31, 8
/* 8009B11C 0009703C 4B F6 C7 5D */ bl mathutil_mtxA_to_mtx
/* 8009B120 00097040 38 7E 00 00 */ addi r3, r30, 0
/* 8009B124 00097044 38 9F 00 00 */ addi r4, r31, 0
/* 8009B128 00097048 4B FE AA 51 */ bl func_80085B78
/* 8009B12C 0009704C BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 8009B130 00097050 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8009B134 00097054 38 21 00 30 */ addi r1, r1, 0x30
/* 8009B138 00097058 7C 08 03 A6 */ mtlr r0
/* 8009B13C 0009705C 4E 80 00 20 */ blr
lbl_8009B140:
/* 8009B140 00097060 7C 08 02 A6 */ mflr r0
/* 8009B144 00097064 3C 80 80 1D */ lis r4, lbl_801D3EF0@ha
/* 8009B148 00097068 90 01 00 04 */ stw r0, 4(r1)
/* 8009B14C 0009706C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8009B150 00097070 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8009B154 00097074 3B E4 3E F0 */ addi r31, r4, lbl_801D3EF0@l
/* 8009B158 00097078 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8009B15C 0009707C 7C 7E 1B 78 */ mr r30, r3
/* 8009B160 00097080 80 9F 00 00 */ lwz r4, 0(r31)
/* 8009B164 00097084 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009B168 00097088 90 81 00 18 */ stw r4, 0x18(r1)
/* 8009B16C 0009708C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8009B170 00097090 80 7F 00 08 */ lwz r3, 8(r31)
/* 8009B174 00097094 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8009B178 00097098 90 61 00 20 */ stw r3, 0x20(r1)
/* 8009B17C 0009709C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009B180 000970A0 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8009B184 000970A4 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8009B188 000970A8 90 61 00 28 */ stw r3, 0x28(r1)
/* 8009B18C 000970AC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8009B190 000970B0 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8009B194 000970B4 90 01 00 30 */ stw r0, 0x30(r1)
/* 8009B198 000970B8 80 7E 00 48 */ lwz r3, 0x48(r30)
/* 8009B19C 000970BC 80 1E 00 4C */ lwz r0, 0x4c(r30)
/* 8009B1A0 000970C0 90 7F 00 00 */ stw r3, 0(r31)
/* 8009B1A4 000970C4 90 1F 00 04 */ stw r0, 4(r31)
/* 8009B1A8 000970C8 80 7E 00 50 */ lwz r3, 0x50(r30)
/* 8009B1AC 000970CC 80 1E 00 54 */ lwz r0, 0x54(r30)
/* 8009B1B0 000970D0 90 7F 00 08 */ stw r3, 8(r31)
/* 8009B1B4 000970D4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8009B1B8 000970D8 80 7E 00 58 */ lwz r3, 0x58(r30)
/* 8009B1BC 000970DC 80 1E 00 5C */ lwz r0, 0x5c(r30)
/* 8009B1C0 000970E0 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8009B1C4 000970E4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8009B1C8 000970E8 80 1E 00 60 */ lwz r0, 0x60(r30)
/* 8009B1CC 000970EC 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8009B1D0 000970F0 48 00 04 7D */ bl func_8009B64C
/* 8009B1D4 000970F4 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B1D8 000970F8 88 03 00 08 */ lbz r0, 8(r3)
/* 8009B1DC 000970FC 28 00 00 01 */ cmplwi r0, 1
/* 8009B1E0 00097100 40 82 00 1C */ bne lbl_8009B1FC
/* 8009B1E4 00097104 80 03 00 04 */ lwz r0, 4(r3)
/* 8009B1E8 00097108 2C 00 00 03 */ cmpwi r0, 3
/* 8009B1EC 0009710C 40 82 00 10 */ bne lbl_8009B1FC
/* 8009B1F0 00097110 88 03 00 00 */ lbz r0, 0(r3)
/* 8009B1F4 00097114 28 00 00 01 */ cmplwi r0, 1
/* 8009B1F8 00097118 41 82 00 34 */ beq lbl_8009B22C
lbl_8009B1FC:
/* 8009B1FC 0009711C 38 60 00 01 */ li r3, 1
/* 8009B200 00097120 38 80 00 03 */ li r4, 3
/* 8009B204 00097124 38 A0 00 01 */ li r5, 1
/* 8009B208 00097128 48 04 7D CD */ bl GXSetZMode
/* 8009B20C 0009712C 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B210 00097130 38 80 00 01 */ li r4, 1
/* 8009B214 00097134 38 00 00 03 */ li r0, 3
/* 8009B218 00097138 98 83 00 00 */ stb r4, 0(r3)
/* 8009B21C 0009713C 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B220 00097140 90 03 00 04 */ stw r0, 4(r3)
/* 8009B224 00097144 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B228 00097148 98 83 00 08 */ stb r4, 8(r3)
lbl_8009B22C:
/* 8009B22C 0009714C 80 1E 00 44 */ lwz r0, 0x44(r30)
/* 8009B230 00097150 38 7E 00 08 */ addi r3, r30, 8
/* 8009B234 00097154 38 80 00 00 */ li r4, 0
/* 8009B238 00097158 90 01 00 14 */ stw r0, 0x14(r1)
/* 8009B23C 0009715C 48 04 93 45 */ bl GXLoadPosMtxImm
/* 8009B240 00097160 80 7E 00 38 */ lwz r3, 0x38(r30)
/* 8009B244 00097164 38 80 00 00 */ li r4, 0
/* 8009B248 00097168 A0 BE 00 3C */ lhz r5, 0x3c(r30)
/* 8009B24C 0009716C 48 04 44 AD */ bl GXBegin
/* 8009B250 00097170 A0 1E 00 3C */ lhz r0, 0x3c(r30)
/* 8009B254 00097174 3C A0 CC 01 */ lis r5, 0xcc01
/* 8009B258 00097178 81 3E 00 40 */ lwz r9, 0x40(r30)
/* 8009B25C 0009717C 2C 00 00 00 */ cmpwi r0, 0
/* 8009B260 00097180 88 C1 00 15 */ lbz r6, 0x15(r1)
/* 8009B264 00097184 88 E1 00 16 */ lbz r7, 0x16(r1)
/* 8009B268 00097188 7C 03 03 78 */ mr r3, r0
/* 8009B26C 0009718C 89 01 00 17 */ lbz r8, 0x17(r1)
/* 8009B270 00097190 88 81 00 14 */ lbz r4, 0x14(r1)
/* 8009B274 00097194 40 81 01 B0 */ ble lbl_8009B424
/* 8009B278 00097198 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 8009B27C 0009719C 7C 09 03 A6 */ mtctr r0
/* 8009B280 000971A0 41 82 01 70 */ beq lbl_8009B3F0
lbl_8009B284:
/* 8009B284 000971A4 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B288 000971A8 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B28C 000971AC C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B290 000971B0 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B294 000971B4 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B298 000971B8 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B29C 000971BC D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B2A0 000971C0 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B2A4 000971C4 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B2A8 000971C8 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B2AC 000971CC 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B2B0 000971D0 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B2B4 000971D4 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B2B8 000971D8 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B2BC 000971DC 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B2C0 000971E0 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B2C4 000971E4 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B2C8 000971E8 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B2CC 000971EC 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B2D0 000971F0 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B2D4 000971F4 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B2D8 000971F8 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B2DC 000971FC C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B2E0 00097200 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B2E4 00097204 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B2E8 00097208 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B2EC 0009720C D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B2F0 00097210 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B2F4 00097214 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B2F8 00097218 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B2FC 0009721C 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B300 00097220 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B304 00097224 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B308 00097228 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B30C 0009722C C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B310 00097230 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B314 00097234 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B318 00097238 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B31C 0009723C D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B320 00097240 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B324 00097244 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B328 00097248 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B32C 0009724C 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B330 00097250 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B334 00097254 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B338 00097258 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B33C 0009725C C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B340 00097260 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B344 00097264 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B348 00097268 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B34C 0009726C D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B350 00097270 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B354 00097274 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B358 00097278 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B35C 0009727C 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B360 00097280 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B364 00097284 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B368 00097288 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B36C 0009728C 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B370 00097290 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B374 00097294 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B378 00097298 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B37C 0009729C 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B380 000972A0 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B384 000972A4 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B388 000972A8 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B38C 000972AC C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B390 000972B0 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B394 000972B4 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B398 000972B8 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B39C 000972BC D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B3A0 000972C0 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B3A4 000972C4 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B3A8 000972C8 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B3AC 000972CC 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B3B0 000972D0 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B3B4 000972D4 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B3B8 000972D8 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B3BC 000972DC C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B3C0 000972E0 C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B3C4 000972E4 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B3C8 000972E8 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B3CC 000972EC D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B3D0 000972F0 D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B3D4 000972F4 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B3D8 000972F8 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B3DC 000972FC 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B3E0 00097300 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B3E4 00097304 42 00 FE A0 */ bdnz lbl_8009B284
/* 8009B3E8 00097308 70 63 00 07 */ andi. r3, r3, 7
/* 8009B3EC 0009730C 41 82 00 38 */ beq lbl_8009B424
lbl_8009B3F0:
/* 8009B3F0 00097310 7C 69 03 A6 */ mtctr r3
lbl_8009B3F4:
/* 8009B3F4 00097314 C0 49 00 08 */ lfs f2, 8(r9)
/* 8009B3F8 00097318 C0 29 00 04 */ lfs f1, 4(r9)
/* 8009B3FC 0009731C C0 09 00 00 */ lfs f0, 0(r9)
/* 8009B400 00097320 39 29 00 0C */ addi r9, r9, 0xc
/* 8009B404 00097324 D0 05 80 00 */ stfs f0, -0x8000(r5)
/* 8009B408 00097328 D0 25 80 00 */ stfs f1, -0x8000(r5)
/* 8009B40C 0009732C D0 45 80 00 */ stfs f2, -0x8000(r5)
/* 8009B410 00097330 98 85 80 00 */ stb r4, -0x8000(r5)
/* 8009B414 00097334 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 8009B418 00097338 98 E5 80 00 */ stb r7, -0x8000(r5)
/* 8009B41C 0009733C 99 05 80 00 */ stb r8, -0x8000(r5)
/* 8009B420 00097340 42 00 FF D4 */ bdnz lbl_8009B3F4
lbl_8009B424:
/* 8009B424 00097344 80 61 00 18 */ lwz r3, 0x18(r1)
/* 8009B428 00097348 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009B42C 0009734C 90 7F 00 00 */ stw r3, 0(r31)
/* 8009B430 00097350 90 1F 00 04 */ stw r0, 4(r31)
/* 8009B434 00097354 80 61 00 20 */ lwz r3, 0x20(r1)
/* 8009B438 00097358 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B43C 0009735C 90 7F 00 08 */ stw r3, 8(r31)
/* 8009B440 00097360 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8009B444 00097364 80 61 00 28 */ lwz r3, 0x28(r1)
/* 8009B448 00097368 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009B44C 0009736C 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8009B450 00097370 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8009B454 00097374 80 01 00 30 */ lwz r0, 0x30(r1)
/* 8009B458 00097378 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8009B45C 0009737C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8009B460 00097380 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8009B464 00097384 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8009B468 00097388 38 21 00 40 */ addi r1, r1, 0x40
/* 8009B46C 0009738C 7C 08 03 A6 */ mtlr r0
/* 8009B470 00097390 4E 80 00 20 */ blr
glabel func_8009B474
/* 8009B474 00097394 7C 08 02 A6 */ mflr r0
/* 8009B478 00097398 90 01 00 04 */ stw r0, 4(r1)
/* 8009B47C 0009739C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009B480 000973A0 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009B484 000973A4 3B E4 00 00 */ addi r31, r4, 0
/* 8009B488 000973A8 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8009B48C 000973AC 3B C3 00 00 */ addi r30, r3, 0
/* 8009B490 000973B0 48 00 01 BD */ bl func_8009B64C
/* 8009B494 000973B4 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 8009B498 000973B8 38 80 00 00 */ li r4, 0
/* 8009B49C 000973BC 48 04 90 E5 */ bl GXLoadPosMtxImm
/* 8009B4A0 000973C0 38 60 00 A8 */ li r3, 0xa8
/* 8009B4A4 000973C4 38 80 00 00 */ li r4, 0
/* 8009B4A8 000973C8 38 A0 00 02 */ li r5, 2
/* 8009B4AC 000973CC 48 04 42 4D */ bl GXBegin
/* 8009B4B0 000973D0 C0 5E 00 08 */ lfs f2, 8(r30)
/* 8009B4B4 000973D4 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8009B4B8 000973D8 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8009B4BC 000973DC C0 1E 00 00 */ lfs f0, 0(r30)
/* 8009B4C0 000973E0 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3)
/* 8009B4C4 000973E4 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8009B4C8 000973E8 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8009B4CC 000973EC 88 DE 00 0F */ lbz r6, 0xf(r30)
/* 8009B4D0 000973F0 88 BE 00 0E */ lbz r5, 0xe(r30)
/* 8009B4D4 000973F4 88 9E 00 0D */ lbz r4, 0xd(r30)
/* 8009B4D8 000973F8 88 1E 00 0C */ lbz r0, 0xc(r30)
/* 8009B4DC 000973FC 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8009B4E0 00097400 98 83 80 00 */ stb r4, -0x8000(r3)
/* 8009B4E4 00097404 98 A3 80 00 */ stb r5, -0x8000(r3)
/* 8009B4E8 00097408 98 C3 80 00 */ stb r6, -0x8000(r3)
/* 8009B4EC 0009740C C0 5F 00 08 */ lfs f2, 8(r31)
/* 8009B4F0 00097410 C0 3F 00 04 */ lfs f1, 4(r31)
/* 8009B4F4 00097414 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8009B4F8 00097418 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 8009B4FC 0009741C D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8009B500 00097420 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8009B504 00097424 88 BF 00 0E */ lbz r5, 0xe(r31)
/* 8009B508 00097428 88 9F 00 0D */ lbz r4, 0xd(r31)
/* 8009B50C 0009742C 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 8009B510 00097430 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8009B514 00097434 98 83 80 00 */ stb r4, -0x8000(r3)
/* 8009B518 00097438 98 A3 80 00 */ stb r5, -0x8000(r3)
/* 8009B51C 0009743C 98 C3 80 00 */ stb r6, -0x8000(r3)
/* 8009B520 00097440 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009B524 00097444 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009B528 00097448 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8009B52C 0009744C 38 21 00 28 */ addi r1, r1, 0x28
/* 8009B530 00097450 7C 08 03 A6 */ mtlr r0
/* 8009B534 00097454 4E 80 00 20 */ blr
.global func_8009B538
func_8009B538:
/* 8009B538 00097458 7C 08 02 A6 */ mflr r0
/* 8009B53C 0009745C 90 01 00 04 */ stw r0, 4(r1)
/* 8009B540 00097460 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009B544 00097464 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009B548 00097468 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009B54C 0009746C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8009B550 00097470 3B A4 00 00 */ addi r29, r4, 0
/* 8009B554 00097474 93 81 00 10 */ stw r28, 0x10(r1)
/* 8009B558 00097478 3B 83 00 00 */ addi r28, r3, 0
/* 8009B55C 0009747C 4B FE A1 3D */ bl func_80085698
/* 8009B560 00097480 3B C3 00 00 */ addi r30, r3, 0
/* 8009B564 00097484 38 60 00 60 */ li r3, 0x60
/* 8009B568 00097488 4B FE A6 21 */ bl func_80085B88
/* 8009B56C 0009748C 3B E3 00 00 */ addi r31, r3, 0
/* 8009B570 00097490 38 60 00 20 */ li r3, 0x20
/* 8009B574 00097494 4B FE A6 15 */ bl func_80085B88
/* 8009B578 00097498 3C 80 80 0A */ lis r4, lbl_8009B74C@ha
/* 8009B57C 0009749C 38 04 B7 4C */ addi r0, r4, lbl_8009B74C@l
/* 8009B580 000974A0 90 1F 00 04 */ stw r0, 4(r31)
/* 8009B584 000974A4 38 00 00 A8 */ li r0, 0xa8
/* 8009B588 000974A8 3C 80 80 1D */ lis r4, lbl_801D3EF0@ha
/* 8009B58C 000974AC 90 1F 00 38 */ stw r0, 0x38(r31)
/* 8009B590 000974B0 38 00 00 02 */ li r0, 2
/* 8009B594 000974B4 38 A4 3E F0 */ addi r5, r4, lbl_801D3EF0@l
/* 8009B598 000974B8 B0 1F 00 3C */ sth r0, 0x3c(r31)
/* 8009B59C 000974BC 80 85 00 00 */ lwz r4, 0(r5)
/* 8009B5A0 000974C0 80 05 00 04 */ lwz r0, 4(r5)
/* 8009B5A4 000974C4 90 9F 00 44 */ stw r4, 0x44(r31)
/* 8009B5A8 000974C8 90 1F 00 48 */ stw r0, 0x48(r31)
/* 8009B5AC 000974CC 80 85 00 08 */ lwz r4, 8(r5)
/* 8009B5B0 000974D0 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8009B5B4 000974D4 90 9F 00 4C */ stw r4, 0x4c(r31)
/* 8009B5B8 000974D8 90 1F 00 50 */ stw r0, 0x50(r31)
/* 8009B5BC 000974DC 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8009B5C0 000974E0 80 05 00 14 */ lwz r0, 0x14(r5)
/* 8009B5C4 000974E4 90 9F 00 54 */ stw r4, 0x54(r31)
/* 8009B5C8 000974E8 90 1F 00 58 */ stw r0, 0x58(r31)
/* 8009B5CC 000974EC 80 05 00 18 */ lwz r0, 0x18(r5)
/* 8009B5D0 000974F0 90 1F 00 5C */ stw r0, 0x5c(r31)
/* 8009B5D4 000974F4 80 9C 00 00 */ lwz r4, 0(r28)
/* 8009B5D8 000974F8 80 1C 00 04 */ lwz r0, 4(r28)
/* 8009B5DC 000974FC 90 83 00 00 */ stw r4, 0(r3)
/* 8009B5E0 00097500 90 03 00 04 */ stw r0, 4(r3)
/* 8009B5E4 00097504 80 9C 00 08 */ lwz r4, 8(r28)
/* 8009B5E8 00097508 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 8009B5EC 0009750C 90 83 00 08 */ stw r4, 8(r3)
/* 8009B5F0 00097510 90 03 00 0C */ stw r0, 0xc(r3)
/* 8009B5F4 00097514 80 9D 00 00 */ lwz r4, 0(r29)
/* 8009B5F8 00097518 80 1D 00 04 */ lwz r0, 4(r29)
/* 8009B5FC 0009751C 90 83 00 10 */ stw r4, 0x10(r3)
/* 8009B600 00097520 90 03 00 14 */ stw r0, 0x14(r3)
/* 8009B604 00097524 80 9D 00 08 */ lwz r4, 8(r29)
/* 8009B608 00097528 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8009B60C 0009752C 90 83 00 18 */ stw r4, 0x18(r3)
/* 8009B610 00097530 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8009B614 00097534 90 7F 00 40 */ stw r3, 0x40(r31)
/* 8009B618 00097538 38 7F 00 08 */ addi r3, r31, 8
/* 8009B61C 0009753C 4B F6 C2 5D */ bl mathutil_mtxA_to_mtx
/* 8009B620 00097540 38 7E 00 00 */ addi r3, r30, 0
/* 8009B624 00097544 38 9F 00 00 */ addi r4, r31, 0
/* 8009B628 00097548 4B FE A5 51 */ bl func_80085B78
/* 8009B62C 0009754C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B630 00097550 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009B634 00097554 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009B638 00097558 7C 08 03 A6 */ mtlr r0
/* 8009B63C 0009755C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8009B640 00097560 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8009B644 00097564 38 21 00 20 */ addi r1, r1, 0x20
/* 8009B648 00097568 4E 80 00 20 */ blr
.global func_8009B64C
func_8009B64C:
/* 8009B64C 0009756C 7C 08 02 A6 */ mflr r0
/* 8009B650 00097570 3C 60 80 1D */ lis r3, lbl_801D3EF0@ha
/* 8009B654 00097574 90 01 00 04 */ stw r0, 4(r1)
/* 8009B658 00097578 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009B65C 0009757C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8009B660 00097580 3B E3 3E F0 */ addi r31, r3, lbl_801D3EF0@l
/* 8009B664 00097584 93 C1 00 08 */ stw r30, 8(r1)
/* 8009B668 00097588 80 AD 9F C0 */ lwz r5, zMode@sda21(r13)
/* 8009B66C 0009758C 88 7F 00 00 */ lbz r3, 0(r31)
/* 8009B670 00097590 88 05 00 09 */ lbz r0, 9(r5)
/* 8009B674 00097594 7C 03 00 40 */ cmplw r3, r0
/* 8009B678 00097598 40 82 00 14 */ bne lbl_8009B68C
/* 8009B67C 0009759C 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8009B680 000975A0 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8009B684 000975A4 7C 04 00 00 */ cmpw r4, r0
/* 8009B688 000975A8 41 82 00 28 */ beq lbl_8009B6B0
lbl_8009B68C:
/* 8009B68C 000975AC 3B DF 00 14 */ addi r30, r31, 0x14
/* 8009B690 000975B0 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8009B694 000975B4 48 04 41 C9 */ bl GXSetLineWidth
/* 8009B698 000975B8 88 1F 00 00 */ lbz r0, 0(r31)
/* 8009B69C 000975BC 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B6A0 000975C0 98 03 00 09 */ stb r0, 9(r3)
/* 8009B6A4 000975C4 80 1E 00 00 */ lwz r0, 0(r30)
/* 8009B6A8 000975C8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B6AC 000975CC 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8009B6B0:
/* 8009B6B0 000975D0 38 60 0A 00 */ li r3, 0xa00
/* 8009B6B4 000975D4 4B FF F3 01 */ bl func_8009A9B4
/* 8009B6B8 000975D8 80 7F 00 04 */ lwz r3, 4(r31)
/* 8009B6BC 000975DC 80 9F 00 08 */ lwz r4, 8(r31)
/* 8009B6C0 000975E0 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8009B6C4 000975E4 80 DF 00 10 */ lwz r6, 0x10(r31)
/* 8009B6C8 000975E8 48 00 2A 49 */ bl func_8009E110
/* 8009B6CC 000975EC 38 60 00 04 */ li r3, 4
/* 8009B6D0 000975F0 38 80 00 00 */ li r4, 0
/* 8009B6D4 000975F4 38 A0 00 01 */ li r5, 1
/* 8009B6D8 000975F8 38 C0 00 01 */ li r6, 1
/* 8009B6DC 000975FC 38 E0 00 00 */ li r7, 0
/* 8009B6E0 00097600 39 00 00 02 */ li r8, 2
/* 8009B6E4 00097604 39 20 00 01 */ li r9, 1
/* 8009B6E8 00097608 48 04 56 39 */ bl GXSetChanCtrl
/* 8009B6EC 0009760C 38 60 00 00 */ li r3, 0
/* 8009B6F0 00097610 38 80 00 FF */ li r4, 0xff
/* 8009B6F4 00097614 38 A0 00 FF */ li r5, 0xff
/* 8009B6F8 00097618 38 C0 00 04 */ li r6, 4
/* 8009B6FC 0009761C 48 00 38 F9 */ bl func_8009EFF4
/* 8009B700 00097620 38 60 00 00 */ li r3, 0
/* 8009B704 00097624 38 80 00 04 */ li r4, 4
/* 8009B708 00097628 48 00 33 29 */ bl func_8009EA30
/* 8009B70C 0009762C 38 60 00 00 */ li r3, 0
/* 8009B710 00097630 48 04 69 CD */ bl GXSetTevDirect
/* 8009B714 00097634 38 60 00 01 */ li r3, 1
/* 8009B718 00097638 48 00 3B B1 */ bl func_8009F2C8
/* 8009B71C 0009763C 38 60 00 00 */ li r3, 0
/* 8009B720 00097640 48 04 39 45 */ bl GXSetNumTexGens
/* 8009B724 00097644 38 60 00 00 */ li r3, 0
/* 8009B728 00097648 48 04 69 89 */ bl GXSetNumIndStages
/* 8009B72C 0009764C 38 60 00 01 */ li r3, 1
/* 8009B730 00097650 48 04 55 A5 */ bl GXSetNumChans
/* 8009B734 00097654 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009B738 00097658 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8009B73C 0009765C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8009B740 00097660 7C 08 03 A6 */ mtlr r0
/* 8009B744 00097664 38 21 00 10 */ addi r1, r1, 0x10
/* 8009B748 00097668 4E 80 00 20 */ blr
lbl_8009B74C:
/* 8009B74C 0009766C 7C 08 02 A6 */ mflr r0
/* 8009B750 00097670 3C 80 80 1D */ lis r4, lbl_801D3EF0@ha
/* 8009B754 00097674 90 01 00 04 */ stw r0, 4(r1)
/* 8009B758 00097678 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009B75C 0009767C 93 E1 00 34 */ stw r31, 0x34(r1)
/* 8009B760 00097680 3B E4 3E F0 */ addi r31, r4, lbl_801D3EF0@l
/* 8009B764 00097684 93 C1 00 30 */ stw r30, 0x30(r1)
/* 8009B768 00097688 7C 7E 1B 78 */ mr r30, r3
/* 8009B76C 0009768C 80 9F 00 00 */ lwz r4, 0(r31)
/* 8009B770 00097690 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009B774 00097694 90 81 00 14 */ stw r4, 0x14(r1)
/* 8009B778 00097698 90 01 00 18 */ stw r0, 0x18(r1)
/* 8009B77C 0009769C 80 7F 00 08 */ lwz r3, 8(r31)
/* 8009B780 000976A0 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8009B784 000976A4 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8009B788 000976A8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8009B78C 000976AC 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8009B790 000976B0 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8009B794 000976B4 90 61 00 24 */ stw r3, 0x24(r1)
/* 8009B798 000976B8 90 01 00 28 */ stw r0, 0x28(r1)
/* 8009B79C 000976BC 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8009B7A0 000976C0 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8009B7A4 000976C4 80 7E 00 44 */ lwz r3, 0x44(r30)
/* 8009B7A8 000976C8 80 1E 00 48 */ lwz r0, 0x48(r30)
/* 8009B7AC 000976CC 90 7F 00 00 */ stw r3, 0(r31)
/* 8009B7B0 000976D0 90 1F 00 04 */ stw r0, 4(r31)
/* 8009B7B4 000976D4 80 7E 00 4C */ lwz r3, 0x4c(r30)
/* 8009B7B8 000976D8 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 8009B7BC 000976DC 90 7F 00 08 */ stw r3, 8(r31)
/* 8009B7C0 000976E0 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8009B7C4 000976E4 80 7E 00 54 */ lwz r3, 0x54(r30)
/* 8009B7C8 000976E8 80 1E 00 58 */ lwz r0, 0x58(r30)
/* 8009B7CC 000976EC 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8009B7D0 000976F0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8009B7D4 000976F4 80 1E 00 5C */ lwz r0, 0x5c(r30)
/* 8009B7D8 000976F8 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8009B7DC 000976FC 4B FF FE 71 */ bl func_8009B64C
/* 8009B7E0 00097700 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B7E4 00097704 88 03 00 08 */ lbz r0, 8(r3)
/* 8009B7E8 00097708 28 00 00 01 */ cmplwi r0, 1
/* 8009B7EC 0009770C 40 82 00 1C */ bne lbl_8009B808
/* 8009B7F0 00097710 80 03 00 04 */ lwz r0, 4(r3)
/* 8009B7F4 00097714 2C 00 00 03 */ cmpwi r0, 3
/* 8009B7F8 00097718 40 82 00 10 */ bne lbl_8009B808
/* 8009B7FC 0009771C 88 03 00 00 */ lbz r0, 0(r3)
/* 8009B800 00097720 28 00 00 01 */ cmplwi r0, 1
/* 8009B804 00097724 41 82 00 34 */ beq lbl_8009B838
lbl_8009B808:
/* 8009B808 00097728 38 60 00 01 */ li r3, 1
/* 8009B80C 0009772C 38 80 00 03 */ li r4, 3
/* 8009B810 00097730 38 A0 00 01 */ li r5, 1
/* 8009B814 00097734 48 04 77 C1 */ bl GXSetZMode
/* 8009B818 00097738 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B81C 0009773C 38 80 00 01 */ li r4, 1
/* 8009B820 00097740 38 00 00 03 */ li r0, 3
/* 8009B824 00097744 98 83 00 00 */ stb r4, 0(r3)
/* 8009B828 00097748 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B82C 0009774C 90 03 00 04 */ stw r0, 4(r3)
/* 8009B830 00097750 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009B834 00097754 98 83 00 08 */ stb r4, 8(r3)
lbl_8009B838:
/* 8009B838 00097758 38 7E 00 08 */ addi r3, r30, 8
/* 8009B83C 0009775C 38 80 00 00 */ li r4, 0
/* 8009B840 00097760 48 04 8D 41 */ bl GXLoadPosMtxImm
/* 8009B844 00097764 80 7E 00 38 */ lwz r3, 0x38(r30)
/* 8009B848 00097768 38 80 00 00 */ li r4, 0
/* 8009B84C 0009776C A0 BE 00 3C */ lhz r5, 0x3c(r30)
/* 8009B850 00097770 48 04 3E A9 */ bl GXBegin
/* 8009B854 00097774 A0 1E 00 3C */ lhz r0, 0x3c(r30)
/* 8009B858 00097778 3C 80 CC 01 */ lis r4, 0xcc01
/* 8009B85C 0009777C 81 1E 00 40 */ lwz r8, 0x40(r30)
/* 8009B860 00097780 2C 00 00 00 */ cmpwi r0, 0
/* 8009B864 00097784 7C 03 03 78 */ mr r3, r0
/* 8009B868 00097788 40 81 01 44 */ ble lbl_8009B9AC
/* 8009B86C 0009778C 54 60 F0 BF */ rlwinm. r0, r3, 0x1e, 2, 0x1f
/* 8009B870 00097790 7C 09 03 A6 */ mtctr r0
/* 8009B874 00097794 41 82 00 F4 */ beq lbl_8009B968
lbl_8009B878:
/* 8009B878 00097798 C0 48 00 08 */ lfs f2, 8(r8)
/* 8009B87C 0009779C C0 28 00 04 */ lfs f1, 4(r8)
/* 8009B880 000977A0 C0 08 00 00 */ lfs f0, 0(r8)
/* 8009B884 000977A4 D0 04 80 00 */ stfs f0, -0x8000(r4)
/* 8009B888 000977A8 D0 24 80 00 */ stfs f1, -0x8000(r4)
/* 8009B88C 000977AC D0 44 80 00 */ stfs f2, -0x8000(r4)
/* 8009B890 000977B0 88 E8 00 0F */ lbz r7, 0xf(r8)
/* 8009B894 000977B4 88 C8 00 0E */ lbz r6, 0xe(r8)
/* 8009B898 000977B8 88 A8 00 0D */ lbz r5, 0xd(r8)
/* 8009B89C 000977BC 88 08 00 0C */ lbz r0, 0xc(r8)
/* 8009B8A0 000977C0 98 04 80 00 */ stb r0, -0x8000(r4)
/* 8009B8A4 000977C4 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 8009B8A8 000977C8 98 C4 80 00 */ stb r6, -0x8000(r4)
/* 8009B8AC 000977CC 98 E4 80 00 */ stb r7, -0x8000(r4)
/* 8009B8B0 000977D0 C0 48 00 18 */ lfs f2, 0x18(r8)
/* 8009B8B4 000977D4 C0 28 00 14 */ lfs f1, 0x14(r8)
/* 8009B8B8 000977D8 C4 08 00 10 */ lfsu f0, 0x10(r8)
/* 8009B8BC 000977DC D0 04 80 00 */ stfs f0, -0x8000(r4)
/* 8009B8C0 000977E0 D0 24 80 00 */ stfs f1, -0x8000(r4)
/* 8009B8C4 000977E4 D0 44 80 00 */ stfs f2, -0x8000(r4)
/* 8009B8C8 000977E8 88 E8 00 0F */ lbz r7, 0xf(r8)
/* 8009B8CC 000977EC 88 C8 00 0E */ lbz r6, 0xe(r8)
/* 8009B8D0 000977F0 88 A8 00 0D */ lbz r5, 0xd(r8)
/* 8009B8D4 000977F4 88 08 00 0C */ lbz r0, 0xc(r8)
/* 8009B8D8 000977F8 98 04 80 00 */ stb r0, -0x8000(r4)
/* 8009B8DC 000977FC 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 8009B8E0 00097800 98 C4 80 00 */ stb r6, -0x8000(r4)
/* 8009B8E4 00097804 98 E4 80 00 */ stb r7, -0x8000(r4)
/* 8009B8E8 00097808 C0 48 00 18 */ lfs f2, 0x18(r8)
/* 8009B8EC 0009780C C0 28 00 14 */ lfs f1, 0x14(r8)
/* 8009B8F0 00097810 C4 08 00 10 */ lfsu f0, 0x10(r8)
/* 8009B8F4 00097814 D0 04 80 00 */ stfs f0, -0x8000(r4)
/* 8009B8F8 00097818 D0 24 80 00 */ stfs f1, -0x8000(r4)
/* 8009B8FC 0009781C D0 44 80 00 */ stfs f2, -0x8000(r4)
/* 8009B900 00097820 88 E8 00 0F */ lbz r7, 0xf(r8)
/* 8009B904 00097824 88 C8 00 0E */ lbz r6, 0xe(r8)
/* 8009B908 00097828 88 A8 00 0D */ lbz r5, 0xd(r8)
/* 8009B90C 0009782C 88 08 00 0C */ lbz r0, 0xc(r8)
/* 8009B910 00097830 98 04 80 00 */ stb r0, -0x8000(r4)
/* 8009B914 00097834 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 8009B918 00097838 98 C4 80 00 */ stb r6, -0x8000(r4)
/* 8009B91C 0009783C 98 E4 80 00 */ stb r7, -0x8000(r4)
/* 8009B920 00097840 C0 48 00 18 */ lfs f2, 0x18(r8)
/* 8009B924 00097844 C0 28 00 14 */ lfs f1, 0x14(r8)
/* 8009B928 00097848 C4 08 00 10 */ lfsu f0, 0x10(r8)
/* 8009B92C 0009784C D0 04 80 00 */ stfs f0, -0x8000(r4)
/* 8009B930 00097850 D0 24 80 00 */ stfs f1, -0x8000(r4)
/* 8009B934 00097854 D0 44 80 00 */ stfs f2, -0x8000(r4)
/* 8009B938 00097858 88 E8 00 0F */ lbz r7, 0xf(r8)
/* 8009B93C 0009785C 88 C8 00 0E */ lbz r6, 0xe(r8)
/* 8009B940 00097860 88 A8 00 0D */ lbz r5, 0xd(r8)
/* 8009B944 00097864 88 08 00 0C */ lbz r0, 0xc(r8)
/* 8009B948 00097868 39 08 00 10 */ addi r8, r8, 0x10
/* 8009B94C 0009786C 98 04 80 00 */ stb r0, -0x8000(r4)
/* 8009B950 00097870 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 8009B954 00097874 98 C4 80 00 */ stb r6, -0x8000(r4)
/* 8009B958 00097878 98 E4 80 00 */ stb r7, -0x8000(r4)
/* 8009B95C 0009787C 42 00 FF 1C */ bdnz lbl_8009B878
/* 8009B960 00097880 70 63 00 03 */ andi. r3, r3, 3
/* 8009B964 00097884 41 82 00 48 */ beq lbl_8009B9AC
lbl_8009B968:
/* 8009B968 00097888 7C 69 03 A6 */ mtctr r3
lbl_8009B96C:
/* 8009B96C 0009788C C0 48 00 08 */ lfs f2, 8(r8)
/* 8009B970 00097890 C0 28 00 04 */ lfs f1, 4(r8)
/* 8009B974 00097894 C0 08 00 00 */ lfs f0, 0(r8)
/* 8009B978 00097898 D0 04 80 00 */ stfs f0, -0x8000(r4)
/* 8009B97C 0009789C D0 24 80 00 */ stfs f1, -0x8000(r4)
/* 8009B980 000978A0 D0 44 80 00 */ stfs f2, -0x8000(r4)
/* 8009B984 000978A4 88 E8 00 0F */ lbz r7, 0xf(r8)
/* 8009B988 000978A8 88 C8 00 0E */ lbz r6, 0xe(r8)
/* 8009B98C 000978AC 88 A8 00 0D */ lbz r5, 0xd(r8)
/* 8009B990 000978B0 88 08 00 0C */ lbz r0, 0xc(r8)
/* 8009B994 000978B4 39 08 00 10 */ addi r8, r8, 0x10
/* 8009B998 000978B8 98 04 80 00 */ stb r0, -0x8000(r4)
/* 8009B99C 000978BC 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 8009B9A0 000978C0 98 C4 80 00 */ stb r6, -0x8000(r4)
/* 8009B9A4 000978C4 98 E4 80 00 */ stb r7, -0x8000(r4)
/* 8009B9A8 000978C8 42 00 FF C4 */ bdnz lbl_8009B96C
lbl_8009B9AC:
/* 8009B9AC 000978CC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8009B9B0 000978D0 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8009B9B4 000978D4 90 7F 00 00 */ stw r3, 0(r31)
/* 8009B9B8 000978D8 90 1F 00 04 */ stw r0, 4(r31)
/* 8009B9BC 000978DC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8009B9C0 000978E0 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8009B9C4 000978E4 90 7F 00 08 */ stw r3, 8(r31)
/* 8009B9C8 000978E8 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8009B9CC 000978EC 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8009B9D0 000978F0 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8009B9D4 000978F4 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8009B9D8 000978F8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8009B9DC 000978FC 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009B9E0 00097900 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8009B9E4 00097904 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009B9E8 00097908 83 E1 00 34 */ lwz r31, 0x34(r1)
/* 8009B9EC 0009790C 83 C1 00 30 */ lwz r30, 0x30(r1)
/* 8009B9F0 00097910 38 21 00 38 */ addi r1, r1, 0x38
/* 8009B9F4 00097914 7C 08 03 A6 */ mtlr r0
/* 8009B9F8 00097918 4E 80 00 20 */ blr
.section .data
.balign 0x10
.global lbl_801D3EF0
lbl_801D3EF0:
# ROM: 0x1D0EF0
.byte 0x06, 0x00, 0x00, 0x00
.4byte 0
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.global lbl_801D3F10
lbl_801D3F10:
# ROM: 0x1D0F10
.4byte lbl_8009BB78 ;# ptr
.4byte lbl_8009BBBC ;# ptr
.4byte lbl_8009BC00 ;# ptr
.4byte lbl_8009BC44 ;# ptr
.4byte lbl_8009BC88 ;# ptr
.4byte lbl_8009BCD8 ;# ptr
.4byte lbl_8009BD20 ;# ptr
.4byte lbl_8009BD70 ;# ptr
.4byte lbl_8009BDB4 ;# ptr
.4byte lbl_8009BDF8 ;# ptr
.4byte lbl_8009BE2C ;# ptr
.global lbl_801D3F3C
lbl_801D3F3C:
# ROM: 0x1D0F3C
glabel string_MINI_COMMEND
.asciz "MINI COMMEND"
.balign 4
.global lbl_801D3F4C
lbl_801D3F4C:
# ROM: 0x1D0F4C
.byte 0x1C, 0x20, 0x5B, 0x20
glabel string__d____d__
.asciz "%d / %d ]"
.balign 4
.global lbl_801D3F5C
lbl_801D3F5C:
# ROM: 0x1D0F5C
.byte 0x30, 0x1E, 0x21, 0x20
.byte 0x1C, 0x25, 0x2C, 0x2B
.byte 0x23, 0x29, 0x10, 0x10
.byte 0x10, 0x10, 0x10, 0x10
.byte 0x10, 0x0C, 0x1B, 0x0D
.byte 0x0E, 0x0F, 0x24, 0x11
.byte 0x26, 0x12, 0x27, 0x28
.byte 0x13, 0x1D, 0x14, 0x15
.byte 0x1F, 0x2A, 0x16, 0x17
.byte 0x18, 0x19, 0x2D, 0x1A
.byte 0x2E, 0x22, 0x2F, 0x00
.4byte 0
.byte 0x00, 0x00, 0x01, 0xE9
.byte 0x00, 0x00, 0x00, 0x82
.byte 0x00, 0x00, 0x01, 0xF1
.4byte 0
.byte 0x00, 0x00, 0x01, 0xE9
.byte 0x00, 0x00, 0x00, 0x82
.byte 0x00, 0x00, 0x01, 0xEA
.byte 0x00, 0x00, 0x00, 0xBE
.byte 0x00, 0x00, 0x01, 0xEF
.4byte 0
.byte 0x00, 0x00, 0x01, 0xE9
.byte 0x00, 0x00, 0x00, 0x82
.byte 0x00, 0x00, 0x01, 0xEB
.byte 0x00, 0x00, 0x00, 0xBE
.byte 0x00, 0x00, 0x01, 0xEF
.4byte 0
.byte 0x00, 0x00, 0x01, 0xE9
.byte 0x00, 0x00, 0x00, 0x82
.byte 0x00, 0x00, 0x01, 0xEC
.byte 0x00, 0x00, 0x00, 0xBE
.byte 0x00, 0x00, 0x01, 0xEF
.4byte 0
.byte 0x00, 0x00, 0x01, 0xE9
.byte 0x00, 0x00, 0x00, 0x82
.byte 0x00, 0x00, 0x01, 0xED
.byte 0x00, 0x00, 0x00, 0xBE
.byte 0x00, 0x00, 0x01, 0xEF
.4byte 0
.byte 0x00, 0x00, 0x01, 0xE9
.byte 0x00, 0x00, 0x00, 0x82
.byte 0x00, 0x00, 0x01, 0xEE
glabel string_CONGRATULATIONS_
.asciz "CONGRATULATIONS:"
.balign 4
glabel string_YOU_LOSE
.asciz "YOU LOSE"
.balign 4
glabel string_YOU_RETIRE
.asciz "YOU RETIRE"
.balign 4
glabel string_COM_WINS
.asciz "COM WINS"
.balign 4
glabel string_DRAW_GAME
.asciz "DRAW GAME"
.balign 4
.global lbl_801D404C
lbl_801D404C:
# ROM: 0x1D104C
.4byte string_CONGRATULATIONS_ ;# ptr
.byte 0x3F, 0xD3, 0x33, 0x33
.byte 0x3E, 0x80, 0x00, 0x00
.4byte 0
.4byte 0x802F1370 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_CONGRATULATIONS_ ;# ptr
.byte 0x3F, 0xF3, 0x33, 0x33
.byte 0x3E, 0x61, 0x47, 0xAE
.4byte 0
.4byte 0x802F1368 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_YOU_LOSE ;# ptr
.byte 0x3F, 0xC6, 0x66, 0x66
.byte 0x3E, 0xA3, 0xD7, 0x0A
.4byte 0
.4byte 0x802F1378 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_YOU_RETIRE ;# ptr
.byte 0x3F, 0x86, 0x66, 0x66
.byte 0x3E, 0xA3, 0xD7, 0x0A
.4byte 0
.4byte 0x802F1380 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_COM_WINS ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x802F1370 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_1P_WINS ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x801D3F98 ;# ptr
.byte 0x00, 0x00, 0x00, 0x03
.4byte string_2P_WINS ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x801D3FB0 ;# ptr
.byte 0x00, 0x00, 0x00, 0x03
.4byte string_3P_WINS ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x801D3FC8 ;# ptr
.byte 0x00, 0x00, 0x00, 0x03
.4byte string_4P_WINS ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x801D3FE0 ;# ptr
.byte 0x00, 0x00, 0x00, 0x03
.4byte string_DRAW_GAME ;# ptr
.byte 0x3F, 0x9D, 0x70, 0xA4
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x802F1368 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_RANK_IN ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x801D3FF8 ;# ptr
.byte 0x00, 0x00, 0x00, 0x02
.4byte 0x802F13B0 ;# ptr
.4byte 0
.4byte 0
.4byte 0
.4byte 0x802F1368 ;# ptr
.byte 0x00, 0x00, 0x00, 0x01
.4byte string_YOU_WIN ;# ptr
.byte 0x3F, 0xB7, 0x0A, 0x3D
.byte 0x3E, 0xA3, 0xD7, 0x0A
.byte 0x00, 0x00, 0x00, 0x01
.4byte 0x801D3F88 ;# ptr
.byte 0x00, 0x00, 0x00, 0x02
.byte 0x00, 0x00, 0x0D, 0x00
.4byte 0
.4byte 0
.byte 0x3F, 0x80, 0x00, 0x00
.byte 0x3F, 0x00, 0x00, 0x00
.byte 0x3F, 0x80, 0x00, 0x00
.4byte 0
.4byte 0
.byte 0x3F, 0x00, 0x00, 0x00
.byte 0x3F, 0x80, 0x00, 0x00
.4byte 0
.byte 0x3F, 0x80, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x05
.byte 0xFF, 0xFF, 0xFF, 0xFF
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.byte 0x00, 0x00, 0x0D, 0x00
.byte 0x44, 0x20, 0x00, 0x00
.4byte 0
.byte 0x3F, 0x80, 0x00, 0x00
.byte 0x3F, 0x00, 0x00, 0x00
.byte 0x3F, 0x80, 0x00, 0x00
.byte 0x3F, 0x00, 0x00, 0x00
.4byte 0
.byte 0x3F, 0x80, 0x00, 0x00
.byte 0x3F, 0x80, 0x00, 0x00
.4byte 0
.byte 0x3F, 0x80, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x07
.byte 0xFF, 0xFF, 0xFF, 0xFF
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
glabel string_commend_disp
.asciz "commend disp"
.balign 4
glabel string_mini_commend_c
.asciz "mini_commend.c"
.balign 4
glabel string_multiple_CommendInit_without_CommendDest_n
.asciz "multiple CommendInit without CommendDest\n"
.balign 4
glabel string_commend_tpl
.asciz "commend.tpl"
glabel string_commend_gma
.asciz "commend.gma"
.section .sdata2
.global lbl_802F59B0
lbl_802F59B0:
# ROM: 0x1EF3D0
.4byte 0
.global lbl_802F59B4
lbl_802F59B4:
# ROM: 0x1EF3D4
.byte 0x42, 0xC8, 0x00, 0x00
.global lbl_802F59B8
lbl_802F59B8:
# ROM: 0x1EF3D8
.byte 0x3D, 0xCC, 0xCC, 0xCD
.global lbl_802F59BC
lbl_802F59BC:
# ROM: 0x1EF3DC
.byte 0x46, 0x9C, 0x40, 0x00
.section .rodata
.global lbl_80171B40
lbl_80171B40:
# ROM: 0x16EB40
.byte 0x13, 0x05, 0x00, 0x00
.byte 0x43, 0x16, 0x00, 0x00
.byte 0x44, 0xEB, 0x00, 0x00
.byte 0xEC, 0xFA, 0xFF, 0x00
.byte 0xFF, 0x00, 0x00, 0x00
.4byte 0
.4byte 0
.4byte 0
.section .bss
.global lbl_802B57A0
lbl_802B57A0:
.skip 0x3800
.global lbl_802B8FA0
lbl_802B8FA0:
.skip 0x150
.global lbl_802B90F0
lbl_802B90F0:
.skip 0x270
.global lbl_802B9360
lbl_802B9360:
.skip 0x10
.global lbl_802B9370
lbl_802B9370:
.skip 0x20
.global lbl_802B9390
lbl_802B9390:
.skip 0xE00
.global lbl_802BA190
lbl_802BA190:
.skip 0x10
.global lbl_802BA1A0
lbl_802BA1A0:
.skip 0x60
.global lbl_802BA200
lbl_802BA200:
.skip 0x10
.global lbl_802BA210
lbl_802BA210:
.skip 0x90
.if 0
.global cardStat
cardStat:
.skip 0x70
.endif
.section .sbss
.skip 0x4
.global lbl_802F2150
lbl_802F2150:
.skip 0x4
.global lbl_802F2154
lbl_802F2154:
.skip 0x4
.global lbl_802F2158
lbl_802F2158:
.skip 0x4
.global lbl_802F215C
lbl_802F215C:
.skip 0x4
.global lbl_802F2160
lbl_802F2160:
.skip 0x4
.global lbl_802F2164
lbl_802F2164:
.skip 0x4
.global lbl_802F2168
lbl_802F2168:
.skip 0x8
.global lbl_802F2170
lbl_802F2170:
.skip 0x8
.global lbl_802F2178
lbl_802F2178:
.skip 0x8
.global lbl_802F2180
lbl_802F2180:
.skip 0x4
.global lbl_802F2184
lbl_802F2184:
.skip 0x4
.global lbl_802F2188
lbl_802F2188:
.skip 0x8
.global lbl_802F2190
lbl_802F2190:
.skip 0x4
.global lbl_802F2194
lbl_802F2194:
.skip 0x4
.global lbl_802F2198
lbl_802F2198:
.skip 0x8
.global zMode
zMode:
.skip 0x8