.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_800097D8 func_800097D8: /* 800097D8 00005438 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 800097DC 0000543C 2C 03 00 00 */ cmpwi r3, 0 /* 800097E0 00005440 41 82 00 08 */ beq lbl_800097E8 /* 800097E4 00005444 48 00 05 94 */ b lbl_80009D78 lbl_800097E8: /* 800097E8 00005448 38 60 00 01 */ li r3, 1 /* 800097EC 0000544C 4E 80 00 20 */ blr .global func_800097F0 func_800097F0: /* 800097F0 00005450 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 800097F4 00005454 2C 03 00 00 */ cmpwi r3, 0 /* 800097F8 00005458 41 82 00 08 */ beq lbl_80009800 /* 800097FC 0000545C 48 00 05 98 */ b lbl_80009D94 lbl_80009800: /* 80009800 00005460 38 60 00 01 */ li r3, 1 /* 80009804 00005464 4E 80 00 20 */ blr .global func_80009808 func_80009808: /* 80009808 00005468 80 8D 96 70 */ lwz r4, lbl_8063E930-_SDA_BASE_(r13) /* 8000980C 0000546C 2C 04 00 00 */ cmpwi r4, 0 /* 80009810 00005470 4D 82 00 20 */ beqlr /* 80009814 00005474 98 64 00 04 */ stb r3, 4(r4) /* 80009818 00005478 4E 80 00 20 */ blr .global func_8000981C func_8000981C: /* 8000981C 0000547C 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 80009820 00005480 2C 03 00 00 */ cmpwi r3, 0 /* 80009824 00005484 41 82 00 0C */ beq lbl_80009830 /* 80009828 00005488 88 63 00 04 */ lbz r3, 4(r3) /* 8000982C 0000548C 4E 80 00 20 */ blr lbl_80009830: /* 80009830 00005490 38 60 00 00 */ li r3, 0 /* 80009834 00005494 4E 80 00 20 */ blr .global func_80009838 func_80009838: /* 80009838 00005498 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 8000983C 0000549C 2C 03 00 00 */ cmpwi r3, 0 /* 80009840 000054A0 41 82 00 0C */ beq lbl_8000984C /* 80009844 000054A4 88 63 00 01 */ lbz r3, 1(r3) /* 80009848 000054A8 4E 80 00 20 */ blr lbl_8000984C: /* 8000984C 000054AC 38 60 00 00 */ li r3, 0 /* 80009850 000054B0 4E 80 00 20 */ blr .global func_80009854 func_80009854: /* 80009854 000054B4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80009858 000054B8 7C 08 02 A6 */ mflr r0 /* 8000985C 000054BC 90 01 00 14 */ stw r0, 0x14(r1) /* 80009860 000054C0 80 0D 96 70 */ lwz r0, lbl_8063E930-_SDA_BASE_(r13) /* 80009864 000054C4 2C 00 00 00 */ cmpwi r0, 0 /* 80009868 000054C8 40 82 00 0C */ bne lbl_80009874 /* 8000986C 000054CC 38 60 00 00 */ li r3, 0 /* 80009870 000054D0 48 00 00 7C */ b lbl_800098EC lbl_80009874: /* 80009874 000054D4 48 15 92 FD */ bl func_80162B70 /* 80009878 000054D8 2C 03 00 00 */ cmpwi r3, 0 /* 8000987C 000054DC 40 82 00 64 */ bne lbl_800098E0 /* 80009880 000054E0 38 60 02 61 */ li r3, 0x261 /* 80009884 000054E4 48 15 92 0D */ bl func_80162A90 /* 80009888 000054E8 28 03 00 03 */ cmplwi r3, 3 /* 8000988C 000054EC 41 82 00 54 */ beq lbl_800098E0 /* 80009890 000054F0 38 60 02 61 */ li r3, 0x261 /* 80009894 000054F4 48 15 91 FD */ bl func_80162A90 /* 80009898 000054F8 28 03 00 04 */ cmplwi r3, 4 /* 8000989C 000054FC 41 82 00 44 */ beq lbl_800098E0 /* 800098A0 00005500 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 800098A4 00005504 88 03 00 03 */ lbz r0, 3(r3) /* 800098A8 00005508 2C 00 00 00 */ cmpwi r0, 0 /* 800098AC 0000550C 40 82 00 34 */ bne lbl_800098E0 /* 800098B0 00005510 88 03 00 04 */ lbz r0, 4(r3) /* 800098B4 00005514 2C 00 00 00 */ cmpwi r0, 0 /* 800098B8 00005518 40 82 00 28 */ bne lbl_800098E0 /* 800098BC 0000551C 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13) /* 800098C0 00005520 2C 03 00 00 */ cmpwi r3, 0 /* 800098C4 00005524 41 82 00 10 */ beq lbl_800098D4 /* 800098C8 00005528 88 03 00 14 */ lbz r0, 0x14(r3) /* 800098CC 0000552C 2C 00 00 00 */ cmpwi r0, 0 /* 800098D0 00005530 40 82 00 10 */ bne lbl_800098E0 lbl_800098D4: /* 800098D4 00005534 80 0D 96 44 */ lwz r0, lbl_8063E904-_SDA_BASE_(r13) /* 800098D8 00005538 2C 00 00 00 */ cmpwi r0, 0 /* 800098DC 0000553C 41 82 00 0C */ beq lbl_800098E8 lbl_800098E0: /* 800098E0 00005540 38 60 00 00 */ li r3, 0 /* 800098E4 00005544 48 00 00 08 */ b lbl_800098EC lbl_800098E8: /* 800098E8 00005548 38 60 00 01 */ li r3, 1 lbl_800098EC: /* 800098EC 0000554C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800098F0 00005550 7C 08 03 A6 */ mtlr r0 /* 800098F4 00005554 38 21 00 10 */ addi r1, r1, 0x10 /* 800098F8 00005558 4E 80 00 20 */ blr .global func_800098FC func_800098FC: /* 800098FC 0000555C 80 8D 96 70 */ lwz r4, lbl_8063E930-_SDA_BASE_(r13) /* 80009900 00005560 2C 04 00 00 */ cmpwi r4, 0 /* 80009904 00005564 41 82 00 38 */ beq lbl_8000993C /* 80009908 00005568 88 04 00 05 */ lbz r0, 5(r4) /* 8000990C 0000556C 2C 00 00 00 */ cmpwi r0, 0 /* 80009910 00005570 4C 82 00 20 */ bnelr /* 80009914 00005574 88 04 00 06 */ lbz r0, 6(r4) /* 80009918 00005578 2C 00 00 00 */ cmpwi r0, 0 /* 8000991C 0000557C 41 82 00 08 */ beq lbl_80009924 /* 80009920 00005580 4E 80 00 20 */ blr lbl_80009924: /* 80009924 00005584 2C 03 00 00 */ cmpwi r3, 0 /* 80009928 00005588 41 82 00 08 */ beq lbl_80009930 /* 8000992C 0000558C 98 64 00 06 */ stb r3, 6(r4) lbl_80009930: /* 80009930 00005590 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 80009934 00005594 38 00 00 01 */ li r0, 1 /* 80009938 00005598 98 03 00 05 */ stb r0, 5(r3) lbl_8000993C: /* 8000993C 0000559C 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 80009940 000055A0 38 00 00 01 */ li r0, 1 /* 80009944 000055A4 98 03 00 07 */ stb r0, 7(r3) /* 80009948 000055A8 4E 80 00 20 */ blr .global func_8000994C func_8000994C: /* 8000994C 000055AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80009950 000055B0 7C 08 02 A6 */ mflr r0 /* 80009954 000055B4 C0 02 80 28 */ lfs f0, lbl_80640628-_SDA2_BASE_(r2) /* 80009958 000055B8 38 C0 00 00 */ li r6, 0 /* 8000995C 000055BC 90 01 00 14 */ stw r0, 0x14(r1) /* 80009960 000055C0 38 00 00 01 */ li r0, 1 /* 80009964 000055C4 38 80 00 00 */ li r4, 0 /* 80009968 000055C8 38 A0 00 40 */ li r5, 0x40 /* 8000996C 000055CC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80009970 000055D0 7C 7F 1B 78 */ mr r31, r3 /* 80009974 000055D4 98 C3 00 03 */ stb r6, 3(r3) /* 80009978 000055D8 98 C3 00 00 */ stb r6, 0(r3) /* 8000997C 000055DC 98 C3 00 04 */ stb r6, 4(r3) /* 80009980 000055E0 98 C3 00 01 */ stb r6, 1(r3) /* 80009984 000055E4 98 C3 00 02 */ stb r6, 2(r3) /* 80009988 000055E8 98 C3 00 05 */ stb r6, 5(r3) /* 8000998C 000055EC 98 C3 00 06 */ stb r6, 6(r3) /* 80009990 000055F0 98 03 00 08 */ stb r0, 8(r3) /* 80009994 000055F4 98 C3 00 07 */ stb r6, 7(r3) /* 80009998 000055F8 D0 03 00 18 */ stfs f0, 0x18(r3) /* 8000999C 000055FC 98 C3 00 0D */ stb r6, 0xd(r3) /* 800099A0 00005600 98 C3 00 0E */ stb r6, 0xe(r3) /* 800099A4 00005604 90 C3 00 10 */ stw r6, 0x10(r3) /* 800099A8 00005608 98 C3 00 14 */ stb r6, 0x14(r3) /* 800099AC 0000560C 98 C3 00 0C */ stb r6, 0xc(r3) /* 800099B0 00005610 90 C3 00 D0 */ stw r6, 0xd0(r3) /* 800099B4 00005614 38 63 00 20 */ addi r3, r3, 0x20 /* 800099B8 00005618 4B FF A7 4D */ bl memset /* 800099BC 0000561C 38 7F 00 60 */ addi r3, r31, 0x60 /* 800099C0 00005620 38 80 00 00 */ li r4, 0 /* 800099C4 00005624 38 A0 00 40 */ li r5, 0x40 /* 800099C8 00005628 4B FF A7 3D */ bl memset /* 800099CC 0000562C 7F E3 FB 78 */ mr r3, r31 /* 800099D0 00005630 48 00 03 F9 */ bl func_80009DC8 /* 800099D4 00005634 7F E3 FB 78 */ mr r3, r31 /* 800099D8 00005638 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800099DC 0000563C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800099E0 00005640 7C 08 03 A6 */ mtlr r0 /* 800099E4 00005644 38 21 00 10 */ addi r1, r1, 0x10 /* 800099E8 00005648 4E 80 00 20 */ blr .global func_800099EC func_800099EC: /* 800099EC 0000564C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 800099F0 00005650 7C 08 02 A6 */ mflr r0 /* 800099F4 00005654 90 01 00 54 */ stw r0, 0x54(r1) /* 800099F8 00005658 80 6D A4 C8 */ lwz r3, lbl_8063F788-_SDA_BASE_(r13) /* 800099FC 0000565C 80 03 00 70 */ lwz r0, 0x70(r3) /* 80009A00 00005660 2C 00 00 01 */ cmpwi r0, 1 /* 80009A04 00005664 40 82 00 0C */ bne lbl_80009A10 /* 80009A08 00005668 C0 02 80 2C */ lfs f0, lbl_8064062C-_SDA2_BASE_(r2) /* 80009A0C 0000566C D0 0D 80 1C */ stfs f0, lbl_8063D2DC-_SDA_BASE_(r13) lbl_80009A10: /* 80009A10 00005670 2C 04 00 00 */ cmpwi r4, 0 /* 80009A14 00005674 41 82 00 28 */ beq lbl_80009A3C /* 80009A18 00005678 C0 8D 80 1C */ lfs f4, lbl_8063D2DC-_SDA_BASE_(r13) /* 80009A1C 0000567C 38 61 00 08 */ addi r3, r1, 8 /* 80009A20 00005680 C0 2D 80 18 */ lfs f1, lbl_8063D2D8-_SDA_BASE_(r13) /* 80009A24 00005684 FC 60 20 50 */ fneg f3, f4 /* 80009A28 00005688 C0 A2 80 30 */ lfs f5, lbl_80640630-_SDA2_BASE_(r2) /* 80009A2C 0000568C FC 40 08 50 */ fneg f2, f1 /* 80009A30 00005690 C0 C2 80 34 */ lfs f6, lbl_80640634-_SDA2_BASE_(r2) /* 80009A34 00005694 48 27 31 F9 */ bl C_MTXOrtho /* 80009A38 00005698 48 00 00 24 */ b lbl_80009A5C lbl_80009A3C: /* 80009A3C 0000569C C0 22 80 38 */ lfs f1, lbl_80640638-_SDA2_BASE_(r2) /* 80009A40 000056A0 38 61 00 08 */ addi r3, r1, 8 /* 80009A44 000056A4 C0 42 80 3C */ lfs f2, lbl_8064063C-_SDA2_BASE_(r2) /* 80009A48 000056A8 C0 62 80 40 */ lfs f3, lbl_80640640-_SDA2_BASE_(r2) /* 80009A4C 000056AC C0 82 80 44 */ lfs f4, lbl_80640644-_SDA2_BASE_(r2) /* 80009A50 000056B0 C0 A2 80 30 */ lfs f5, lbl_80640630-_SDA2_BASE_(r2) /* 80009A54 000056B4 C0 C2 80 34 */ lfs f6, lbl_80640634-_SDA2_BASE_(r2) /* 80009A58 000056B8 48 27 31 D5 */ bl C_MTXOrtho lbl_80009A5C: /* 80009A5C 000056BC 38 61 00 08 */ addi r3, r1, 8 /* 80009A60 000056C0 38 80 00 01 */ li r4, 1 /* 80009A64 000056C4 48 27 CF 75 */ bl GXSetProjection /* 80009A68 000056C8 80 01 00 54 */ lwz r0, 0x54(r1) /* 80009A6C 000056CC 7C 08 03 A6 */ mtlr r0 /* 80009A70 000056D0 38 21 00 50 */ addi r1, r1, 0x50 /* 80009A74 000056D4 4E 80 00 20 */ blr .global func_80009A78 func_80009A78: /* 80009A78 000056D8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80009A7C 000056DC 7C 08 02 A6 */ mflr r0 /* 80009A80 000056E0 90 01 00 14 */ stw r0, 0x14(r1) /* 80009A84 000056E4 48 27 62 01 */ bl GXClearVtxDesc /* 80009A88 000056E8 38 60 00 04 */ li r3, 4 /* 80009A8C 000056EC 38 80 00 09 */ li r4, 9 /* 80009A90 000056F0 38 A0 00 00 */ li r5, 0 /* 80009A94 000056F4 38 C0 00 04 */ li r6, 4 /* 80009A98 000056F8 38 E0 00 00 */ li r7, 0 /* 80009A9C 000056FC 48 27 62 1D */ bl GXSetVtxAttrFmt /* 80009AA0 00005700 38 60 00 04 */ li r3, 4 /* 80009AA4 00005704 38 80 00 0B */ li r4, 0xb /* 80009AA8 00005708 38 A0 00 00 */ li r5, 0 /* 80009AAC 0000570C 38 C0 00 01 */ li r6, 1 /* 80009AB0 00005710 38 E0 00 00 */ li r7, 0 /* 80009AB4 00005714 48 27 62 05 */ bl GXSetVtxAttrFmt /* 80009AB8 00005718 38 60 00 09 */ li r3, 9 /* 80009ABC 0000571C 38 80 00 01 */ li r4, 1 /* 80009AC0 00005720 48 27 59 35 */ bl GXSetVtxDesc /* 80009AC4 00005724 38 60 00 0B */ li r3, 0xb /* 80009AC8 00005728 38 80 00 01 */ li r4, 1 /* 80009ACC 0000572C 48 27 59 29 */ bl GXSetVtxDesc /* 80009AD0 00005730 38 60 00 01 */ li r3, 1 /* 80009AD4 00005734 48 27 8A 75 */ bl GXSetNumChans /* 80009AD8 00005738 38 60 00 00 */ li r3, 0 /* 80009ADC 0000573C 48 27 6B 19 */ bl GXSetNumTexGens /* 80009AE0 00005740 38 60 00 01 */ li r3, 1 /* 80009AE4 00005744 48 27 A6 B9 */ bl GXSetNumTevStages /* 80009AE8 00005748 38 60 00 00 */ li r3, 0 /* 80009AEC 0000574C 38 80 00 FF */ li r4, 0xff /* 80009AF0 00005750 38 A0 00 FF */ li r5, 0xff /* 80009AF4 00005754 38 C0 00 04 */ li r6, 4 /* 80009AF8 00005758 48 27 A5 49 */ bl GXSetTevOrder /* 80009AFC 0000575C 38 60 00 00 */ li r3, 0 /* 80009B00 00005760 38 80 00 04 */ li r4, 4 /* 80009B04 00005764 48 27 A0 3D */ bl GXSetTevOp /* 80009B08 00005768 38 60 00 00 */ li r3, 0 /* 80009B0C 0000576C 38 80 00 00 */ li r4, 0 /* 80009B10 00005770 38 A0 00 00 */ li r5, 0 /* 80009B14 00005774 38 C0 00 00 */ li r6, 0 /* 80009B18 00005778 48 27 AB 85 */ bl GXSetBlendMode /* 80009B1C 0000577C 38 60 00 01 */ li r3, 1 /* 80009B20 00005780 38 80 00 03 */ li r4, 3 /* 80009B24 00005784 38 A0 00 01 */ li r5, 1 /* 80009B28 00005788 48 27 AC 1D */ bl GXSetZMode /* 80009B2C 0000578C 38 60 00 03 */ li r3, 3 /* 80009B30 00005790 48 27 D0 01 */ bl GXSetCurrentMtx /* 80009B34 00005794 80 01 00 14 */ lwz r0, 0x14(r1) /* 80009B38 00005798 7C 08 03 A6 */ mtlr r0 /* 80009B3C 0000579C 38 21 00 10 */ addi r1, r1, 0x10 /* 80009B40 000057A0 4E 80 00 20 */ blr .global func_80009B44 func_80009B44: /* 80009B44 000057A4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80009B48 000057A8 7C 08 02 A6 */ mflr r0 /* 80009B4C 000057AC 90 01 00 44 */ stw r0, 0x44(r1) /* 80009B50 000057B0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80009B54 000057B4 7C 9F 23 78 */ mr r31, r4 /* 80009B58 000057B8 93 C1 00 38 */ stw r30, 0x38(r1) /* 80009B5C 000057BC 7C 7E 1B 78 */ mr r30, r3 /* 80009B60 000057C0 48 27 61 25 */ bl GXClearVtxDesc /* 80009B64 000057C4 38 60 00 05 */ li r3, 5 /* 80009B68 000057C8 38 80 00 09 */ li r4, 9 /* 80009B6C 000057CC 38 A0 00 00 */ li r5, 0 /* 80009B70 000057D0 38 C0 00 03 */ li r6, 3 /* 80009B74 000057D4 38 E0 00 00 */ li r7, 0 /* 80009B78 000057D8 48 27 61 41 */ bl GXSetVtxAttrFmt /* 80009B7C 000057DC 38 60 00 05 */ li r3, 5 /* 80009B80 000057E0 38 80 00 0D */ li r4, 0xd /* 80009B84 000057E4 38 A0 00 01 */ li r5, 1 /* 80009B88 000057E8 38 C0 00 03 */ li r6, 3 /* 80009B8C 000057EC 38 E0 00 00 */ li r7, 0 /* 80009B90 000057F0 48 27 61 29 */ bl GXSetVtxAttrFmt /* 80009B94 000057F4 38 60 00 09 */ li r3, 9 /* 80009B98 000057F8 38 80 00 01 */ li r4, 1 /* 80009B9C 000057FC 48 27 58 59 */ bl GXSetVtxDesc /* 80009BA0 00005800 38 60 00 0D */ li r3, 0xd /* 80009BA4 00005804 38 80 00 01 */ li r4, 1 /* 80009BA8 00005808 48 27 58 4D */ bl GXSetVtxDesc /* 80009BAC 0000580C 38 60 00 01 */ li r3, 1 /* 80009BB0 00005810 48 27 89 99 */ bl GXSetNumChans /* 80009BB4 00005814 38 60 00 04 */ li r3, 4 /* 80009BB8 00005818 38 80 00 00 */ li r4, 0 /* 80009BBC 0000581C 38 A0 00 01 */ li r5, 1 /* 80009BC0 00005820 38 C0 00 01 */ li r6, 1 /* 80009BC4 00005824 38 E0 00 00 */ li r7, 0 /* 80009BC8 00005828 39 00 00 00 */ li r8, 0 /* 80009BCC 0000582C 39 20 00 02 */ li r9, 2 /* 80009BD0 00005830 48 27 89 9D */ bl GXSetChanCtrl /* 80009BD4 00005834 38 60 00 01 */ li r3, 1 /* 80009BD8 00005838 48 27 6A 1D */ bl GXSetNumTexGens /* 80009BDC 0000583C 38 60 00 00 */ li r3, 0 /* 80009BE0 00005840 38 80 00 01 */ li r4, 1 /* 80009BE4 00005844 38 A0 00 04 */ li r5, 4 /* 80009BE8 00005848 38 C0 00 3C */ li r6, 0x3c /* 80009BEC 0000584C 38 E0 00 00 */ li r7, 0 /* 80009BF0 00005850 39 00 00 7D */ li r8, 0x7d /* 80009BF4 00005854 48 27 67 D9 */ bl GXSetTexCoordGen2 /* 80009BF8 00005858 38 60 00 01 */ li r3, 1 /* 80009BFC 0000585C 48 27 A5 A1 */ bl GXSetNumTevStages /* 80009C00 00005860 88 C2 80 48 */ lbz r6, lbl_80640648-_SDA2_BASE_(r2) /* 80009C04 00005864 38 81 00 0C */ addi r4, r1, 0xc /* 80009C08 00005868 88 A2 80 49 */ lbz r5, lbl_80640649-_SDA2_BASE_(r2) /* 80009C0C 0000586C 38 60 00 01 */ li r3, 1 /* 80009C10 00005870 88 02 80 4A */ lbz r0, lbl_8064064A-_SDA2_BASE_(r2) /* 80009C14 00005874 98 C1 00 08 */ stb r6, 8(r1) /* 80009C18 00005878 98 A1 00 09 */ stb r5, 9(r1) /* 80009C1C 0000587C 98 01 00 0A */ stb r0, 0xa(r1) /* 80009C20 00005880 9B E1 00 0B */ stb r31, 0xb(r1) /* 80009C24 00005884 80 01 00 08 */ lwz r0, 8(r1) /* 80009C28 00005888 90 01 00 0C */ stw r0, 0xc(r1) /* 80009C2C 0000588C 48 27 A0 D9 */ bl GXSetTevColor /* 80009C30 00005890 38 60 00 00 */ li r3, 0 /* 80009C34 00005894 38 80 00 00 */ li r4, 0 /* 80009C38 00005898 38 A0 00 00 */ li r5, 0 /* 80009C3C 0000589C 38 C0 00 FF */ li r6, 0xff /* 80009C40 000058A0 48 27 A4 01 */ bl GXSetTevOrder /* 80009C44 000058A4 38 60 00 00 */ li r3, 0 /* 80009C48 000058A8 38 80 00 0F */ li r4, 0xf /* 80009C4C 000058AC 38 A0 00 0F */ li r5, 0xf /* 80009C50 000058B0 38 C0 00 0F */ li r6, 0xf /* 80009C54 000058B4 38 E0 00 08 */ li r7, 8 /* 80009C58 000058B8 48 27 9F 7D */ bl GXSetTevColorIn /* 80009C5C 000058BC 38 60 00 00 */ li r3, 0 /* 80009C60 000058C0 38 80 00 00 */ li r4, 0 /* 80009C64 000058C4 38 A0 00 00 */ li r5, 0 /* 80009C68 000058C8 38 C0 00 00 */ li r6, 0 /* 80009C6C 000058CC 38 E0 00 01 */ li r7, 1 /* 80009C70 000058D0 39 00 00 00 */ li r8, 0 /* 80009C74 000058D4 48 27 9F E1 */ bl GXSetTevColorOp /* 80009C78 000058D8 38 60 00 00 */ li r3, 0 /* 80009C7C 000058DC 38 80 00 07 */ li r4, 7 /* 80009C80 000058E0 38 A0 00 01 */ li r5, 1 /* 80009C84 000058E4 38 C0 00 04 */ li r6, 4 /* 80009C88 000058E8 38 E0 00 07 */ li r7, 7 /* 80009C8C 000058EC 48 27 9F 89 */ bl GXSetTevAlphaIn /* 80009C90 000058F0 38 60 00 00 */ li r3, 0 /* 80009C94 000058F4 38 80 00 00 */ li r4, 0 /* 80009C98 000058F8 38 A0 00 00 */ li r5, 0 /* 80009C9C 000058FC 38 C0 00 00 */ li r6, 0 /* 80009CA0 00005900 38 E0 00 01 */ li r7, 1 /* 80009CA4 00005904 39 00 00 00 */ li r8, 0 /* 80009CA8 00005908 48 27 A0 05 */ bl GXSetTevAlphaOp /* 80009CAC 0000590C 38 60 00 01 */ li r3, 1 /* 80009CB0 00005910 38 80 00 04 */ li r4, 4 /* 80009CB4 00005914 38 A0 00 05 */ li r5, 5 /* 80009CB8 00005918 38 C0 00 00 */ li r6, 0 /* 80009CBC 0000591C 48 27 A9 E1 */ bl GXSetBlendMode /* 80009CC0 00005920 38 60 00 00 */ li r3, 0 /* 80009CC4 00005924 38 80 00 03 */ li r4, 3 /* 80009CC8 00005928 38 A0 00 00 */ li r5, 0 /* 80009CCC 0000592C 48 27 AA 79 */ bl GXSetZMode /* 80009CD0 00005930 38 60 00 03 */ li r3, 3 /* 80009CD4 00005934 48 27 CE 5D */ bl GXSetCurrentMtx /* 80009CD8 00005938 80 7E 00 1C */ lwz r3, 0x1c(r30) /* 80009CDC 0000593C 38 81 00 10 */ addi r4, r1, 0x10 /* 80009CE0 00005940 38 A0 00 00 */ li r5, 0 /* 80009CE4 00005944 48 29 1D 69 */ bl TPLGetGXTexObjFromPalette /* 80009CE8 00005948 38 61 00 10 */ addi r3, r1, 0x10 /* 80009CEC 0000594C 38 80 00 00 */ li r4, 0 /* 80009CF0 00005950 48 27 8E D5 */ bl GXLoadTexObj /* 80009CF4 00005954 38 60 00 80 */ li r3, 0x80 /* 80009CF8 00005958 38 80 00 05 */ li r4, 5 /* 80009CFC 0000595C 38 A0 00 04 */ li r5, 4 /* 80009D00 00005960 48 27 74 49 */ bl GXBegin /* 80009D04 00005964 3C E0 CC 01 */ lis r7, 0xCC008000@ha /* 80009D08 00005968 39 00 FF 00 */ li r8, -256 /* 80009D0C 0000596C B1 07 80 00 */ sth r8, 0xCC008000@l(r7) /* 80009D10 00005970 38 C0 00 84 */ li r6, 0x84 /* 80009D14 00005974 38 A0 00 00 */ li r5, 0 /* 80009D18 00005978 38 80 00 01 */ li r4, 1 /* 80009D1C 0000597C B0 C7 80 00 */ sth r6, -0x8000(r7) /* 80009D20 00005980 38 60 00 BC */ li r3, 0xbc /* 80009D24 00005984 38 00 FF 38 */ li r0, -200 /* 80009D28 00005988 B0 A7 80 00 */ sth r5, -0x8000(r7) /* 80009D2C 0000598C B0 87 80 00 */ sth r4, -0x8000(r7) /* 80009D30 00005990 B1 07 80 00 */ sth r8, -0x8000(r7) /* 80009D34 00005994 B0 67 80 00 */ sth r3, -0x8000(r7) /* 80009D38 00005998 B0 A7 80 00 */ sth r5, -0x8000(r7) /* 80009D3C 0000599C B0 A7 80 00 */ sth r5, -0x8000(r7) /* 80009D40 000059A0 B0 07 80 00 */ sth r0, -0x8000(r7) /* 80009D44 000059A4 B0 67 80 00 */ sth r3, -0x8000(r7) /* 80009D48 000059A8 B0 87 80 00 */ sth r4, -0x8000(r7) /* 80009D4C 000059AC B0 A7 80 00 */ sth r5, -0x8000(r7) /* 80009D50 000059B0 B0 07 80 00 */ sth r0, -0x8000(r7) /* 80009D54 000059B4 B0 C7 80 00 */ sth r6, -0x8000(r7) /* 80009D58 000059B8 B0 87 80 00 */ sth r4, -0x8000(r7) /* 80009D5C 000059BC B0 87 80 00 */ sth r4, -0x8000(r7) /* 80009D60 000059C0 80 01 00 44 */ lwz r0, 0x44(r1) /* 80009D64 000059C4 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80009D68 000059C8 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80009D6C 000059CC 7C 08 03 A6 */ mtlr r0 /* 80009D70 000059D0 38 21 00 40 */ addi r1, r1, 0x40 /* 80009D74 000059D4 4E 80 00 20 */ blr lbl_80009D78: /* 80009D78 000059D8 88 83 00 03 */ lbz r4, 3(r3) /* 80009D7C 000059DC 2C 04 00 00 */ cmpwi r4, 0 /* 80009D80 000059E0 41 82 00 0C */ beq lbl_80009D8C /* 80009D84 000059E4 38 00 00 00 */ li r0, 0 /* 80009D88 000059E8 98 03 00 03 */ stb r0, 3(r3) lbl_80009D8C: /* 80009D8C 000059EC 7C 83 23 78 */ mr r3, r4 /* 80009D90 000059F0 4E 80 00 20 */ blr lbl_80009D94: /* 80009D94 000059F4 88 83 00 03 */ lbz r4, 3(r3) /* 80009D98 000059F8 2C 04 00 00 */ cmpwi r4, 0 /* 80009D9C 000059FC 40 82 00 0C */ bne lbl_80009DA8 /* 80009DA0 00005A00 38 00 00 01 */ li r0, 1 /* 80009DA4 00005A04 98 03 00 03 */ stb r0, 3(r3) lbl_80009DA8: /* 80009DA8 00005A08 7C 83 23 78 */ mr r3, r4 /* 80009DAC 00005A0C 4E 80 00 20 */ blr lbl_80009DB0: /* 80009DB0 00005A10 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 80009DB4 00005A14 2C 03 00 00 */ cmpwi r3, 0 /* 80009DB8 00005A18 41 82 00 08 */ beq lbl_80009DC0 /* 80009DBC 00005A1C 98 83 00 0D */ stb r4, 0xd(r3) lbl_80009DC0: /* 80009DC0 00005A20 38 60 00 00 */ li r3, 0 /* 80009DC4 00005A24 4E 80 00 20 */ blr .global func_80009DC8 func_80009DC8: /* 80009DC8 00005A28 C0 02 80 30 */ lfs f0, lbl_80640630-_SDA2_BASE_(r2) /* 80009DCC 00005A2C 38 00 00 00 */ li r0, 0 /* 80009DD0 00005A30 90 03 00 6C */ stw r0, 0x6c(r3) /* 80009DD4 00005A34 D0 03 00 64 */ stfs f0, 0x64(r3) /* 80009DD8 00005A38 D0 03 00 68 */ stfs f0, 0x68(r3) /* 80009DDC 00005A3C D0 03 00 74 */ stfs f0, 0x74(r3) /* 80009DE0 00005A40 D0 03 00 78 */ stfs f0, 0x78(r3) /* 80009DE4 00005A44 90 03 00 7C */ stw r0, 0x7c(r3) /* 80009DE8 00005A48 D0 03 00 84 */ stfs f0, 0x84(r3) /* 80009DEC 00005A4C D0 03 00 88 */ stfs f0, 0x88(r3) /* 80009DF0 00005A50 90 03 00 8C */ stw r0, 0x8c(r3) /* 80009DF4 00005A54 D0 03 00 94 */ stfs f0, 0x94(r3) /* 80009DF8 00005A58 D0 03 00 98 */ stfs f0, 0x98(r3) /* 80009DFC 00005A5C 90 03 00 9C */ stw r0, 0x9c(r3) /* 80009E00 00005A60 4E 80 00 20 */ blr .global func_80009E04 func_80009E04: /* 80009E04 00005A64 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80009E08 00005A68 7C 08 02 A6 */ mflr r0 /* 80009E0C 00005A6C 3C A0 80 40 */ lis r5, lbl_803FB718@ha /* 80009E10 00005A70 90 01 00 44 */ stw r0, 0x44(r1) /* 80009E14 00005A74 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80009E18 00005A78 93 C1 00 38 */ stw r30, 0x38(r1) /* 80009E1C 00005A7C 3F C0 80 40 */ lis r30, lbl_80405DA0@ha /* 80009E20 00005A80 3B DE 5D A0 */ addi r30, r30, lbl_80405DA0@l /* 80009E24 00005A84 93 A1 00 34 */ stw r29, 0x34(r1) /* 80009E28 00005A88 7C 9D 23 78 */ mr r29, r4 /* 80009E2C 00005A8C 38 85 B7 18 */ addi r4, r5, lbl_803FB718@l /* 80009E30 00005A90 93 81 00 30 */ stw r28, 0x30(r1) /* 80009E34 00005A94 7C 7C 1B 78 */ mr r28, r3 /* 80009E38 00005A98 38 61 00 08 */ addi r3, r1, 8 /* 80009E3C 00005A9C 48 1C 44 95 */ bl strcpy /* 80009E40 00005AA0 48 2E 26 09 */ bl SCGetLanguage /* 80009E44 00005AA4 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80009E48 00005AA8 28 00 00 06 */ cmplwi r0, 6 /* 80009E4C 00005AAC 90 1D 00 1C */ stw r0, 0x1c(r29) /* 80009E50 00005AB0 41 81 00 8C */ bgt lbl_80009EDC /* 80009E54 00005AB4 3C 60 80 40 */ lis r3, lbl_80405E64@ha /* 80009E58 00005AB8 54 00 10 3A */ slwi r0, r0, 2 /* 80009E5C 00005ABC 38 63 5E 64 */ addi r3, r3, lbl_80405E64@l /* 80009E60 00005AC0 7C 63 00 2E */ lwzx r3, r3, r0 /* 80009E64 00005AC4 7C 69 03 A6 */ mtctr r3 /* 80009E68 00005AC8 4E 80 04 20 */ bctr .global lbl_80009E6C lbl_80009E6C: /* 80009E6C 00005ACC 38 61 00 08 */ addi r3, r1, 8 /* 80009E70 00005AD0 38 9E 00 00 */ addi r4, r30, 0 /* 80009E74 00005AD4 48 1C 45 61 */ bl strcat /* 80009E78 00005AD8 48 00 00 78 */ b lbl_80009EF0 .global lbl_80009E7C lbl_80009E7C: /* 80009E7C 00005ADC 38 61 00 08 */ addi r3, r1, 8 /* 80009E80 00005AE0 38 9E 00 10 */ addi r4, r30, 0x10 /* 80009E84 00005AE4 48 1C 45 51 */ bl strcat /* 80009E88 00005AE8 48 00 00 68 */ b lbl_80009EF0 .global lbl_80009E8C lbl_80009E8C: /* 80009E8C 00005AEC 38 61 00 08 */ addi r3, r1, 8 /* 80009E90 00005AF0 38 9E 00 24 */ addi r4, r30, 0x24 /* 80009E94 00005AF4 48 1C 45 41 */ bl strcat /* 80009E98 00005AF8 48 00 00 58 */ b lbl_80009EF0 .global lbl_80009E9C lbl_80009E9C: /* 80009E9C 00005AFC 38 61 00 08 */ addi r3, r1, 8 /* 80009EA0 00005B00 38 9E 00 38 */ addi r4, r30, 0x38 /* 80009EA4 00005B04 48 1C 45 31 */ bl strcat /* 80009EA8 00005B08 48 00 00 48 */ b lbl_80009EF0 .global lbl_80009EAC lbl_80009EAC: /* 80009EAC 00005B0C 38 61 00 08 */ addi r3, r1, 8 /* 80009EB0 00005B10 38 9E 00 4C */ addi r4, r30, 0x4c /* 80009EB4 00005B14 48 1C 45 21 */ bl strcat /* 80009EB8 00005B18 48 00 00 38 */ b lbl_80009EF0 .global lbl_80009EBC lbl_80009EBC: /* 80009EBC 00005B1C 38 61 00 08 */ addi r3, r1, 8 /* 80009EC0 00005B20 38 9E 00 60 */ addi r4, r30, 0x60 /* 80009EC4 00005B24 48 1C 45 11 */ bl strcat /* 80009EC8 00005B28 48 00 00 28 */ b lbl_80009EF0 .global lbl_80009ECC lbl_80009ECC: /* 80009ECC 00005B2C 38 61 00 08 */ addi r3, r1, 8 /* 80009ED0 00005B30 38 9E 00 74 */ addi r4, r30, 0x74 /* 80009ED4 00005B34 48 1C 45 01 */ bl strcat /* 80009ED8 00005B38 48 00 00 18 */ b lbl_80009EF0 lbl_80009EDC: /* 80009EDC 00005B3C 38 00 00 00 */ li r0, 0 /* 80009EE0 00005B40 38 61 00 08 */ addi r3, r1, 8 /* 80009EE4 00005B44 90 1D 00 1C */ stw r0, 0x1c(r29) /* 80009EE8 00005B48 38 9E 00 00 */ addi r4, r30, 0 /* 80009EEC 00005B4C 48 1C 44 E9 */ bl strcat lbl_80009EF0: /* 80009EF0 00005B50 80 8D 96 2C */ lwz r4, lbl_8063E8EC-_SDA_BASE_(r13) /* 80009EF4 00005B54 38 61 00 08 */ addi r3, r1, 8 /* 80009EF8 00005B58 38 A0 00 00 */ li r5, 0 /* 80009EFC 00005B5C 48 1D 2D B1 */ bl func_801DCCAC /* 80009F00 00005B60 90 7D 00 00 */ stw r3, 0(r29) /* 80009F04 00005B64 3F E0 80 40 */ lis r31, lbl_803FB718@ha /* 80009F08 00005B68 38 61 00 08 */ addi r3, r1, 8 /* 80009F0C 00005B6C 38 9F B7 18 */ addi r4, r31, lbl_803FB718@l /* 80009F10 00005B70 48 1C 43 C1 */ bl strcpy /* 80009F14 00005B74 38 61 00 08 */ addi r3, r1, 8 /* 80009F18 00005B78 38 9E 00 88 */ addi r4, r30, 0x88 /* 80009F1C 00005B7C 48 1C 44 B9 */ bl strcat /* 80009F20 00005B80 80 8D 96 2C */ lwz r4, lbl_8063E8EC-_SDA_BASE_(r13) /* 80009F24 00005B84 38 61 00 08 */ addi r3, r1, 8 /* 80009F28 00005B88 38 A0 00 00 */ li r5, 0 /* 80009F2C 00005B8C 48 1D 2D 81 */ bl func_801DCCAC /* 80009F30 00005B90 90 7D 00 04 */ stw r3, 4(r29) /* 80009F34 00005B94 38 61 00 08 */ addi r3, r1, 8 /* 80009F38 00005B98 38 9F B7 18 */ addi r4, r31, -18664 /* 80009F3C 00005B9C 48 1C 43 95 */ bl strcpy /* 80009F40 00005BA0 38 61 00 08 */ addi r3, r1, 8 /* 80009F44 00005BA4 38 9E 00 98 */ addi r4, r30, 0x98 /* 80009F48 00005BA8 48 1C 44 8D */ bl strcat /* 80009F4C 00005BAC 80 8D 96 2C */ lwz r4, lbl_8063E8EC-_SDA_BASE_(r13) /* 80009F50 00005BB0 38 61 00 08 */ addi r3, r1, 8 /* 80009F54 00005BB4 38 A0 00 00 */ li r5, 0 /* 80009F58 00005BB8 48 1D 2D 55 */ bl func_801DCCAC /* 80009F5C 00005BBC 90 7D 00 08 */ stw r3, 8(r29) /* 80009F60 00005BC0 38 61 00 08 */ addi r3, r1, 8 /* 80009F64 00005BC4 38 9F B7 18 */ addi r4, r31, -18664 /* 80009F68 00005BC8 48 1C 43 69 */ bl strcpy /* 80009F6C 00005BCC 38 61 00 08 */ addi r3, r1, 8 /* 80009F70 00005BD0 38 9E 00 A4 */ addi r4, r30, 0xa4 /* 80009F74 00005BD4 48 1C 44 61 */ bl strcat /* 80009F78 00005BD8 80 8D 96 2C */ lwz r4, lbl_8063E8EC-_SDA_BASE_(r13) /* 80009F7C 00005BDC 38 61 00 08 */ addi r3, r1, 8 /* 80009F80 00005BE0 38 A0 00 00 */ li r5, 0 /* 80009F84 00005BE4 48 1D 2D 29 */ bl func_801DCCAC /* 80009F88 00005BE8 C0 02 80 28 */ lfs f0, lbl_80640628-_SDA2_BASE_(r2) /* 80009F8C 00005BEC 3C A0 80 01 */ lis r5, lbl_80009DB0@ha /* 80009F90 00005BF0 38 00 00 00 */ li r0, 0 /* 80009F94 00005BF4 C0 22 80 4C */ lfs f1, lbl_8064064C-_SDA2_BASE_(r2) /* 80009F98 00005BF8 38 A5 9D B0 */ addi r5, r5, lbl_80009DB0@l /* 80009F9C 00005BFC 90 7D 00 0C */ stw r3, 0xc(r29) /* 80009FA0 00005C00 38 61 00 08 */ addi r3, r1, 8 /* 80009FA4 00005C04 38 9F B7 18 */ addi r4, r31, -18664 /* 80009FA8 00005C08 90 BD 00 14 */ stw r5, 0x14(r29) /* 80009FAC 00005C0C 90 1D 00 18 */ stw r0, 0x18(r29) /* 80009FB0 00005C10 90 1D 00 20 */ stw r0, 0x20(r29) /* 80009FB4 00005C14 D0 3D 00 34 */ stfs f1, 0x34(r29) /* 80009FB8 00005C18 D0 1D 00 38 */ stfs f0, 0x38(r29) /* 80009FBC 00005C1C D0 1D 00 30 */ stfs f0, 0x30(r29) /* 80009FC0 00005C20 48 1C 43 11 */ bl strcpy /* 80009FC4 00005C24 38 61 00 08 */ addi r3, r1, 8 /* 80009FC8 00005C28 38 9E 00 B0 */ addi r4, r30, 0xb0 /* 80009FCC 00005C2C 48 1C 44 09 */ bl strcat /* 80009FD0 00005C30 80 8D 96 2C */ lwz r4, lbl_8063E8EC-_SDA_BASE_(r13) /* 80009FD4 00005C34 38 61 00 08 */ addi r3, r1, 8 /* 80009FD8 00005C38 38 A0 00 00 */ li r5, 0 /* 80009FDC 00005C3C 48 1D 2C D1 */ bl func_801DCCAC /* 80009FE0 00005C40 90 7C 00 1C */ stw r3, 0x1c(r28) /* 80009FE4 00005C44 48 29 19 35 */ bl TPLBind /* 80009FE8 00005C48 80 01 00 44 */ lwz r0, 0x44(r1) /* 80009FEC 00005C4C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80009FF0 00005C50 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80009FF4 00005C54 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80009FF8 00005C58 83 81 00 30 */ lwz r28, 0x30(r1) /* 80009FFC 00005C5C 7C 08 03 A6 */ mtlr r0 /* 8000A000 00005C60 38 21 00 40 */ addi r1, r1, 0x40 /* 8000A004 00005C64 4E 80 00 20 */ blr .global func_8000A008 func_8000A008: /* 8000A008 00005C68 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8000A00C 00005C6C 7C 08 02 A6 */ mflr r0 /* 8000A010 00005C70 3C 80 80 40 */ lis r4, lbl_803FB728@ha /* 8000A014 00005C74 90 01 00 34 */ stw r0, 0x34(r1) /* 8000A018 00005C78 38 61 00 08 */ addi r3, r1, 8 /* 8000A01C 00005C7C 38 84 B7 28 */ addi r4, r4, lbl_803FB728@l /* 8000A020 00005C80 48 1C 42 B1 */ bl strcpy /* 8000A024 00005C84 3C 80 80 40 */ lis r4, lbl_80405E80@ha /* 8000A028 00005C88 38 61 00 08 */ addi r3, r1, 8 /* 8000A02C 00005C8C 38 84 5E 80 */ addi r4, r4, lbl_80405E80@l /* 8000A030 00005C90 48 1C 43 A5 */ bl strcat /* 8000A034 00005C94 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8000A038 00005C98 3C 80 00 08 */ lis r4, 8 /* 8000A03C 00005C9C 48 1D 0C C5 */ bl func_801DAD00 /* 8000A040 00005CA0 7C 64 1B 78 */ mr r4, r3 /* 8000A044 00005CA4 38 61 00 08 */ addi r3, r1, 8 /* 8000A048 00005CA8 3C A0 00 08 */ lis r5, 8 /* 8000A04C 00005CAC 48 39 03 BD */ bl HBMCreateMemorySound /* 8000A050 00005CB0 80 01 00 34 */ lwz r0, 0x34(r1) /* 8000A054 00005CB4 7C 08 03 A6 */ mtlr r0 /* 8000A058 00005CB8 38 21 00 30 */ addi r1, r1, 0x30 /* 8000A05C 00005CBC 4E 80 00 20 */ blr .global func_8000A060 func_8000A060: /* 8000A060 00005CC0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8000A064 00005CC4 7C 08 02 A6 */ mflr r0 /* 8000A068 00005CC8 90 01 00 14 */ stw r0, 0x14(r1) /* 8000A06C 00005CCC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8000A070 00005CD0 7C 7F 1B 78 */ mr r31, r3 /* 8000A074 00005CD4 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8000A078 00005CD8 88 04 00 7A */ lbz r0, 0x7a(r4) /* 8000A07C 00005CDC 2C 00 00 00 */ cmpwi r0, 0 /* 8000A080 00005CE0 41 82 00 0C */ beq lbl_8000A08C /* 8000A084 00005CE4 38 00 00 01 */ li r0, 1 /* 8000A088 00005CE8 98 03 00 02 */ stb r0, 2(r3) lbl_8000A08C: /* 8000A08C 00005CEC 7F E3 FB 78 */ mr r3, r31 /* 8000A090 00005CF0 38 9F 00 20 */ addi r4, r31, 0x20 /* 8000A094 00005CF4 4B FF FD 71 */ bl func_80009E04 /* 8000A098 00005CF8 80 8D 96 2C */ lwz r4, lbl_8063E8EC-_SDA_BASE_(r13) /* 8000A09C 00005CFC 38 7F 00 A0 */ addi r3, r31, 0xa0 /* 8000A0A0 00005D00 38 A0 00 20 */ li r5, 0x20 /* 8000A0A4 00005D04 48 28 D6 A1 */ bl MEMInitAllocatorForExpHeap /* 8000A0A8 00005D08 38 80 00 00 */ li r4, 0 /* 8000A0AC 00005D0C 38 1F 00 A0 */ addi r0, r31, 0xa0 /* 8000A0B0 00005D10 90 9F 00 30 */ stw r4, 0x30(r31) /* 8000A0B4 00005D14 38 7F 00 20 */ addi r3, r31, 0x20 /* 8000A0B8 00005D18 90 1F 00 5C */ stw r0, 0x5c(r31) /* 8000A0BC 00005D1C 90 9F 00 4C */ stw r4, 0x4c(r31) /* 8000A0C0 00005D20 48 38 FF C1 */ bl HBMCreate /* 8000A0C4 00005D24 7F E3 FB 78 */ mr r3, r31 /* 8000A0C8 00005D28 4B FF FF 41 */ bl func_8000A008 /* 8000A0CC 00005D2C 88 7F 00 02 */ lbz r3, 2(r31) /* 8000A0D0 00005D30 48 39 03 19 */ bl HBMSetAdjustFlag /* 8000A0D4 00005D34 38 00 00 01 */ li r0, 1 /* 8000A0D8 00005D38 98 1F 00 00 */ stb r0, 0(r31) /* 8000A0DC 00005D3C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8000A0E0 00005D40 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000A0E4 00005D44 7C 08 03 A6 */ mtlr r0 /* 8000A0E8 00005D48 38 21 00 10 */ addi r1, r1, 0x10 /* 8000A0EC 00005D4C 4E 80 00 20 */ blr lbl_8000A0F0: /* 8000A0F0 00005D50 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8000A0F4 00005D54 7C 08 02 A6 */ mflr r0 /* 8000A0F8 00005D58 90 01 00 34 */ stw r0, 0x34(r1) /* 8000A0FC 00005D5C 39 61 00 30 */ addi r11, r1, 0x30 /* 8000A100 00005D60 48 1B D0 1D */ bl _savegpr_24 /* 8000A104 00005D64 88 03 00 00 */ lbz r0, 0(r3) /* 8000A108 00005D68 7C 7E 1B 78 */ mr r30, r3 /* 8000A10C 00005D6C 2C 00 00 00 */ cmpwi r0, 0 /* 8000A110 00005D70 41 82 04 24 */ beq lbl_8000A534 /* 8000A114 00005D74 80 0D 96 74 */ lwz r0, lbl_8063E934-_SDA_BASE_(r13) /* 8000A118 00005D78 2C 00 00 00 */ cmpwi r0, 0 /* 8000A11C 00005D7C 40 82 00 0C */ bne lbl_8000A128 /* 8000A120 00005D80 48 26 91 25 */ bl OSGetResetButtonState /* 8000A124 00005D84 90 6D 96 74 */ stw r3, lbl_8063E934-_SDA_BASE_(r13) lbl_8000A128: /* 8000A128 00005D88 48 23 A6 A5 */ bl func_802447CC /* 8000A12C 00005D8C 7C 7F 1B 78 */ mr r31, r3 /* 8000A130 00005D90 7F DA F3 78 */ mr r26, r30 /* 8000A134 00005D94 7F D9 F3 78 */ mr r25, r30 /* 8000A138 00005D98 3B 7E 00 C0 */ addi r27, r30, 0xc0 /* 8000A13C 00005D9C 3B 00 00 00 */ li r24, 0 /* 8000A140 00005DA0 3B 80 00 00 */ li r28, 0 /* 8000A144 00005DA4 48 00 00 5C */ b lbl_8000A1A0 lbl_8000A148: /* 8000A148 00005DA8 7F 03 C3 78 */ mr r3, r24 /* 8000A14C 00005DAC 48 23 A6 51 */ bl func_8024479C /* 8000A150 00005DB0 2C 03 00 00 */ cmpwi r3, 0 /* 8000A154 00005DB4 7C 7D 1B 78 */ mr r29, r3 /* 8000A158 00005DB8 41 82 00 38 */ beq lbl_8000A190 /* 8000A15C 00005DBC 7F 03 C3 78 */ mr r3, r24 /* 8000A160 00005DC0 7F 64 DB 78 */ mr r4, r27 /* 8000A164 00005DC4 48 29 EC 15 */ bl WPADProbe /* 8000A168 00005DC8 2C 03 00 00 */ cmpwi r3, 0 /* 8000A16C 00005DCC 90 7A 00 B0 */ stw r3, 0xb0(r26) /* 8000A170 00005DD0 41 82 00 10 */ beq lbl_8000A180 /* 8000A174 00005DD4 38 03 00 03 */ addi r0, r3, 3 /* 8000A178 00005DD8 28 00 00 01 */ cmplwi r0, 1 /* 8000A17C 00005DDC 41 81 00 10 */ bgt lbl_8000A18C lbl_8000A180: /* 8000A180 00005DE0 38 1D 00 44 */ addi r0, r29, 0x44 /* 8000A184 00005DE4 90 19 00 60 */ stw r0, 0x60(r25) /* 8000A188 00005DE8 48 00 00 08 */ b lbl_8000A190 lbl_8000A18C: /* 8000A18C 00005DEC 93 99 00 60 */ stw r28, 0x60(r25) lbl_8000A190: /* 8000A190 00005DF0 3B 7B 00 04 */ addi r27, r27, 4 /* 8000A194 00005DF4 3B 5A 00 04 */ addi r26, r26, 4 /* 8000A198 00005DF8 3B 39 00 10 */ addi r25, r25, 0x10 /* 8000A19C 00005DFC 3B 18 00 01 */ addi r24, r24, 1 lbl_8000A1A0: /* 8000A1A0 00005E00 7C 18 F8 00 */ cmpw r24, r31 /* 8000A1A4 00005E04 41 80 FF A4 */ blt lbl_8000A148 /* 8000A1A8 00005E08 88 1E 00 07 */ lbz r0, 7(r30) /* 8000A1AC 00005E0C 2C 00 00 00 */ cmpwi r0, 0 /* 8000A1B0 00005E10 41 82 00 10 */ beq lbl_8000A1C0 /* 8000A1B4 00005E14 38 00 00 00 */ li r0, 0 /* 8000A1B8 00005E18 98 1E 00 07 */ stb r0, 7(r30) /* 8000A1BC 00005E1C 48 39 02 39 */ bl HBMStartBlackOut lbl_8000A1C0: /* 8000A1C0 00005E20 88 1E 00 01 */ lbz r0, 1(r30) /* 8000A1C4 00005E24 2C 00 00 00 */ cmpwi r0, 0 /* 8000A1C8 00005E28 41 82 01 F8 */ beq lbl_8000A3C0 /* 8000A1CC 00005E2C 7F DD F3 78 */ mr r29, r30 /* 8000A1D0 00005E30 3B 20 00 00 */ li r25, 0 /* 8000A1D4 00005E34 3B 80 00 00 */ li r28, 0 /* 8000A1D8 00005E38 48 00 00 50 */ b lbl_8000A228 lbl_8000A1DC: /* 8000A1DC 00005E3C 7F 23 CB 78 */ mr r3, r25 /* 8000A1E0 00005E40 48 23 A5 BD */ bl func_8024479C /* 8000A1E4 00005E44 2C 03 00 00 */ cmpwi r3, 0 /* 8000A1E8 00005E48 41 82 00 38 */ beq lbl_8000A220 /* 8000A1EC 00005E4C 80 03 00 3C */ lwz r0, 0x3c(r3) /* 8000A1F0 00005E50 2C 00 00 00 */ cmpwi r0, 0 /* 8000A1F4 00005E54 40 82 00 2C */ bne lbl_8000A220 /* 8000A1F8 00005E58 80 03 00 40 */ lwz r0, 0x40(r3) /* 8000A1FC 00005E5C 2C 00 00 00 */ cmpwi r0, 0 /* 8000A200 00005E60 40 81 00 20 */ ble lbl_8000A220 /* 8000A204 00005E64 80 1D 00 60 */ lwz r0, 0x60(r29) /* 8000A208 00005E68 2C 00 00 00 */ cmpwi r0, 0 /* 8000A20C 00005E6C 41 82 00 14 */ beq lbl_8000A220 /* 8000A210 00005E70 80 1D 00 6C */ lwz r0, 0x6c(r29) /* 8000A214 00005E74 28 00 00 02 */ cmplwi r0, 2 /* 8000A218 00005E78 40 82 00 08 */ bne lbl_8000A220 /* 8000A21C 00005E7C 93 9D 00 6C */ stw r28, 0x6c(r29) lbl_8000A220: /* 8000A220 00005E80 3B BD 00 10 */ addi r29, r29, 0x10 /* 8000A224 00005E84 3B 39 00 01 */ addi r25, r25, 1 lbl_8000A228: /* 8000A228 00005E88 7C 19 F8 00 */ cmpw r25, r31 /* 8000A22C 00005E8C 41 80 FF B0 */ blt lbl_8000A1DC /* 8000A230 00005E90 38 7E 00 60 */ addi r3, r30, 0x60 /* 8000A234 00005E94 48 39 00 25 */ bl HBMCalc /* 8000A238 00005E98 2C 03 00 00 */ cmpwi r3, 0 /* 8000A23C 00005E9C 41 80 01 7C */ blt lbl_8000A3B8 /* 8000A240 00005EA0 48 39 01 89 */ bl HBMGetSelectBtnNum /* 8000A244 00005EA4 7C 78 1B 78 */ mr r24, r3 /* 8000A248 00005EA8 48 39 01 B5 */ bl HBMIsReassignedControllers /* 8000A24C 00005EAC 80 1E 00 D0 */ lwz r0, 0xd0(r30) /* 8000A250 00005EB0 2C 00 00 00 */ cmpwi r0, 0 /* 8000A254 00005EB4 41 82 00 2C */ beq lbl_8000A280 /* 8000A258 00005EB8 48 39 01 A5 */ bl HBMIsReassignedControllers /* 8000A25C 00005EBC 7C 03 00 D0 */ neg r0, r3 /* 8000A260 00005EC0 7F 04 C3 78 */ mr r4, r24 /* 8000A264 00005EC4 7C 00 1B 78 */ or r0, r0, r3 /* 8000A268 00005EC8 80 7E 00 D0 */ lwz r3, 0xd0(r30) /* 8000A26C 00005ECC 54 05 0F FE */ srwi r5, r0, 0x1f /* 8000A270 00005ED0 81 83 00 00 */ lwz r12, 0(r3) /* 8000A274 00005ED4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8000A278 00005ED8 7D 89 03 A6 */ mtctr r12 /* 8000A27C 00005EDC 4E 80 04 21 */ bctrl lbl_8000A280: /* 8000A280 00005EE0 2C 18 00 03 */ cmpwi r24, 3 /* 8000A284 00005EE4 40 80 00 88 */ bge lbl_8000A30C /* 8000A288 00005EE8 2C 18 00 01 */ cmpwi r24, 1 /* 8000A28C 00005EEC 40 80 00 08 */ bge lbl_8000A294 /* 8000A290 00005EF0 48 00 00 7C */ b lbl_8000A30C lbl_8000A294: /* 8000A294 00005EF4 48 39 02 59 */ bl HBMDeleteSound /* 8000A298 00005EF8 88 1E 00 06 */ lbz r0, 6(r30) /* 8000A29C 00005EFC 2C 00 00 00 */ cmpwi r0, 0 /* 8000A2A0 00005F00 41 82 00 14 */ beq lbl_8000A2B4 /* 8000A2A4 00005F04 38 00 00 00 */ li r0, 0 /* 8000A2A8 00005F08 98 1E 00 01 */ stb r0, 1(r30) /* 8000A2AC 00005F0C 4B FF D0 8D */ bl func_80007338 /* 8000A2B0 00005F10 48 00 00 EC */ b lbl_8000A39C lbl_8000A2B4: /* 8000A2B4 00005F14 48 38 FE F5 */ bl HBMDelete /* 8000A2B8 00005F18 48 23 A6 05 */ bl func_802448BC /* 8000A2BC 00005F1C 48 1D 2B 7D */ bl func_801DCE38 /* 8000A2C0 00005F20 38 60 00 00 */ li r3, 0 /* 8000A2C4 00005F24 38 80 00 00 */ li r4, 0 /* 8000A2C8 00005F28 38 A0 00 00 */ li r5, 0 /* 8000A2CC 00005F2C 38 C0 00 00 */ li r6, 0 /* 8000A2D0 00005F30 48 26 83 79 */ bl OSSetIdleFunction /* 8000A2D4 00005F34 48 35 E1 F1 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv /* 8000A2D8 00005F38 48 35 F1 6D */ bl PrepareReset__Q44nw4r3snd6detail9AxManagerFv /* 8000A2DC 00005F3C 48 37 20 B9 */ bl WaitForResetReady__Q34nw4r3snd11SoundSystemFv /* 8000A2E0 00005F40 38 60 00 00 */ li r3, 0 /* 8000A2E4 00005F44 48 28 48 21 */ bl AIRegisterDMACallback /* 8000A2E8 00005F48 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8000A2EC 00005F4C 48 22 6D D5 */ bl func_802310C0 /* 8000A2F0 00005F50 2C 18 00 01 */ cmpwi r24, 1 /* 8000A2F4 00005F54 40 82 00 0C */ bne lbl_8000A300 /* 8000A2F8 00005F58 48 26 5F 59 */ bl OSReturnToMenu /* 8000A2FC 00005F5C 48 00 00 A0 */ b lbl_8000A39C lbl_8000A300: /* 8000A300 00005F60 38 60 00 00 */ li r3, 0 /* 8000A304 00005F64 48 26 5E C1 */ bl OSRestart /* 8000A308 00005F68 48 00 00 94 */ b lbl_8000A39C lbl_8000A30C: /* 8000A30C 00005F6C 3B 20 00 00 */ li r25, 0 /* 8000A310 00005F70 48 00 00 1C */ b lbl_8000A32C lbl_8000A314: /* 8000A314 00005F74 7F 23 CB 78 */ mr r3, r25 /* 8000A318 00005F78 48 23 A4 85 */ bl func_8024479C /* 8000A31C 00005F7C 2C 03 00 00 */ cmpwi r3, 0 /* 8000A320 00005F80 41 82 00 08 */ beq lbl_8000A328 /* 8000A324 00005F84 48 23 9A 95 */ bl func_80243DB8 lbl_8000A328: /* 8000A328 00005F88 3B 39 00 01 */ addi r25, r25, 1 lbl_8000A32C: /* 8000A32C 00005F8C 7C 19 F8 00 */ cmpw r25, r31 /* 8000A330 00005F90 41 80 FF E4 */ blt lbl_8000A314 /* 8000A334 00005F94 4B FF CD 3D */ bl func_80007070 /* 8000A338 00005F98 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8000A33C 00005F9C 38 00 00 00 */ li r0, 0 /* 8000A340 00005FA0 98 03 00 82 */ stb r0, 0x82(r3) /* 8000A344 00005FA4 48 00 15 81 */ bl func_8000B8C4 /* 8000A348 00005FA8 C0 42 80 54 */ lfs f2, lbl_80640654-_SDA2_BASE_(r2) /* 8000A34C 00005FAC C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13) /* 8000A350 00005FB0 C0 02 80 50 */ lfs f0, lbl_80640650-_SDA2_BASE_(r2) /* 8000A354 00005FB4 EC 22 00 72 */ fmuls f1, f2, f1 /* 8000A358 00005FB8 EC 00 08 2A */ fadds f0, f0, f1 /* 8000A35C 00005FBC FC 00 00 1E */ fctiwz f0, f0 /* 8000A360 00005FC0 D8 01 00 08 */ stfd f0, 8(r1) /* 8000A364 00005FC4 80 61 00 0C */ lwz r3, 0xc(r1) /* 8000A368 00005FC8 48 00 11 D1 */ bl func_8000B538 /* 8000A36C 00005FCC C0 3E 00 18 */ lfs f1, 0x18(r30) /* 8000A370 00005FD0 48 00 13 D9 */ bl func_8000B748 /* 8000A374 00005FD4 48 24 F5 C1 */ bl func_80259934 /* 8000A378 00005FD8 48 1D 2A 4D */ bl func_801DCDC4 /* 8000A37C 00005FDC 2C 03 00 00 */ cmpwi r3, 0 /* 8000A380 00005FE0 41 82 00 08 */ beq lbl_8000A388 /* 8000A384 00005FE4 4B FF CD 0D */ bl func_80007090 lbl_8000A388: /* 8000A388 00005FE8 3C 60 80 00 */ lis r3, func_80007090@ha /* 8000A38C 00005FEC 3C 80 80 00 */ lis r4, lbl_80007164@ha /* 8000A390 00005FF0 38 63 70 90 */ addi r3, r3, func_80007090@l /* 8000A394 00005FF4 38 84 71 64 */ addi r4, r4, lbl_80007164@l /* 8000A398 00005FF8 48 1D 2A 21 */ bl func_801DCDB8 lbl_8000A39C: /* 8000A39C 00005FFC 88 1E 00 08 */ lbz r0, 8(r30) /* 8000A3A0 00006000 2C 00 00 00 */ cmpwi r0, 0 /* 8000A3A4 00006004 40 82 00 0C */ bne lbl_8000A3B0 /* 8000A3A8 00006008 80 6D A4 F0 */ lwz r3, lbl_8063F7B0-_SDA_BASE_(r13) /* 8000A3AC 0000600C 48 23 A3 9D */ bl func_80244748 lbl_8000A3B0: /* 8000A3B0 00006010 38 00 00 00 */ li r0, 0 /* 8000A3B4 00006014 98 1E 00 01 */ stb r0, 1(r30) lbl_8000A3B8: /* 8000A3B8 00006018 48 39 01 69 */ bl HBMUpdateSound /* 8000A3BC 0000601C 48 00 01 78 */ b lbl_8000A534 lbl_8000A3C0: /* 8000A3C0 00006020 3B 20 00 00 */ li r25, 0 /* 8000A3C4 00006024 3B 80 00 00 */ li r28, 0 /* 8000A3C8 00006028 3B A0 00 01 */ li r29, 1 /* 8000A3CC 0000602C 48 00 01 60 */ b lbl_8000A52C lbl_8000A3D0: /* 8000A3D0 00006030 7F 23 CB 78 */ mr r3, r25 /* 8000A3D4 00006034 48 23 A3 C9 */ bl func_8024479C /* 8000A3D8 00006038 2C 03 00 00 */ cmpwi r3, 0 /* 8000A3DC 0000603C 41 82 01 4C */ beq lbl_8000A528 /* 8000A3E0 00006040 80 03 00 20 */ lwz r0, 0x20(r3) /* 8000A3E4 00006044 80 63 00 1C */ lwz r3, 0x1c(r3) /* 8000A3E8 00006048 28 00 80 00 */ cmplwi r0, 0x8000 /* 8000A3EC 0000604C 40 82 01 3C */ bne lbl_8000A528 /* 8000A3F0 00006050 28 03 80 00 */ cmplwi r3, 0x8000 /* 8000A3F4 00006054 40 82 01 34 */ bne lbl_8000A528 /* 8000A3F8 00006058 48 15 87 79 */ bl func_80162B70 /* 8000A3FC 0000605C 2C 03 00 00 */ cmpwi r3, 0 /* 8000A400 00006060 40 82 00 58 */ bne lbl_8000A458 /* 8000A404 00006064 38 60 02 61 */ li r3, 0x261 /* 8000A408 00006068 48 15 86 89 */ bl func_80162A90 /* 8000A40C 0000606C 28 03 00 03 */ cmplwi r3, 3 /* 8000A410 00006070 41 82 00 48 */ beq lbl_8000A458 /* 8000A414 00006074 38 60 02 61 */ li r3, 0x261 /* 8000A418 00006078 48 15 86 79 */ bl func_80162A90 /* 8000A41C 0000607C 28 03 00 04 */ cmplwi r3, 4 /* 8000A420 00006080 41 82 00 38 */ beq lbl_8000A458 /* 8000A424 00006084 88 1E 00 03 */ lbz r0, 3(r30) /* 8000A428 00006088 2C 00 00 00 */ cmpwi r0, 0 /* 8000A42C 0000608C 40 82 00 2C */ bne lbl_8000A458 /* 8000A430 00006090 88 1E 00 04 */ lbz r0, 4(r30) /* 8000A434 00006094 2C 00 00 00 */ cmpwi r0, 0 /* 8000A438 00006098 40 82 00 20 */ bne lbl_8000A458 /* 8000A43C 0000609C 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13) /* 8000A440 000060A0 88 03 00 14 */ lbz r0, 0x14(r3) /* 8000A444 000060A4 2C 00 00 00 */ cmpwi r0, 0 /* 8000A448 000060A8 40 82 00 10 */ bne lbl_8000A458 /* 8000A44C 000060AC 80 0D 96 44 */ lwz r0, lbl_8063E904-_SDA_BASE_(r13) /* 8000A450 000060B0 2C 00 00 00 */ cmpwi r0, 0 /* 8000A454 000060B4 41 82 00 24 */ beq lbl_8000A478 lbl_8000A458: /* 8000A458 000060B8 88 1E 00 0C */ lbz r0, 0xc(r30) /* 8000A45C 000060BC 2C 00 00 00 */ cmpwi r0, 0 /* 8000A460 000060C0 40 82 00 C8 */ bne lbl_8000A528 /* 8000A464 000060C4 9B 9E 00 0E */ stb r28, 0xe(r30) /* 8000A468 000060C8 48 26 83 69 */ bl OSGetTick /* 8000A46C 000060CC 90 7E 00 10 */ stw r3, 0x10(r30) /* 8000A470 000060D0 9B BE 00 0C */ stb r29, 0xc(r30) /* 8000A474 000060D4 48 00 00 B4 */ b lbl_8000A528 lbl_8000A478: /* 8000A478 000060D8 57 20 20 36 */ slwi r0, r25, 4 /* 8000A47C 000060DC 7C 9E 02 14 */ add r4, r30, r0 /* 8000A480 000060E0 80 64 00 60 */ lwz r3, 0x60(r4) /* 8000A484 000060E4 88 03 00 5C */ lbz r0, 0x5c(r3) /* 8000A488 000060E8 90 04 00 6C */ stw r0, 0x6c(r4) /* 8000A48C 000060EC 80 7E 00 D0 */ lwz r3, 0xd0(r30) /* 8000A490 000060F0 2C 03 00 00 */ cmpwi r3, 0 /* 8000A494 000060F4 41 82 00 18 */ beq lbl_8000A4AC /* 8000A498 000060F8 81 83 00 00 */ lwz r12, 0(r3) /* 8000A49C 000060FC 7F 24 CB 78 */ mr r4, r25 /* 8000A4A0 00006100 81 8C 00 08 */ lwz r12, 8(r12) /* 8000A4A4 00006104 7D 89 03 A6 */ mtctr r12 /* 8000A4A8 00006108 4E 80 04 21 */ bctrl lbl_8000A4AC: /* 8000A4AC 0000610C 48 00 13 9D */ bl func_8000B848 /* 8000A4B0 00006110 D0 3E 00 18 */ stfs f1, 0x18(r30) /* 8000A4B4 00006114 C0 22 80 30 */ lfs f1, lbl_80640630-_SDA2_BASE_(r2) /* 8000A4B8 00006118 48 00 12 91 */ bl func_8000B748 /* 8000A4BC 0000611C C0 42 80 54 */ lfs f2, lbl_80640654-_SDA2_BASE_(r2) /* 8000A4C0 00006120 C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13) /* 8000A4C4 00006124 C0 02 80 50 */ lfs f0, lbl_80640650-_SDA2_BASE_(r2) /* 8000A4C8 00006128 EC 22 00 72 */ fmuls f1, f2, f1 /* 8000A4CC 0000612C EC 00 08 2A */ fadds f0, f0, f1 /* 8000A4D0 00006130 FC 00 00 1E */ fctiwz f0, f0 /* 8000A4D4 00006134 D8 01 00 08 */ stfd f0, 8(r1) /* 8000A4D8 00006138 80 61 00 0C */ lwz r3, 0xc(r1) /* 8000A4DC 0000613C 48 00 10 25 */ bl func_8000B500 /* 8000A4E0 00006140 48 00 13 81 */ bl func_8000B860 /* 8000A4E4 00006144 48 24 F4 4D */ bl func_80259930 /* 8000A4E8 00006148 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8000A4EC 0000614C 3B E0 00 01 */ li r31, 1 /* 8000A4F0 00006150 9B E3 00 82 */ stb r31, 0x82(r3) /* 8000A4F4 00006154 4B FF CB 69 */ bl func_8000705C /* 8000A4F8 00006158 38 60 00 00 */ li r3, 0 /* 8000A4FC 0000615C 48 23 A2 A1 */ bl func_8024479C /* 8000A500 00006160 88 03 00 00 */ lbz r0, 0(r3) /* 8000A504 00006164 98 1E 00 08 */ stb r0, 8(r30) /* 8000A508 00006168 80 6D A4 F0 */ lwz r3, lbl_8063F7B0-_SDA_BASE_(r13) /* 8000A50C 0000616C 48 23 A1 F1 */ bl func_802446FC /* 8000A510 00006170 48 38 FD 1D */ bl HBMInit /* 8000A514 00006174 9B FE 00 01 */ stb r31, 1(r30) /* 8000A518 00006178 38 60 00 00 */ li r3, 0 /* 8000A51C 0000617C 38 80 00 00 */ li r4, 0 /* 8000A520 00006180 48 1D 28 99 */ bl func_801DCDB8 /* 8000A524 00006184 48 00 00 10 */ b lbl_8000A534 lbl_8000A528: /* 8000A528 00006188 3B 39 00 01 */ addi r25, r25, 1 lbl_8000A52C: /* 8000A52C 0000618C 7C 19 F8 00 */ cmpw r25, r31 /* 8000A530 00006190 41 80 FE A0 */ blt lbl_8000A3D0 lbl_8000A534: /* 8000A534 00006194 39 61 00 30 */ addi r11, r1, 0x30 /* 8000A538 00006198 48 1B CC 31 */ bl _restgpr_24 /* 8000A53C 0000619C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8000A540 000061A0 7C 08 03 A6 */ mtlr r0 /* 8000A544 000061A4 38 21 00 30 */ addi r1, r1, 0x30 /* 8000A548 000061A8 4E 80 00 20 */ blr lbl_8000A54C: /* 8000A54C 000061AC 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8000A550 000061B0 7C 08 02 A6 */ mflr r0 /* 8000A554 000061B4 90 01 00 84 */ stw r0, 0x84(r1) /* 8000A558 000061B8 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8000A55C 000061BC 7C 7F 1B 78 */ mr r31, r3 /* 8000A560 000061C0 88 03 00 00 */ lbz r0, 0(r3) /* 8000A564 000061C4 2C 00 00 00 */ cmpwi r0, 0 /* 8000A568 000061C8 41 82 01 B0 */ beq lbl_8000A718 /* 8000A56C 000061CC 88 03 00 01 */ lbz r0, 1(r3) /* 8000A570 000061D0 2C 00 00 00 */ cmpwi r0, 0 /* 8000A574 000061D4 41 82 00 40 */ beq lbl_8000A5B4 /* 8000A578 000061D8 88 83 00 02 */ lbz r4, 2(r3) /* 8000A57C 000061DC 4B FF F4 71 */ bl func_800099EC /* 8000A580 000061E0 38 60 00 00 */ li r3, 0 /* 8000A584 000061E4 48 27 6E 8D */ bl GXSetCullMode /* 8000A588 000061E8 38 61 00 38 */ addi r3, r1, 0x38 /* 8000A58C 000061EC 48 27 19 A1 */ bl PSMTXIdentity /* 8000A590 000061F0 38 61 00 38 */ addi r3, r1, 0x38 /* 8000A594 000061F4 38 80 00 03 */ li r4, 3 /* 8000A598 000061F8 48 27 C4 F1 */ bl GXLoadPosMtxImm /* 8000A59C 000061FC 7F E3 FB 78 */ mr r3, r31 /* 8000A5A0 00006200 4B FF F4 D9 */ bl func_80009A78 /* 8000A5A4 00006204 48 38 FC F9 */ bl HBMDraw /* 8000A5A8 00006208 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8000A5AC 0000620C 48 23 03 B1 */ bl func_8023A95C /* 8000A5B0 00006210 48 00 01 68 */ b lbl_8000A718 lbl_8000A5B4: /* 8000A5B4 00006214 88 03 00 0C */ lbz r0, 0xc(r3) /* 8000A5B8 00006218 2C 00 00 00 */ cmpwi r0, 0 /* 8000A5BC 0000621C 41 82 01 5C */ beq lbl_8000A718 /* 8000A5C0 00006220 88 83 00 02 */ lbz r4, 2(r3) /* 8000A5C4 00006224 4B FF F4 29 */ bl func_800099EC /* 8000A5C8 00006228 38 60 00 00 */ li r3, 0 /* 8000A5CC 0000622C 48 27 6E 45 */ bl GXSetCullMode /* 8000A5D0 00006230 38 61 00 08 */ addi r3, r1, 8 /* 8000A5D4 00006234 48 27 19 59 */ bl PSMTXIdentity /* 8000A5D8 00006238 38 61 00 08 */ addi r3, r1, 8 /* 8000A5DC 0000623C 38 80 00 03 */ li r4, 3 /* 8000A5E0 00006240 48 27 C4 A9 */ bl GXLoadPosMtxImm /* 8000A5E4 00006244 7F E3 FB 78 */ mr r3, r31 /* 8000A5E8 00006248 4B FF F4 91 */ bl func_80009A78 /* 8000A5EC 0000624C 48 26 81 E5 */ bl OSGetTick /* 8000A5F0 00006250 3C 80 80 00 */ lis r4, 0x800000F8@ha /* 8000A5F4 00006254 3C A0 10 62 */ lis r5, 0x10624DD3@ha /* 8000A5F8 00006258 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4) /* 8000A5FC 0000625C 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l /* 8000A600 00006260 3C 80 43 30 */ lis r4, 0x4330 /* 8000A604 00006264 80 FF 00 10 */ lwz r7, 0x10(r31) /* 8000A608 00006268 54 05 F0 BE */ srwi r5, r0, 2 /* 8000A60C 0000626C 88 1F 00 0E */ lbz r0, 0xe(r31) /* 8000A610 00006270 7C A6 28 16 */ mulhwu r5, r6, r5 /* 8000A614 00006274 7C C7 18 50 */ subf r6, r7, r3 /* 8000A618 00006278 7C 00 07 74 */ extsb r0, r0 /* 8000A61C 0000627C 90 81 00 68 */ stw r4, 0x68(r1) /* 8000A620 00006280 C8 22 80 68 */ lfd f1, lbl_80640668-_SDA2_BASE_(r2) /* 8000A624 00006284 2C 00 00 01 */ cmpwi r0, 1 /* 8000A628 00006288 54 A3 D1 BE */ srwi r3, r5, 6 /* 8000A62C 0000628C 7C 66 1B 96 */ divwu r3, r6, r3 /* 8000A630 00006290 90 61 00 6C */ stw r3, 0x6c(r1) /* 8000A634 00006294 C8 01 00 68 */ lfd f0, 0x68(r1) /* 8000A638 00006298 EC 60 08 28 */ fsubs f3, f0, f1 /* 8000A63C 0000629C 41 82 00 68 */ beq lbl_8000A6A4 /* 8000A640 000062A0 40 80 00 10 */ bge lbl_8000A650 /* 8000A644 000062A4 2C 00 00 00 */ cmpwi r0, 0 /* 8000A648 000062A8 40 80 00 14 */ bge lbl_8000A65C /* 8000A64C 000062AC 48 00 00 B8 */ b lbl_8000A704 lbl_8000A650: /* 8000A650 000062B0 2C 00 00 03 */ cmpwi r0, 3 /* 8000A654 000062B4 40 80 00 B0 */ bge lbl_8000A704 /* 8000A658 000062B8 48 00 00 70 */ b lbl_8000A6C8 lbl_8000A65C: /* 8000A65C 000062BC C0 42 80 5C */ lfs f2, lbl_8064065C-_SDA2_BASE_(r2) /* 8000A660 000062C0 C0 02 80 58 */ lfs f0, lbl_80640658-_SDA2_BASE_(r2) /* 8000A664 000062C4 EC 23 10 24 */ fdivs f1, f3, f2 /* 8000A668 000062C8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8000A66C 000062CC FC 03 10 40 */ fcmpo cr0, f3, f2 /* 8000A670 000062D0 FC 00 00 1E */ fctiwz f0, f0 /* 8000A674 000062D4 D8 01 00 68 */ stfd f0, 0x68(r1) /* 8000A678 000062D8 80 01 00 6C */ lwz r0, 0x6c(r1) /* 8000A67C 000062DC 98 1F 00 14 */ stb r0, 0x14(r31) /* 8000A680 000062E0 4C 41 13 82 */ cror 2, 1, 2 /* 8000A684 000062E4 40 82 00 80 */ bne lbl_8000A704 /* 8000A688 000062E8 48 26 81 49 */ bl OSGetTick /* 8000A68C 000062EC 38 80 00 01 */ li r4, 1 /* 8000A690 000062F0 38 00 00 FF */ li r0, 0xff /* 8000A694 000062F4 90 7F 00 10 */ stw r3, 0x10(r31) /* 8000A698 000062F8 98 9F 00 0E */ stb r4, 0xe(r31) /* 8000A69C 000062FC 98 1F 00 14 */ stb r0, 0x14(r31) /* 8000A6A0 00006300 48 00 00 64 */ b lbl_8000A704 lbl_8000A6A4: /* 8000A6A4 00006304 C0 02 80 60 */ lfs f0, lbl_80640660-_SDA2_BASE_(r2) /* 8000A6A8 00006308 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 8000A6AC 0000630C 4C 41 13 82 */ cror 2, 1, 2 /* 8000A6B0 00006310 40 82 00 54 */ bne lbl_8000A704 /* 8000A6B4 00006314 48 26 81 1D */ bl OSGetTick /* 8000A6B8 00006318 38 00 00 02 */ li r0, 2 /* 8000A6BC 0000631C 90 7F 00 10 */ stw r3, 0x10(r31) /* 8000A6C0 00006320 98 1F 00 0E */ stb r0, 0xe(r31) /* 8000A6C4 00006324 48 00 00 40 */ b lbl_8000A704 lbl_8000A6C8: /* 8000A6C8 00006328 C0 42 80 5C */ lfs f2, lbl_8064065C-_SDA2_BASE_(r2) /* 8000A6CC 0000632C C0 02 80 58 */ lfs f0, lbl_80640658-_SDA2_BASE_(r2) /* 8000A6D0 00006330 EC 22 18 28 */ fsubs f1, f2, f3 /* 8000A6D4 00006334 FC 03 10 40 */ fcmpo cr0, f3, f2 /* 8000A6D8 00006338 EC 21 10 24 */ fdivs f1, f1, f2 /* 8000A6DC 0000633C EC 00 00 72 */ fmuls f0, f0, f1 /* 8000A6E0 00006340 FC 00 00 1E */ fctiwz f0, f0 /* 8000A6E4 00006344 D8 01 00 68 */ stfd f0, 0x68(r1) /* 8000A6E8 00006348 80 01 00 6C */ lwz r0, 0x6c(r1) /* 8000A6EC 0000634C 98 1F 00 14 */ stb r0, 0x14(r31) /* 8000A6F0 00006350 4C 41 13 82 */ cror 2, 1, 2 /* 8000A6F4 00006354 40 82 00 10 */ bne lbl_8000A704 /* 8000A6F8 00006358 38 00 00 00 */ li r0, 0 /* 8000A6FC 0000635C 98 1F 00 14 */ stb r0, 0x14(r31) /* 8000A700 00006360 98 1F 00 0C */ stb r0, 0xc(r31) lbl_8000A704: /* 8000A704 00006364 88 9F 00 14 */ lbz r4, 0x14(r31) /* 8000A708 00006368 7F E3 FB 78 */ mr r3, r31 /* 8000A70C 0000636C 4B FF F4 39 */ bl func_80009B44 /* 8000A710 00006370 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8000A714 00006374 48 23 02 49 */ bl func_8023A95C lbl_8000A718: /* 8000A718 00006378 80 01 00 84 */ lwz r0, 0x84(r1) /* 8000A71C 0000637C 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8000A720 00006380 7C 08 03 A6 */ mtlr r0 /* 8000A724 00006384 38 21 00 80 */ addi r1, r1, 0x80 /* 8000A728 00006388 4E 80 00 20 */ blr .global func_8000A72C func_8000A72C: /* 8000A72C 0000638C 90 83 00 D0 */ stw r4, 0xd0(r3) /* 8000A730 00006390 4E 80 00 20 */ blr .global func_8000A734 func_8000A734: /* 8000A734 00006394 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 8000A738 00006398 4E 80 00 20 */ blr .global func_8000A73C func_8000A73C: /* 8000A73C 0000639C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8000A740 000063A0 7C 08 02 A6 */ mflr r0 /* 8000A744 000063A4 38 60 00 D4 */ li r3, 0xd4 /* 8000A748 000063A8 90 01 00 14 */ stw r0, 0x14(r1) /* 8000A74C 000063AC 48 1D 02 E5 */ bl __nw__FUl /* 8000A750 000063B0 2C 03 00 00 */ cmpwi r3, 0 /* 8000A754 000063B4 41 82 00 08 */ beq lbl_8000A75C /* 8000A758 000063B8 4B FF F1 F5 */ bl func_8000994C lbl_8000A75C: /* 8000A75C 000063BC 2C 03 00 00 */ cmpwi r3, 0 /* 8000A760 000063C0 90 6D 96 70 */ stw r3, lbl_8063E930-_SDA_BASE_(r13) /* 8000A764 000063C4 41 82 00 08 */ beq lbl_8000A76C /* 8000A768 000063C8 4B FF F8 F9 */ bl func_8000A060 lbl_8000A76C: /* 8000A76C 000063CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000A770 000063D0 7C 08 03 A6 */ mtlr r0 /* 8000A774 000063D4 38 21 00 10 */ addi r1, r1, 0x10 /* 8000A778 000063D8 4E 80 00 20 */ blr .global lbl_8000A77C lbl_8000A77C: /* 8000A77C 000063DC 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 8000A780 000063E0 2C 03 00 00 */ cmpwi r3, 0 /* 8000A784 000063E4 4D 82 00 20 */ beqlr /* 8000A788 000063E8 4B FF F9 68 */ b lbl_8000A0F0 /* 8000A78C 000063EC 4E 80 00 20 */ blr .global lbl_8000A790 lbl_8000A790: /* 8000A790 000063F0 80 6D 96 70 */ lwz r3, lbl_8063E930-_SDA_BASE_(r13) /* 8000A794 000063F4 2C 03 00 00 */ cmpwi r3, 0 /* 8000A798 000063F8 4D 82 00 20 */ beqlr /* 8000A79C 000063FC 4B FF FD B0 */ b lbl_8000A54C /* 8000A7A0 00006400 4E 80 00 20 */ blr .global func_8000A7A4 func_8000A7A4: /* 8000A7A4 00006404 38 A0 00 01 */ li r5, 1 /* 8000A7A8 00006408 38 6D 96 68 */ addi r3, r13, lbl_8063E928-_SDA_BASE_ /* 8000A7AC 0000640C 38 80 00 04 */ li r4, 4 /* 8000A7B0 00006410 38 00 00 00 */ li r0, 0 /* 8000A7B4 00006414 98 AD 96 68 */ stb r5, lbl_8063E928-_SDA_BASE_(r13) /* 8000A7B8 00006418 B0 83 00 02 */ sth r4, 2(r3) /* 8000A7BC 0000641C 98 03 00 04 */ stb r0, 4(r3) /* 8000A7C0 00006420 4E 80 00 20 */ blr