.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global Subdivide Subdivide: /* 80284950 002805B0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80284954 002805B4 7C 08 02 A6 */ mflr r0 /* 80284958 002805B8 2C 03 00 00 */ cmpwi r3, 0 /* 8028495C 002805BC 90 01 00 44 */ stw r0, 0x44(r1) /* 80284960 002805C0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80284964 002805C4 7C 7F 1B 78 */ mr r31, r3 /* 80284968 002805C8 93 C1 00 38 */ stw r30, 0x38(r1) /* 8028496C 002805CC 7C DE 33 78 */ mr r30, r6 /* 80284970 002805D0 93 A1 00 34 */ stw r29, 0x34(r1) /* 80284974 002805D4 7C BD 2B 78 */ mr r29, r5 /* 80284978 002805D8 93 81 00 30 */ stw r28, 0x30(r1) /* 8028497C 002805DC 7C 9C 23 78 */ mr r28, r4 /* 80284980 002805E0 40 82 00 AC */ bne lbl_80284A2C /* 80284984 002805E4 38 60 00 90 */ li r3, 0x90 /* 80284988 002805E8 38 80 00 03 */ li r4, 3 /* 8028498C 002805EC 38 A0 00 03 */ li r5, 3 /* 80284990 002805F0 4B FF C7 B9 */ bl GXBegin /* 80284994 002805F4 C0 5C 00 08 */ lfs f2, 8(r28) /* 80284998 002805F8 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8028499C 002805FC C0 3C 00 04 */ lfs f1, 4(r28) /* 802849A0 00280600 C0 1C 00 00 */ lfs f0, 0(r28) /* 802849A4 00280604 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 802849A8 00280608 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802849AC 0028060C D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802849B0 00280610 C0 5C 00 08 */ lfs f2, 8(r28) /* 802849B4 00280614 C0 3C 00 04 */ lfs f1, 4(r28) /* 802849B8 00280618 C0 1C 00 00 */ lfs f0, 0(r28) /* 802849BC 0028061C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802849C0 00280620 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802849C4 00280624 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802849C8 00280628 C0 5D 00 08 */ lfs f2, 8(r29) /* 802849CC 0028062C C0 3D 00 04 */ lfs f1, 4(r29) /* 802849D0 00280630 C0 1D 00 00 */ lfs f0, 0(r29) /* 802849D4 00280634 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802849D8 00280638 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802849DC 0028063C D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802849E0 00280640 C0 5D 00 08 */ lfs f2, 8(r29) /* 802849E4 00280644 C0 3D 00 04 */ lfs f1, 4(r29) /* 802849E8 00280648 C0 1D 00 00 */ lfs f0, 0(r29) /* 802849EC 0028064C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802849F0 00280650 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802849F4 00280654 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802849F8 00280658 C0 5E 00 08 */ lfs f2, 8(r30) /* 802849FC 0028065C C0 3E 00 04 */ lfs f1, 4(r30) /* 80284A00 00280660 C0 1E 00 00 */ lfs f0, 0(r30) /* 80284A04 00280664 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284A08 00280668 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80284A0C 0028066C D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80284A10 00280670 C0 5E 00 08 */ lfs f2, 8(r30) /* 80284A14 00280674 C0 3E 00 04 */ lfs f1, 4(r30) /* 80284A18 00280678 C0 1E 00 00 */ lfs f0, 0(r30) /* 80284A1C 0028067C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284A20 00280680 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80284A24 00280684 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80284A28 00280688 48 00 01 C0 */ b lbl_80284BE8 lbl_80284A2C: /* 80284A2C 0028068C C0 24 00 00 */ lfs f1, 0(r4) /* 80284A30 00280690 C0 05 00 00 */ lfs f0, 0(r5) /* 80284A34 00280694 EC 01 00 2A */ fadds f0, f1, f0 /* 80284A38 00280698 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80284A3C 0028069C EC 20 00 32 */ fmuls f1, f0, f0 /* 80284A40 002806A0 C0 45 00 00 */ lfs f2, 0(r5) /* 80284A44 002806A4 C0 06 00 00 */ lfs f0, 0(r6) /* 80284A48 002806A8 EC 02 00 2A */ fadds f0, f2, f0 /* 80284A4C 002806AC D0 01 00 14 */ stfs f0, 0x14(r1) /* 80284A50 002806B0 C0 46 00 00 */ lfs f2, 0(r6) /* 80284A54 002806B4 C0 04 00 00 */ lfs f0, 0(r4) /* 80284A58 002806B8 EC 02 00 2A */ fadds f0, f2, f0 /* 80284A5C 002806BC D0 01 00 08 */ stfs f0, 8(r1) /* 80284A60 002806C0 C0 44 00 04 */ lfs f2, 4(r4) /* 80284A64 002806C4 C0 05 00 04 */ lfs f0, 4(r5) /* 80284A68 002806C8 EC 02 00 2A */ fadds f0, f2, f0 /* 80284A6C 002806CC D0 01 00 24 */ stfs f0, 0x24(r1) /* 80284A70 002806D0 EC 00 00 32 */ fmuls f0, f0, f0 /* 80284A74 002806D4 C0 65 00 04 */ lfs f3, 4(r5) /* 80284A78 002806D8 C0 46 00 04 */ lfs f2, 4(r6) /* 80284A7C 002806DC EC 01 00 2A */ fadds f0, f1, f0 /* 80284A80 002806E0 EC 23 10 2A */ fadds f1, f3, f2 /* 80284A84 002806E4 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80284A88 002806E8 C0 46 00 04 */ lfs f2, 4(r6) /* 80284A8C 002806EC C0 24 00 04 */ lfs f1, 4(r4) /* 80284A90 002806F0 EC 22 08 2A */ fadds f1, f2, f1 /* 80284A94 002806F4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80284A98 002806F8 C0 44 00 08 */ lfs f2, 8(r4) /* 80284A9C 002806FC C0 25 00 08 */ lfs f1, 8(r5) /* 80284AA0 00280700 EC 22 08 2A */ fadds f1, f2, f1 /* 80284AA4 00280704 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80284AA8 00280708 EC 21 00 72 */ fmuls f1, f1, f1 /* 80284AAC 0028070C C0 65 00 08 */ lfs f3, 8(r5) /* 80284AB0 00280710 C0 46 00 08 */ lfs f2, 8(r6) /* 80284AB4 00280714 EC 21 00 2A */ fadds f1, f1, f0 /* 80284AB8 00280718 EC 03 10 2A */ fadds f0, f3, f2 /* 80284ABC 0028071C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80284AC0 00280720 C0 46 00 08 */ lfs f2, 8(r6) /* 80284AC4 00280724 C0 04 00 08 */ lfs f0, 8(r4) /* 80284AC8 00280728 EC 02 00 2A */ fadds f0, f2, f0 /* 80284ACC 0028072C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80284AD0 00280730 4B F4 FD 65 */ bl sqrt /* 80284AD4 00280734 FC C0 08 18 */ frsp f6, f1 /* 80284AD8 00280738 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80284ADC 0028073C C0 81 00 24 */ lfs f4, 0x24(r1) /* 80284AE0 00280740 C0 61 00 28 */ lfs f3, 0x28(r1) /* 80284AE4 00280744 EC A0 30 24 */ fdivs f5, f0, f6 /* 80284AE8 00280748 C0 21 00 14 */ lfs f1, 0x14(r1) /* 80284AEC 0028074C C0 01 00 18 */ lfs f0, 0x18(r1) /* 80284AF0 00280750 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 80284AF4 00280754 EC 84 30 24 */ fdivs f4, f4, f6 /* 80284AF8 00280758 D0 A1 00 20 */ stfs f5, 0x20(r1) /* 80284AFC 0028075C EC 63 30 24 */ fdivs f3, f3, f6 /* 80284B00 00280760 D0 81 00 24 */ stfs f4, 0x24(r1) /* 80284B04 00280764 EC 21 00 72 */ fmuls f1, f1, f1 /* 80284B08 00280768 D0 61 00 28 */ stfs f3, 0x28(r1) /* 80284B0C 0028076C EC 00 00 32 */ fmuls f0, f0, f0 /* 80284B10 00280770 EC 42 00 B2 */ fmuls f2, f2, f2 /* 80284B14 00280774 EC 01 00 2A */ fadds f0, f1, f0 /* 80284B18 00280778 EC 22 00 2A */ fadds f1, f2, f0 /* 80284B1C 0028077C 4B F4 FD 19 */ bl sqrt /* 80284B20 00280780 FC C0 08 18 */ frsp f6, f1 /* 80284B24 00280784 C0 01 00 14 */ lfs f0, 0x14(r1) /* 80284B28 00280788 C0 81 00 18 */ lfs f4, 0x18(r1) /* 80284B2C 0028078C C0 61 00 1C */ lfs f3, 0x1c(r1) /* 80284B30 00280790 EC A0 30 24 */ fdivs f5, f0, f6 /* 80284B34 00280794 C0 21 00 08 */ lfs f1, 8(r1) /* 80284B38 00280798 C0 01 00 0C */ lfs f0, 0xc(r1) /* 80284B3C 0028079C C0 41 00 10 */ lfs f2, 0x10(r1) /* 80284B40 002807A0 EC 84 30 24 */ fdivs f4, f4, f6 /* 80284B44 002807A4 D0 A1 00 14 */ stfs f5, 0x14(r1) /* 80284B48 002807A8 EC 63 30 24 */ fdivs f3, f3, f6 /* 80284B4C 002807AC D0 81 00 18 */ stfs f4, 0x18(r1) /* 80284B50 002807B0 EC 21 00 72 */ fmuls f1, f1, f1 /* 80284B54 002807B4 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 80284B58 002807B8 EC 00 00 32 */ fmuls f0, f0, f0 /* 80284B5C 002807BC EC 42 00 B2 */ fmuls f2, f2, f2 /* 80284B60 002807C0 EC 01 00 2A */ fadds f0, f1, f0 /* 80284B64 002807C4 EC 22 00 2A */ fadds f1, f2, f0 /* 80284B68 002807C8 4B F4 FC CD */ bl sqrt /* 80284B6C 002807CC FC 60 08 18 */ frsp f3, f1 /* 80284B70 002807D0 C0 41 00 08 */ lfs f2, 8(r1) /* 80284B74 002807D4 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80284B78 002807D8 3B FF FF FF */ addi r31, r31, -1 /* 80284B7C 002807DC C0 01 00 10 */ lfs f0, 0x10(r1) /* 80284B80 002807E0 7F 84 E3 78 */ mr r4, r28 /* 80284B84 002807E4 EC 42 18 24 */ fdivs f2, f2, f3 /* 80284B88 002807E8 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80284B8C 002807EC 38 A1 00 20 */ addi r5, r1, 0x20 /* 80284B90 002807F0 38 C1 00 08 */ addi r6, r1, 8 /* 80284B94 002807F4 EC 21 18 24 */ fdivs f1, f1, f3 /* 80284B98 002807F8 D0 41 00 08 */ stfs f2, 8(r1) /* 80284B9C 002807FC EC 00 18 24 */ fdivs f0, f0, f3 /* 80284BA0 00280800 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80284BA4 00280804 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80284BA8 00280808 4B FF FD A9 */ bl Subdivide /* 80284BAC 0028080C 7F A4 EB 78 */ mr r4, r29 /* 80284BB0 00280810 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80284BB4 00280814 38 A1 00 14 */ addi r5, r1, 0x14 /* 80284BB8 00280818 38 C1 00 20 */ addi r6, r1, 0x20 /* 80284BBC 0028081C 4B FF FD 95 */ bl Subdivide /* 80284BC0 00280820 7F C4 F3 78 */ mr r4, r30 /* 80284BC4 00280824 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80284BC8 00280828 38 A1 00 08 */ addi r5, r1, 8 /* 80284BCC 0028082C 38 C1 00 14 */ addi r6, r1, 0x14 /* 80284BD0 00280830 4B FF FD 81 */ bl Subdivide /* 80284BD4 00280834 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80284BD8 00280838 38 81 00 20 */ addi r4, r1, 0x20 /* 80284BDC 0028083C 38 A1 00 14 */ addi r5, r1, 0x14 /* 80284BE0 00280840 38 C1 00 08 */ addi r6, r1, 8 /* 80284BE4 00280844 4B FF FD 6D */ bl Subdivide lbl_80284BE8: /* 80284BE8 00280848 80 01 00 44 */ lwz r0, 0x44(r1) /* 80284BEC 0028084C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80284BF0 00280850 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80284BF4 00280854 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80284BF8 00280858 83 81 00 30 */ lwz r28, 0x30(r1) /* 80284BFC 0028085C 7C 08 03 A6 */ mtlr r0 /* 80284C00 00280860 38 21 00 40 */ addi r1, r1, 0x40 /* 80284C04 00280864 4E 80 00 20 */ blr .global GXDrawCylinder GXDrawCylinder: /* 80284C08 00280868 94 21 FC 40 */ stwu r1, -0x3c0(r1) /* 80284C0C 0028086C 7C 08 02 A6 */ mflr r0 /* 80284C10 00280870 90 01 03 C4 */ stw r0, 0x3c4(r1) /* 80284C14 00280874 DB E1 03 B0 */ stfd f31, 0x3b0(r1) /* 80284C18 00280878 F3 E1 03 B8 */ psq_st f31, 952(r1), 0, qr0 /* 80284C1C 0028087C DB C1 03 A0 */ stfd f30, 0x3a0(r1) /* 80284C20 00280880 F3 C1 03 A8 */ psq_st f30, 936(r1), 0, qr0 /* 80284C24 00280884 DB A1 03 90 */ stfd f29, 0x390(r1) /* 80284C28 00280888 F3 A1 03 98 */ psq_st f29, 920(r1), 0, qr0 /* 80284C2C 0028088C DB 81 03 80 */ stfd f28, 0x380(r1) /* 80284C30 00280890 F3 81 03 88 */ psq_st f28, 904(r1), 0, qr0 /* 80284C34 00280894 DB 61 03 70 */ stfd f27, 0x370(r1) /* 80284C38 00280898 F3 61 03 78 */ psq_st f27, 888(r1), 0, qr0 /* 80284C3C 0028089C DB 41 03 60 */ stfd f26, 0x360(r1) /* 80284C40 002808A0 F3 41 03 68 */ psq_st f26, 872(r1), 0, qr0 /* 80284C44 002808A4 DB 21 03 50 */ stfd f25, 0x350(r1) /* 80284C48 002808A8 F3 21 03 58 */ psq_st f25, 856(r1), 0, qr0 /* 80284C4C 002808AC 39 61 03 50 */ addi r11, r1, 0x350 /* 80284C50 002808B0 4B F4 24 D9 */ bl _savegpr_27 /* 80284C54 002808B4 C3 E2 A1 D0 */ lfs f31, lbl_806427D0-_SDA2_BASE_(r2) /* 80284C58 002808B8 3C 80 80 51 */ lis r4, lbl_80515FF8@ha /* 80284C5C 002808BC 7C 7E 1B 78 */ mr r30, r3 /* 80284C60 002808C0 FF C0 F8 50 */ fneg f30, f31 /* 80284C64 002808C4 38 64 5F F8 */ addi r3, r4, lbl_80515FF8@l /* 80284C68 002808C8 4B FF AF 8D */ bl GXGetVtxDescv /* 80284C6C 002808CC 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80284C70 002808D0 38 60 00 03 */ li r3, 3 /* 80284C74 002808D4 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80284C78 002808D8 4B FF B6 91 */ bl GXGetVtxAttrFmtv /* 80284C7C 002808DC 4B FF B0 09 */ bl GXClearVtxDesc /* 80284C80 002808E0 38 60 00 09 */ li r3, 9 /* 80284C84 002808E4 38 80 00 01 */ li r4, 1 /* 80284C88 002808E8 4B FF A7 6D */ bl GXSetVtxDesc /* 80284C8C 002808EC 38 60 00 0A */ li r3, 0xa /* 80284C90 002808F0 38 80 00 01 */ li r4, 1 /* 80284C94 002808F4 4B FF A7 61 */ bl GXSetVtxDesc /* 80284C98 002808F8 38 60 00 03 */ li r3, 3 /* 80284C9C 002808FC 38 80 00 09 */ li r4, 9 /* 80284CA0 00280900 38 A0 00 01 */ li r5, 1 /* 80284CA4 00280904 38 C0 00 04 */ li r6, 4 /* 80284CA8 00280908 38 E0 00 00 */ li r7, 0 /* 80284CAC 0028090C 4B FF B0 0D */ bl GXSetVtxAttrFmt /* 80284CB0 00280910 38 60 00 03 */ li r3, 3 /* 80284CB4 00280914 38 80 00 0A */ li r4, 0xa /* 80284CB8 00280918 38 A0 00 00 */ li r5, 0 /* 80284CBC 0028091C 38 C0 00 04 */ li r6, 4 /* 80284CC0 00280920 38 E0 00 00 */ li r7, 0 /* 80284CC4 00280924 4B FF AF F5 */ bl GXSetVtxAttrFmt /* 80284CC8 00280928 CB 42 A1 E8 */ lfd f26, lbl_806427E8-_SDA2_BASE_(r2) /* 80284CCC 0028092C 3B A1 01 98 */ addi r29, r1, 0x198 /* 80284CD0 00280930 C3 62 A1 D8 */ lfs f27, lbl_806427D8-_SDA2_BASE_(r2) /* 80284CD4 00280934 3B 81 00 08 */ addi r28, r1, 8 /* 80284CD8 00280938 C3 82 A1 D4 */ lfs f28, lbl_806427D4-_SDA2_BASE_(r2) /* 80284CDC 0028093C 3B 60 00 00 */ li r27, 0 /* 80284CE0 00280940 CB A2 A1 F0 */ lfd f29, lbl_806427F0-_SDA2_BASE_(r2) /* 80284CE4 00280944 3F E0 43 30 */ lis r31, 0x4330 /* 80284CE8 00280948 48 00 00 60 */ b lbl_80284D48 lbl_80284CEC: /* 80284CEC 0028094C 6F 60 80 00 */ xoris r0, r27, 0x8000 /* 80284CF0 00280950 93 E1 03 28 */ stw r31, 0x328(r1) /* 80284CF4 00280954 90 01 03 2C */ stw r0, 0x32c(r1) /* 80284CF8 00280958 C8 01 03 28 */ lfd f0, 0x328(r1) /* 80284CFC 0028095C 93 C1 03 34 */ stw r30, 0x334(r1) /* 80284D00 00280960 EC 00 D0 28 */ fsubs f0, f0, f26 /* 80284D04 00280964 93 E1 03 30 */ stw r31, 0x330(r1) /* 80284D08 00280968 EC 3B 00 32 */ fmuls f1, f27, f0 /* 80284D0C 0028096C C8 01 03 30 */ lfd f0, 0x330(r1) /* 80284D10 00280970 EC 00 E8 28 */ fsubs f0, f0, f29 /* 80284D14 00280974 EC 3C 00 72 */ fmuls f1, f28, f1 /* 80284D18 00280978 EF 21 00 24 */ fdivs f25, f1, f0 /* 80284D1C 0028097C FC 20 C8 90 */ fmr f1, f25 /* 80284D20 00280980 4B F4 F3 59 */ bl cos /* 80284D24 00280984 FC 00 08 18 */ frsp f0, f1 /* 80284D28 00280988 FC 20 C8 90 */ fmr f1, f25 /* 80284D2C 0028098C D0 1D 00 00 */ stfs f0, 0(r29) /* 80284D30 00280990 4B F4 F7 55 */ bl sin /* 80284D34 00280994 FC 00 08 18 */ frsp f0, f1 /* 80284D38 00280998 3B BD 00 04 */ addi r29, r29, 4 /* 80284D3C 0028099C 3B 7B 00 01 */ addi r27, r27, 1 /* 80284D40 002809A0 D0 1C 00 00 */ stfs f0, 0(r28) /* 80284D44 002809A4 3B 9C 00 04 */ addi r28, r28, 4 lbl_80284D48: /* 80284D48 002809A8 7C 1B F0 00 */ cmpw r27, r30 /* 80284D4C 002809AC 40 81 FF A0 */ ble lbl_80284CEC /* 80284D50 002809B0 38 1E 00 01 */ addi r0, r30, 1 /* 80284D54 002809B4 38 60 00 98 */ li r3, 0x98 /* 80284D58 002809B8 54 05 0C 3C */ rlwinm r5, r0, 1, 0x10, 0x1e /* 80284D5C 002809BC 38 80 00 03 */ li r4, 3 /* 80284D60 002809C0 4B FF C3 E9 */ bl GXBegin /* 80284D64 002809C4 2C 1E 00 00 */ cmpwi r30, 0 /* 80284D68 002809C8 38 A1 00 08 */ addi r5, r1, 8 /* 80284D6C 002809CC 38 C1 01 98 */ addi r6, r1, 0x198 /* 80284D70 002809D0 38 7E 00 01 */ addi r3, r30, 1 /* 80284D74 002809D4 3C 80 CC 01 */ lis r4, 0xcc01 /* 80284D78 002809D8 41 80 00 F4 */ blt lbl_80284E6C /* 80284D7C 002809DC 54 60 F8 7F */ rlwinm. r0, r3, 0x1f, 1, 0x1f /* 80284D80 002809E0 7C 09 03 A6 */ mtctr r0 /* 80284D84 002809E4 41 82 00 98 */ beq lbl_80284E1C lbl_80284D88: /* 80284D88 002809E8 C0 26 00 00 */ lfs f1, 0(r6) /* 80284D8C 002809EC C0 45 00 00 */ lfs f2, 0(r5) /* 80284D90 002809F0 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284D94 002809F4 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284D98 002809F8 D3 C4 80 00 */ stfs f30, -0x8000(r4) /* 80284D9C 002809FC D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284DA0 00280A00 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284DA4 00280A04 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284DA8 00280A08 D0 04 80 00 */ stfs f0, -0x8000(r4) /* 80284DAC 00280A0C D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284DB0 00280A10 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284DB4 00280A14 D3 E4 80 00 */ stfs f31, -0x8000(r4) /* 80284DB8 00280A18 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284DBC 00280A1C C0 26 00 04 */ lfs f1, 4(r6) /* 80284DC0 00280A20 38 C6 00 08 */ addi r6, r6, 8 /* 80284DC4 00280A24 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284DC8 00280A28 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284DCC 00280A2C C0 45 00 04 */ lfs f2, 4(r5) /* 80284DD0 00280A30 38 A5 00 08 */ addi r5, r5, 8 /* 80284DD4 00280A34 D0 04 80 00 */ stfs f0, -0x8000(r4) /* 80284DD8 00280A38 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284DDC 00280A3C D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284DE0 00280A40 D3 C4 80 00 */ stfs f30, -0x8000(r4) /* 80284DE4 00280A44 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284DE8 00280A48 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284DEC 00280A4C C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284DF0 00280A50 D0 04 80 00 */ stfs f0, -0x8000(r4) /* 80284DF4 00280A54 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284DF8 00280A58 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284DFC 00280A5C D3 E4 80 00 */ stfs f31, -0x8000(r4) /* 80284E00 00280A60 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284E04 00280A64 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284E08 00280A68 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284E0C 00280A6C D0 04 80 00 */ stfs f0, -0x8000(r4) /* 80284E10 00280A70 42 00 FF 78 */ bdnz lbl_80284D88 /* 80284E14 00280A74 70 63 00 01 */ andi. r3, r3, 1 /* 80284E18 00280A78 41 82 00 54 */ beq lbl_80284E6C lbl_80284E1C: /* 80284E1C 00280A7C 7C 69 03 A6 */ mtctr r3 lbl_80284E20: /* 80284E20 00280A80 C0 26 00 00 */ lfs f1, 0(r6) /* 80284E24 00280A84 38 C6 00 04 */ addi r6, r6, 4 /* 80284E28 00280A88 C0 45 00 00 */ lfs f2, 0(r5) /* 80284E2C 00280A8C 38 A5 00 04 */ addi r5, r5, 4 /* 80284E30 00280A90 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284E34 00280A94 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284E38 00280A98 D3 C4 80 00 */ stfs f30, -0x8000(r4) /* 80284E3C 00280A9C D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284E40 00280AA0 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284E44 00280AA4 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284E48 00280AA8 D0 04 80 00 */ stfs f0, -0x8000(r4) /* 80284E4C 00280AAC D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284E50 00280AB0 D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284E54 00280AB4 D3 E4 80 00 */ stfs f31, -0x8000(r4) /* 80284E58 00280AB8 D0 24 80 00 */ stfs f1, -0x8000(r4) /* 80284E5C 00280ABC D0 44 80 00 */ stfs f2, -0x8000(r4) /* 80284E60 00280AC0 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284E64 00280AC4 D0 04 80 00 */ stfs f0, -0x8000(r4) /* 80284E68 00280AC8 42 00 FF B8 */ bdnz lbl_80284E20 lbl_80284E6C: /* 80284E6C 00280ACC 3B FE 00 02 */ addi r31, r30, 2 /* 80284E70 00280AD0 38 60 00 A0 */ li r3, 0xa0 /* 80284E74 00280AD4 57 E5 04 3E */ clrlwi r5, r31, 0x10 /* 80284E78 00280AD8 38 80 00 03 */ li r4, 3 /* 80284E7C 00280ADC 4B FF C2 CD */ bl GXBegin /* 80284E80 00280AE0 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284E84 00280AE4 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80284E88 00280AE8 2C 9E 00 00 */ cmpwi cr1, r30, 0 /* 80284E8C 00280AEC 39 00 00 00 */ li r8, 0 /* 80284E90 00280AF0 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80284E94 00280AF4 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284E98 00280AF8 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284E9C 00280AFC D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80284EA0 00280B00 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284EA4 00280B04 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284EA8 00280B08 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284EAC 00280B0C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284EB0 00280B10 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80284EB4 00280B14 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284EB8 00280B18 41 84 02 80 */ blt cr1, lbl_80285138 /* 80284EBC 00280B1C 38 FE 00 01 */ addi r7, r30, 1 /* 80284EC0 00280B20 38 9E FF F8 */ addi r4, r30, -8 /* 80284EC4 00280B24 2C 07 00 08 */ cmpwi r7, 8 /* 80284EC8 00280B28 40 81 02 08 */ ble lbl_802850D0 /* 80284ECC 00280B2C 38 A0 00 00 */ li r5, 0 /* 80284ED0 00280B30 38 C0 00 00 */ li r6, 0 /* 80284ED4 00280B34 41 84 00 18 */ blt cr1, lbl_80284EEC /* 80284ED8 00280B38 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha /* 80284EDC 00280B3C 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l /* 80284EE0 00280B40 7C 1E 00 00 */ cmpw r30, r0 /* 80284EE4 00280B44 41 81 00 08 */ bgt lbl_80284EEC /* 80284EE8 00280B48 38 C0 00 01 */ li r6, 1 lbl_80284EEC: /* 80284EEC 00280B4C 2C 06 00 00 */ cmpwi r6, 0 /* 80284EF0 00280B50 41 82 00 28 */ beq lbl_80284F18 /* 80284EF4 00280B54 57 C0 00 01 */ rlwinm. r0, r30, 0, 0, 0 /* 80284EF8 00280B58 38 60 00 01 */ li r3, 1 /* 80284EFC 00280B5C 40 82 00 10 */ bne lbl_80284F0C /* 80284F00 00280B60 54 E0 00 01 */ rlwinm. r0, r7, 0, 0, 0 /* 80284F04 00280B64 41 82 00 08 */ beq lbl_80284F0C /* 80284F08 00280B68 38 60 00 00 */ li r3, 0 lbl_80284F0C: /* 80284F0C 00280B6C 2C 03 00 00 */ cmpwi r3, 0 /* 80284F10 00280B70 41 82 00 08 */ beq lbl_80284F18 /* 80284F14 00280B74 38 A0 00 01 */ li r5, 1 lbl_80284F18: /* 80284F18 00280B78 2C 05 00 00 */ cmpwi r5, 0 /* 80284F1C 00280B7C 41 82 01 B4 */ beq lbl_802850D0 /* 80284F20 00280B80 38 04 00 08 */ addi r0, r4, 8 /* 80284F24 00280B84 38 A1 00 08 */ addi r5, r1, 8 /* 80284F28 00280B88 54 00 E8 FE */ srwi r0, r0, 3 /* 80284F2C 00280B8C 38 C1 01 98 */ addi r6, r1, 0x198 /* 80284F30 00280B90 3C 60 CC 01 */ lis r3, 0xcc01 /* 80284F34 00280B94 7C 09 03 A6 */ mtctr r0 /* 80284F38 00280B98 2C 04 00 00 */ cmpwi r4, 0 /* 80284F3C 00280B9C 41 80 01 94 */ blt lbl_802850D0 lbl_80284F40: /* 80284F40 00280BA0 C0 05 00 00 */ lfs f0, 0(r5) /* 80284F44 00280BA4 C0 26 00 00 */ lfs f1, 0(r6) /* 80284F48 00280BA8 FC 40 00 50 */ fneg f2, f0 /* 80284F4C 00280BAC C0 05 00 04 */ lfs f0, 4(r5) /* 80284F50 00280BB0 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80284F54 00280BB4 C0 25 00 08 */ lfs f1, 8(r5) /* 80284F58 00280BB8 FC C0 00 50 */ fneg f6, f0 /* 80284F5C 00280BBC D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80284F60 00280BC0 C0 05 00 0C */ lfs f0, 0xc(r5) /* 80284F64 00280BC4 FC A0 08 50 */ fneg f5, f1 /* 80284F68 00280BC8 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80284F6C 00280BCC C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80284F70 00280BD0 FC 80 00 50 */ fneg f4, f0 /* 80284F74 00280BD4 C0 05 00 10 */ lfs f0, 0x10(r5) /* 80284F78 00280BD8 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80284F7C 00280BDC C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80284F80 00280BE0 FC 60 00 50 */ fneg f3, f0 /* 80284F84 00280BE4 C0 05 00 14 */ lfs f0, 0x14(r5) /* 80284F88 00280BE8 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80284F8C 00280BEC C0 22 A1 D0 */ lfs f1, lbl_806427D0-_SDA2_BASE_(r2) /* 80284F90 00280BF0 FC 40 00 50 */ fneg f2, f0 /* 80284F94 00280BF4 C0 06 00 04 */ lfs f0, 4(r6) /* 80284F98 00280BF8 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80284F9C 00280BFC C1 06 00 08 */ lfs f8, 8(r6) /* 80284FA0 00280C00 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FA4 00280C04 C0 E6 00 0C */ lfs f7, 0xc(r6) /* 80284FA8 00280C08 D0 C3 80 00 */ stfs f6, -0x8000(r3) /* 80284FAC 00280C0C C0 C6 00 10 */ lfs f6, 0x10(r6) /* 80284FB0 00280C10 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80284FB4 00280C14 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284FB8 00280C18 C0 26 00 14 */ lfs f1, 0x14(r6) /* 80284FBC 00280C1C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FC0 00280C20 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284FC4 00280C24 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FC8 00280C28 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80284FCC 00280C2C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FD0 00280C30 D1 03 80 00 */ stfs f8, -0x8000(r3) /* 80284FD4 00280C34 D0 A3 80 00 */ stfs f5, -0x8000(r3) /* 80284FD8 00280C38 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80284FDC 00280C3C C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284FE0 00280C40 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FE4 00280C44 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80284FE8 00280C48 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FEC 00280C4C C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80284FF0 00280C50 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80284FF4 00280C54 D0 E3 80 00 */ stfs f7, -0x8000(r3) /* 80284FF8 00280C58 D0 83 80 00 */ stfs f4, -0x8000(r3) /* 80284FFC 00280C5C D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80285000 00280C60 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285004 00280C64 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285008 00280C68 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 8028500C 00280C6C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285010 00280C70 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80285014 00280C74 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285018 00280C78 D0 C3 80 00 */ stfs f6, -0x8000(r3) /* 8028501C 00280C7C D0 63 80 00 */ stfs f3, -0x8000(r3) /* 80285020 00280C80 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80285024 00280C84 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285028 00280C88 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028502C 00280C8C C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285030 00280C90 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285034 00280C94 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80285038 00280C98 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028503C 00280C9C D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80285040 00280CA0 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80285044 00280CA4 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80285048 00280CA8 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 8028504C 00280CAC D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285050 00280CB0 C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80285054 00280CB4 39 08 00 08 */ addi r8, r8, 8 /* 80285058 00280CB8 C0 05 00 18 */ lfs f0, 0x18(r5) /* 8028505C 00280CBC D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80285060 00280CC0 C0 22 A1 D0 */ lfs f1, lbl_806427D0-_SDA2_BASE_(r2) /* 80285064 00280CC4 FC 40 00 50 */ fneg f2, f0 /* 80285068 00280CC8 C0 66 00 18 */ lfs f3, 0x18(r6) /* 8028506C 00280CCC D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80285070 00280CD0 C0 05 00 1C */ lfs f0, 0x1c(r5) /* 80285074 00280CD4 38 A5 00 20 */ addi r5, r5, 0x20 /* 80285078 00280CD8 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 8028507C 00280CDC C0 66 00 1C */ lfs f3, 0x1c(r6) /* 80285080 00280CE0 FC 20 00 50 */ fneg f1, f0 /* 80285084 00280CE4 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80285088 00280CE8 38 C6 00 20 */ addi r6, r6, 0x20 /* 8028508C 00280CEC D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 80285090 00280CF0 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285094 00280CF4 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285098 00280CF8 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 8028509C 00280CFC D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802850A0 00280D00 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 802850A4 00280D04 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802850A8 00280D08 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802850AC 00280D0C D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802850B0 00280D10 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 802850B4 00280D14 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802850B8 00280D18 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802850BC 00280D1C C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802850C0 00280D20 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802850C4 00280D24 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 802850C8 00280D28 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802850CC 00280D2C 42 00 FE 74 */ bdnz lbl_80284F40 lbl_802850D0: /* 802850D0 00280D30 38 1E 00 01 */ addi r0, r30, 1 /* 802850D4 00280D34 55 06 10 3A */ slwi r6, r8, 2 /* 802850D8 00280D38 38 81 00 08 */ addi r4, r1, 8 /* 802850DC 00280D3C 38 A1 01 98 */ addi r5, r1, 0x198 /* 802850E0 00280D40 7C 08 00 50 */ subf r0, r8, r0 /* 802850E4 00280D44 3C 60 CC 01 */ lis r3, 0xcc01 /* 802850E8 00280D48 7C 84 32 14 */ add r4, r4, r6 /* 802850EC 00280D4C 7C A5 32 14 */ add r5, r5, r6 /* 802850F0 00280D50 7C 09 03 A6 */ mtctr r0 /* 802850F4 00280D54 7C 08 F0 00 */ cmpw r8, r30 /* 802850F8 00280D58 41 81 00 40 */ bgt lbl_80285138 lbl_802850FC: /* 802850FC 00280D5C C0 04 00 00 */ lfs f0, 0(r4) /* 80285100 00280D60 38 84 00 04 */ addi r4, r4, 4 /* 80285104 00280D64 C0 25 00 00 */ lfs f1, 0(r5) /* 80285108 00280D68 38 A5 00 04 */ addi r5, r5, 4 /* 8028510C 00280D6C FC 00 00 50 */ fneg f0, f0 /* 80285110 00280D70 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80285114 00280D74 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285118 00280D78 D3 E3 80 00 */ stfs f31, -0x8000(r3) /* 8028511C 00280D7C C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285120 00280D80 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285124 00280D84 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285128 00280D88 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028512C 00280D8C C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80285130 00280D90 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285134 00280D94 42 00 FF C8 */ bdnz lbl_802850FC lbl_80285138: /* 80285138 00280D98 57 E5 04 3E */ clrlwi r5, r31, 0x10 /* 8028513C 00280D9C 38 60 00 A0 */ li r3, 0xa0 /* 80285140 00280DA0 38 80 00 03 */ li r4, 3 /* 80285144 00280DA4 4B FF C0 05 */ bl GXBegin /* 80285148 00280DA8 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 8028514C 00280DAC 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80285150 00280DB0 2C 9E 00 00 */ cmpwi cr1, r30, 0 /* 80285154 00280DB4 39 00 00 00 */ li r8, 0 /* 80285158 00280DB8 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8028515C 00280DBC C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285160 00280DC0 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285164 00280DC4 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 80285168 00280DC8 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 8028516C 00280DCC D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285170 00280DD0 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285174 00280DD4 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285178 00280DD8 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 8028517C 00280DDC D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285180 00280DE0 41 84 02 5C */ blt cr1, lbl_802853DC /* 80285184 00280DE4 38 FE 00 01 */ addi r7, r30, 1 /* 80285188 00280DE8 38 9E FF F8 */ addi r4, r30, -8 /* 8028518C 00280DEC 2C 07 00 08 */ cmpwi r7, 8 /* 80285190 00280DF0 40 81 01 E8 */ ble lbl_80285378 /* 80285194 00280DF4 38 A0 00 00 */ li r5, 0 /* 80285198 00280DF8 38 C0 00 00 */ li r6, 0 /* 8028519C 00280DFC 41 84 00 18 */ blt cr1, lbl_802851B4 /* 802851A0 00280E00 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha /* 802851A4 00280E04 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l /* 802851A8 00280E08 7C 1E 00 00 */ cmpw r30, r0 /* 802851AC 00280E0C 41 81 00 08 */ bgt lbl_802851B4 /* 802851B0 00280E10 38 C0 00 01 */ li r6, 1 lbl_802851B4: /* 802851B4 00280E14 2C 06 00 00 */ cmpwi r6, 0 /* 802851B8 00280E18 41 82 00 28 */ beq lbl_802851E0 /* 802851BC 00280E1C 57 C0 00 01 */ rlwinm. r0, r30, 0, 0, 0 /* 802851C0 00280E20 38 60 00 01 */ li r3, 1 /* 802851C4 00280E24 40 82 00 10 */ bne lbl_802851D4 /* 802851C8 00280E28 54 E0 00 01 */ rlwinm. r0, r7, 0, 0, 0 /* 802851CC 00280E2C 41 82 00 08 */ beq lbl_802851D4 /* 802851D0 00280E30 38 60 00 00 */ li r3, 0 lbl_802851D4: /* 802851D4 00280E34 2C 03 00 00 */ cmpwi r3, 0 /* 802851D8 00280E38 41 82 00 08 */ beq lbl_802851E0 /* 802851DC 00280E3C 38 A0 00 01 */ li r5, 1 lbl_802851E0: /* 802851E0 00280E40 2C 05 00 00 */ cmpwi r5, 0 /* 802851E4 00280E44 41 82 01 94 */ beq lbl_80285378 /* 802851E8 00280E48 38 04 00 08 */ addi r0, r4, 8 /* 802851EC 00280E4C 38 A1 00 08 */ addi r5, r1, 8 /* 802851F0 00280E50 54 00 E8 FE */ srwi r0, r0, 3 /* 802851F4 00280E54 38 C1 01 98 */ addi r6, r1, 0x198 /* 802851F8 00280E58 3C 60 CC 01 */ lis r3, 0xcc01 /* 802851FC 00280E5C 7C 09 03 A6 */ mtctr r0 /* 80285200 00280E60 2C 04 00 00 */ cmpwi r4, 0 /* 80285204 00280E64 41 80 01 74 */ blt lbl_80285378 lbl_80285208: /* 80285208 00280E68 C0 06 00 00 */ lfs f0, 0(r6) /* 8028520C 00280E6C C0 25 00 00 */ lfs f1, 0(r5) /* 80285210 00280E70 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285214 00280E74 C0 46 00 04 */ lfs f2, 4(r6) /* 80285218 00280E78 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 8028521C 00280E7C C0 25 00 04 */ lfs f1, 4(r5) /* 80285220 00280E80 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 80285224 00280E84 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285228 00280E88 C1 06 00 08 */ lfs f8, 8(r6) /* 8028522C 00280E8C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285230 00280E90 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285234 00280E94 C0 85 00 08 */ lfs f4, 8(r5) /* 80285238 00280E98 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028523C 00280E9C C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 80285240 00280EA0 C0 E6 00 0C */ lfs f7, 0xc(r6) /* 80285244 00280EA4 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285248 00280EA8 C0 65 00 0C */ lfs f3, 0xc(r5) /* 8028524C 00280EAC D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80285250 00280EB0 C0 C6 00 10 */ lfs f6, 0x10(r6) /* 80285254 00280EB4 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80285258 00280EB8 C0 45 00 10 */ lfs f2, 0x10(r5) /* 8028525C 00280EBC D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 80285260 00280EC0 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285264 00280EC4 C0 A6 00 14 */ lfs f5, 0x14(r6) /* 80285268 00280EC8 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028526C 00280ECC C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285270 00280ED0 C0 25 00 14 */ lfs f1, 0x14(r5) /* 80285274 00280ED4 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285278 00280ED8 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 8028527C 00280EDC D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285280 00280EE0 D1 03 80 00 */ stfs f8, -0x8000(r3) /* 80285284 00280EE4 D0 83 80 00 */ stfs f4, -0x8000(r3) /* 80285288 00280EE8 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 8028528C 00280EEC C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285290 00280EF0 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285294 00280EF4 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285298 00280EF8 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028529C 00280EFC C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 802852A0 00280F00 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852A4 00280F04 D0 E3 80 00 */ stfs f7, -0x8000(r3) /* 802852A8 00280F08 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802852AC 00280F0C D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 802852B0 00280F10 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802852B4 00280F14 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852B8 00280F18 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802852BC 00280F1C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852C0 00280F20 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 802852C4 00280F24 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852C8 00280F28 D0 C3 80 00 */ stfs f6, -0x8000(r3) /* 802852CC 00280F2C D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802852D0 00280F30 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 802852D4 00280F34 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802852D8 00280F38 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852DC 00280F3C C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802852E0 00280F40 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852E4 00280F44 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 802852E8 00280F48 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802852EC 00280F4C D0 A3 80 00 */ stfs f5, -0x8000(r3) /* 802852F0 00280F50 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802852F4 00280F54 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 802852F8 00280F58 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802852FC 00280F5C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285300 00280F60 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285304 00280F64 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285308 00280F68 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 8028530C 00280F6C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285310 00280F70 C0 06 00 18 */ lfs f0, 0x18(r6) /* 80285314 00280F74 39 08 00 08 */ addi r8, r8, 8 /* 80285318 00280F78 C0 46 00 1C */ lfs f2, 0x1c(r6) /* 8028531C 00280F7C 38 C6 00 20 */ addi r6, r6, 0x20 /* 80285320 00280F80 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285324 00280F84 C0 05 00 18 */ lfs f0, 0x18(r5) /* 80285328 00280F88 C0 25 00 1C */ lfs f1, 0x1c(r5) /* 8028532C 00280F8C 38 A5 00 20 */ addi r5, r5, 0x20 /* 80285330 00280F90 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285334 00280F94 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 80285338 00280F98 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 8028533C 00280F9C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285340 00280FA0 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285344 00280FA4 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285348 00280FA8 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 8028534C 00280FAC D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285350 00280FB0 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 80285354 00280FB4 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 80285358 00280FB8 D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 8028535C 00280FBC C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285360 00280FC0 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285364 00280FC4 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 80285368 00280FC8 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8028536C 00280FCC C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 80285370 00280FD0 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 80285374 00280FD4 42 00 FE 94 */ bdnz lbl_80285208 lbl_80285378: /* 80285378 00280FD8 38 1E 00 01 */ addi r0, r30, 1 /* 8028537C 00280FDC 55 06 10 3A */ slwi r6, r8, 2 /* 80285380 00280FE0 38 81 00 08 */ addi r4, r1, 8 /* 80285384 00280FE4 38 A1 01 98 */ addi r5, r1, 0x198 /* 80285388 00280FE8 7C 08 00 50 */ subf r0, r8, r0 /* 8028538C 00280FEC 3C 60 CC 01 */ lis r3, 0xcc01 /* 80285390 00280FF0 7C 84 32 14 */ add r4, r4, r6 /* 80285394 00280FF4 7C A5 32 14 */ add r5, r5, r6 /* 80285398 00280FF8 7C 09 03 A6 */ mtctr r0 /* 8028539C 00280FFC 7C 08 F0 00 */ cmpw r8, r30 /* 802853A0 00281000 41 81 00 3C */ bgt lbl_802853DC lbl_802853A4: /* 802853A4 00281004 C0 25 00 00 */ lfs f1, 0(r5) /* 802853A8 00281008 38 A5 00 04 */ addi r5, r5, 4 /* 802853AC 0028100C C0 04 00 00 */ lfs f0, 0(r4) /* 802853B0 00281010 38 84 00 04 */ addi r4, r4, 4 /* 802853B4 00281014 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802853B8 00281018 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802853BC 0028101C D3 C3 80 00 */ stfs f30, -0x8000(r3) /* 802853C0 00281020 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802853C4 00281024 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802853C8 00281028 C0 02 A1 DC */ lfs f0, lbl_806427DC-_SDA2_BASE_(r2) /* 802853CC 0028102C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802853D0 00281030 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 802853D4 00281034 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802853D8 00281038 42 00 FF CC */ bdnz lbl_802853A4 lbl_802853DC: /* 802853DC 0028103C 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802853E0 00281040 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 802853E4 00281044 4B FF A2 75 */ bl GXSetVtxDescv /* 802853E8 00281048 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 802853EC 0028104C 38 60 00 03 */ li r3, 3 /* 802853F0 00281050 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 802853F4 00281054 4B FF AA 65 */ bl GXSetVtxAttrFmtv /* 802853F8 00281058 E3 E1 03 B8 */ psq_l f31, 952(r1), 0, qr0 /* 802853FC 0028105C CB E1 03 B0 */ lfd f31, 0x3b0(r1) /* 80285400 00281060 E3 C1 03 A8 */ psq_l f30, 936(r1), 0, qr0 /* 80285404 00281064 CB C1 03 A0 */ lfd f30, 0x3a0(r1) /* 80285408 00281068 E3 A1 03 98 */ psq_l f29, 920(r1), 0, qr0 /* 8028540C 0028106C CB A1 03 90 */ lfd f29, 0x390(r1) /* 80285410 00281070 E3 81 03 88 */ psq_l f28, 904(r1), 0, qr0 /* 80285414 00281074 CB 81 03 80 */ lfd f28, 0x380(r1) /* 80285418 00281078 E3 61 03 78 */ psq_l f27, 888(r1), 0, qr0 /* 8028541C 0028107C CB 61 03 70 */ lfd f27, 0x370(r1) /* 80285420 00281080 E3 41 03 68 */ psq_l f26, 872(r1), 0, qr0 /* 80285424 00281084 CB 41 03 60 */ lfd f26, 0x360(r1) /* 80285428 00281088 E3 21 03 58 */ psq_l f25, 856(r1), 0, qr0 /* 8028542C 0028108C 39 61 03 50 */ addi r11, r1, 0x350 /* 80285430 00281090 CB 21 03 50 */ lfd f25, 0x350(r1) /* 80285434 00281094 4B F4 1D 41 */ bl _restgpr_27 /* 80285438 00281098 80 01 03 C4 */ lwz r0, 0x3c4(r1) /* 8028543C 0028109C 7C 08 03 A6 */ mtlr r0 /* 80285440 002810A0 38 21 03 C0 */ addi r1, r1, 0x3c0 /* 80285444 002810A4 4E 80 00 20 */ blr .global GXDrawTorus GXDrawTorus: /* 80285448 002810A8 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 8028544C 002810AC 7C 08 02 A6 */ mflr r0 /* 80285450 002810B0 90 01 00 E4 */ stw r0, 0xe4(r1) /* 80285454 002810B4 DB E1 00 D0 */ stfd f31, 0xd0(r1) /* 80285458 002810B8 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0 /* 8028545C 002810BC DB C1 00 C0 */ stfd f30, 0xc0(r1) /* 80285460 002810C0 F3 C1 00 C8 */ psq_st f30, 200(r1), 0, qr0 /* 80285464 002810C4 DB A1 00 B0 */ stfd f29, 0xb0(r1) /* 80285468 002810C8 F3 A1 00 B8 */ psq_st f29, 184(r1), 0, qr0 /* 8028546C 002810CC DB 81 00 A0 */ stfd f28, 0xa0(r1) /* 80285470 002810D0 F3 81 00 A8 */ psq_st f28, 168(r1), 0, qr0 /* 80285474 002810D4 DB 61 00 90 */ stfd f27, 0x90(r1) /* 80285478 002810D8 F3 61 00 98 */ psq_st f27, 152(r1), 0, qr0 /* 8028547C 002810DC DB 41 00 80 */ stfd f26, 0x80(r1) /* 80285480 002810E0 F3 41 00 88 */ psq_st f26, 136(r1), 0, qr0 /* 80285484 002810E4 DB 21 00 70 */ stfd f25, 0x70(r1) /* 80285488 002810E8 F3 21 00 78 */ psq_st f25, 120(r1), 0, qr0 /* 8028548C 002810EC DB 01 00 60 */ stfd f24, 0x60(r1) /* 80285490 002810F0 F3 01 00 68 */ psq_st f24, 104(r1), 0, qr0 /* 80285494 002810F4 DA E1 00 50 */ stfd f23, 0x50(r1) /* 80285498 002810F8 F2 E1 00 58 */ psq_st f23, 88(r1), 0, qr0 /* 8028549C 002810FC 39 61 00 50 */ addi r11, r1, 0x50 /* 802854A0 00281100 4B F4 1C 75 */ bl _savegpr_22 /* 802854A4 00281104 C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 802854A8 00281108 3C 00 43 30 */ lis r0, 0x4330 /* 802854AC 0028110C 7C 7B 1B 78 */ mr r27, r3 /* 802854B0 00281110 7C 9C 23 78 */ mr r28, r4 /* 802854B4 00281114 FF 00 08 90 */ fmr f24, f1 /* 802854B8 00281118 90 01 00 10 */ stw r0, 0x10(r1) /* 802854BC 0028111C EF 20 08 28 */ fsubs f25, f0, f1 /* 802854C0 00281120 C3 42 A1 F8 */ lfs f26, lbl_806427F8-_SDA2_BASE_(r2) /* 802854C4 00281124 90 01 00 18 */ stw r0, 0x18(r1) /* 802854C8 00281128 38 81 00 08 */ addi r4, r1, 8 /* 802854CC 0028112C 38 60 00 0D */ li r3, 0xd /* 802854D0 00281130 4B FF A5 71 */ bl GXGetVtxDesc /* 802854D4 00281134 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802854D8 00281138 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 802854DC 0028113C 4B FF A7 19 */ bl GXGetVtxDescv /* 802854E0 00281140 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 802854E4 00281144 38 60 00 03 */ li r3, 3 /* 802854E8 00281148 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 802854EC 0028114C 4B FF AE 1D */ bl GXGetVtxAttrFmtv /* 802854F0 00281150 4B FF A7 95 */ bl GXClearVtxDesc /* 802854F4 00281154 38 60 00 09 */ li r3, 9 /* 802854F8 00281158 38 80 00 01 */ li r4, 1 /* 802854FC 0028115C 4B FF 9E F9 */ bl GXSetVtxDesc /* 80285500 00281160 38 60 00 0A */ li r3, 0xa /* 80285504 00281164 38 80 00 01 */ li r4, 1 /* 80285508 00281168 4B FF 9E ED */ bl GXSetVtxDesc /* 8028550C 0028116C 38 60 00 03 */ li r3, 3 /* 80285510 00281170 38 80 00 09 */ li r4, 9 /* 80285514 00281174 38 A0 00 01 */ li r5, 1 /* 80285518 00281178 38 C0 00 04 */ li r6, 4 /* 8028551C 0028117C 38 E0 00 00 */ li r7, 0 /* 80285520 00281180 4B FF A7 99 */ bl GXSetVtxAttrFmt /* 80285524 00281184 38 60 00 03 */ li r3, 3 /* 80285528 00281188 38 80 00 0A */ li r4, 0xa /* 8028552C 0028118C 38 A0 00 00 */ li r5, 0 /* 80285530 00281190 38 C0 00 04 */ li r6, 4 /* 80285534 00281194 38 E0 00 00 */ li r7, 0 /* 80285538 00281198 4B FF A7 81 */ bl GXSetVtxAttrFmt /* 8028553C 0028119C 80 01 00 08 */ lwz r0, 8(r1) /* 80285540 002811A0 2C 00 00 00 */ cmpwi r0, 0 /* 80285544 002811A4 41 82 00 28 */ beq lbl_8028556C /* 80285548 002811A8 38 60 00 0D */ li r3, 0xd /* 8028554C 002811AC 38 80 00 01 */ li r4, 1 /* 80285550 002811B0 4B FF 9E A5 */ bl GXSetVtxDesc /* 80285554 002811B4 38 60 00 03 */ li r3, 3 /* 80285558 002811B8 38 80 00 0D */ li r4, 0xd /* 8028555C 002811BC 38 A0 00 01 */ li r5, 1 /* 80285560 002811C0 38 C0 00 04 */ li r6, 4 /* 80285564 002811C4 38 E0 00 00 */ li r7, 0 /* 80285568 002811C8 4B FF A7 51 */ bl GXSetVtxAttrFmt lbl_8028556C: /* 8028556C 002811CC 38 1C 00 01 */ addi r0, r28, 1 /* 80285570 002811D0 CB C2 A1 E8 */ lfd f30, lbl_806427E8-_SDA2_BASE_(r2) /* 80285574 002811D4 CB E2 A1 F0 */ lfd f31, lbl_806427F0-_SDA2_BASE_(r2) /* 80285578 002811D8 54 18 08 3C */ slwi r24, r0, 1 /* 8028557C 002811DC 3B E0 00 00 */ li r31, 0 /* 80285580 002811E0 3F 40 CC 01 */ lis r26, 0xcc01 /* 80285584 002811E4 48 00 02 24 */ b lbl_802857A8 lbl_80285588: /* 80285588 002811E8 57 05 04 3E */ clrlwi r5, r24, 0x10 /* 8028558C 002811EC 38 60 00 98 */ li r3, 0x98 /* 80285590 002811F0 38 80 00 03 */ li r4, 3 /* 80285594 002811F4 4B FF BB B5 */ bl GXBegin /* 80285598 002811F8 82 E1 00 08 */ lwz r23, 8(r1) /* 8028559C 002811FC 3B C0 00 00 */ li r30, 0 /* 802855A0 00281200 48 00 01 FC */ b lbl_8028579C lbl_802855A4: /* 802855A4 00281204 7C 1E E3 D6 */ divw r0, r30, r28 /* 802855A8 00281208 3B A0 00 01 */ li r29, 1 /* 802855AC 0028120C 7C 00 E1 D6 */ mullw r0, r0, r28 /* 802855B0 00281210 7C 00 F0 50 */ subf r0, r0, r30 /* 802855B4 00281214 6C 19 80 00 */ xoris r25, r0, 0x8000 lbl_802855B8: /* 802855B8 00281218 7E DF EA 14 */ add r22, r31, r29 /* 802855BC 0028121C 93 21 00 1C */ stw r25, 0x1c(r1) /* 802855C0 00281220 7C 16 DB D6 */ divw r0, r22, r27 /* 802855C4 00281224 C8 01 00 18 */ lfd f0, 0x18(r1) /* 802855C8 00281228 EF 60 F0 28 */ fsubs f27, f0, f30 /* 802855CC 0028122C EC 3B 06 B2 */ fmuls f1, f27, f26 /* 802855D0 00281230 7C 00 D9 D6 */ mullw r0, r0, r27 /* 802855D4 00281234 7C 00 B0 50 */ subf r0, r0, r22 /* 802855D8 00281238 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 802855DC 0028123C 90 01 00 14 */ stw r0, 0x14(r1) /* 802855E0 00281240 C8 01 00 10 */ lfd f0, 0x10(r1) /* 802855E4 00281244 93 81 00 14 */ stw r28, 0x14(r1) /* 802855E8 00281248 EF 80 F0 28 */ fsubs f28, f0, f30 /* 802855EC 0028124C C8 01 00 10 */ lfd f0, 0x10(r1) /* 802855F0 00281250 EC 00 F8 28 */ fsubs f0, f0, f31 /* 802855F4 00281254 EC 21 00 24 */ fdivs f1, f1, f0 /* 802855F8 00281258 4B F4 EA 81 */ bl cos /* 802855FC 0028125C 93 61 00 1C */ stw r27, 0x1c(r1) /* 80285600 00281260 EC 5C 06 B2 */ fmuls f2, f28, f26 /* 80285604 00281264 FF A0 08 18 */ frsp f29, f1 /* 80285608 00281268 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8028560C 0028126C EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285610 00281270 EC 22 00 24 */ fdivs f1, f2, f0 /* 80285614 00281274 4B F4 EA 65 */ bl cos /* 80285618 00281278 93 81 00 14 */ stw r28, 0x14(r1) /* 8028561C 0028127C FC 40 08 18 */ frsp f2, f1 /* 80285620 00281280 EC 3B 06 B2 */ fmuls f1, f27, f26 /* 80285624 00281284 C8 01 00 10 */ lfd f0, 0x10(r1) /* 80285628 00281288 EC 58 00 B2 */ fmuls f2, f24, f2 /* 8028562C 0028128C EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285630 00281290 EC 59 10 28 */ fsubs f2, f25, f2 /* 80285634 00281294 EC 21 00 24 */ fdivs f1, f1, f0 /* 80285638 00281298 EF A2 07 72 */ fmuls f29, f2, f29 /* 8028563C 0028129C 4B F4 EE 49 */ bl sin /* 80285640 002812A0 93 61 00 1C */ stw r27, 0x1c(r1) /* 80285644 002812A4 EC 5C 06 B2 */ fmuls f2, f28, f26 /* 80285648 002812A8 FE E0 08 18 */ frsp f23, f1 /* 8028564C 002812AC C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285650 002812B0 EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285654 002812B4 EC 22 00 24 */ fdivs f1, f2, f0 /* 80285658 002812B8 4B F4 EA 21 */ bl cos /* 8028565C 002812BC 93 61 00 14 */ stw r27, 0x14(r1) /* 80285660 002812C0 FC 40 08 18 */ frsp f2, f1 /* 80285664 002812C4 EC 3C 06 B2 */ fmuls f1, f28, f26 /* 80285668 002812C8 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8028566C 002812CC EC 58 00 B2 */ fmuls f2, f24, f2 /* 80285670 002812D0 EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285674 002812D4 EC 59 10 28 */ fsubs f2, f25, f2 /* 80285678 002812D8 EC 21 00 24 */ fdivs f1, f1, f0 /* 8028567C 002812DC EE E2 05 F2 */ fmuls f23, f2, f23 /* 80285680 002812E0 4B F4 EE 05 */ bl sin /* 80285684 002812E4 93 61 00 1C */ stw r27, 0x1c(r1) /* 80285688 002812E8 FC 40 08 18 */ frsp f2, f1 /* 8028568C 002812EC EC 3C 06 B2 */ fmuls f1, f28, f26 /* 80285690 002812F0 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285694 002812F4 D3 BA 80 00 */ stfs f29, -0x8000(r26) /* 80285698 002812F8 EC 58 00 B2 */ fmuls f2, f24, f2 /* 8028569C 002812FC EC 00 F8 28 */ fsubs f0, f0, f31 /* 802856A0 00281300 D2 FA 80 00 */ stfs f23, -0x8000(r26) /* 802856A4 00281304 EC 21 00 24 */ fdivs f1, f1, f0 /* 802856A8 00281308 D0 5A 80 00 */ stfs f2, -0x8000(r26) /* 802856AC 0028130C 4B F4 E9 CD */ bl cos /* 802856B0 00281310 93 81 00 14 */ stw r28, 0x14(r1) /* 802856B4 00281314 EC 5B 06 B2 */ fmuls f2, f27, f26 /* 802856B8 00281318 FE E0 08 18 */ frsp f23, f1 /* 802856BC 0028131C C8 01 00 10 */ lfd f0, 0x10(r1) /* 802856C0 00281320 EC 00 F8 28 */ fsubs f0, f0, f31 /* 802856C4 00281324 EC 22 00 24 */ fdivs f1, f2, f0 /* 802856C8 00281328 4B F4 E9 B1 */ bl cos /* 802856CC 0028132C 93 61 00 1C */ stw r27, 0x1c(r1) /* 802856D0 00281330 FC 40 08 18 */ frsp f2, f1 /* 802856D4 00281334 EC 3C 06 B2 */ fmuls f1, f28, f26 /* 802856D8 00281338 C8 01 00 18 */ lfd f0, 0x18(r1) /* 802856DC 0028133C FC 40 10 50 */ fneg f2, f2 /* 802856E0 00281340 EC 00 F8 28 */ fsubs f0, f0, f31 /* 802856E4 00281344 EF A2 05 F2 */ fmuls f29, f2, f23 /* 802856E8 00281348 EC 21 00 24 */ fdivs f1, f1, f0 /* 802856EC 0028134C 4B F4 E9 8D */ bl cos /* 802856F0 00281350 93 81 00 14 */ stw r28, 0x14(r1) /* 802856F4 00281354 EC 5B 06 B2 */ fmuls f2, f27, f26 /* 802856F8 00281358 FE E0 08 18 */ frsp f23, f1 /* 802856FC 0028135C C8 01 00 10 */ lfd f0, 0x10(r1) /* 80285700 00281360 EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285704 00281364 EC 22 00 24 */ fdivs f1, f2, f0 /* 80285708 00281368 4B F4 ED 7D */ bl sin /* 8028570C 0028136C 93 61 00 1C */ stw r27, 0x1c(r1) /* 80285710 00281370 FC 40 08 18 */ frsp f2, f1 /* 80285714 00281374 EC 3C 06 B2 */ fmuls f1, f28, f26 /* 80285718 00281378 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8028571C 0028137C FC 40 10 50 */ fneg f2, f2 /* 80285720 00281380 EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285724 00281384 EE E2 05 F2 */ fmuls f23, f2, f23 /* 80285728 00281388 EC 21 00 24 */ fdivs f1, f1, f0 /* 8028572C 0028138C 4B F4 ED 59 */ bl sin /* 80285730 00281390 D3 BA 80 00 */ stfs f29, -0x8000(r26) /* 80285734 00281394 FC 00 08 18 */ frsp f0, f1 /* 80285738 00281398 2C 17 00 00 */ cmpwi r23, 0 /* 8028573C 0028139C D2 FA 80 00 */ stfs f23, -0x8000(r26) /* 80285740 002813A0 D0 1A 80 00 */ stfs f0, -0x8000(r26) /* 80285744 002813A4 41 82 00 4C */ beq lbl_80285790 /* 80285748 002813A8 6E C3 80 00 */ xoris r3, r22, 0x8000 /* 8028574C 002813AC 93 61 00 1C */ stw r27, 0x1c(r1) /* 80285750 002813B0 6F C0 80 00 */ xoris r0, r30, 0x8000 /* 80285754 002813B4 90 61 00 14 */ stw r3, 0x14(r1) /* 80285758 002813B8 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8028575C 002813BC C8 21 00 10 */ lfd f1, 0x10(r1) /* 80285760 002813C0 93 81 00 1C */ stw r28, 0x1c(r1) /* 80285764 002813C4 EC 40 F8 28 */ fsubs f2, f0, f31 /* 80285768 002813C8 EC 61 F0 28 */ fsubs f3, f1, f30 /* 8028576C 002813CC 90 01 00 14 */ stw r0, 0x14(r1) /* 80285770 002813D0 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285774 002813D4 C8 21 00 10 */ lfd f1, 0x10(r1) /* 80285778 002813D8 EC 43 10 24 */ fdivs f2, f3, f2 /* 8028577C 002813DC EC 21 F0 28 */ fsubs f1, f1, f30 /* 80285780 002813E0 D0 5A 80 00 */ stfs f2, -0x8000(r26) /* 80285784 002813E4 EC 00 F8 28 */ fsubs f0, f0, f31 /* 80285788 002813E8 EC 01 00 24 */ fdivs f0, f1, f0 /* 8028578C 002813EC D0 1A 80 00 */ stfs f0, -0x8000(r26) lbl_80285790: /* 80285790 002813F0 37 BD FF FF */ addic. r29, r29, -1 /* 80285794 002813F4 40 80 FE 24 */ bge lbl_802855B8 /* 80285798 002813F8 3B DE 00 01 */ addi r30, r30, 1 lbl_8028579C: /* 8028579C 002813FC 7C 1E E0 00 */ cmpw r30, r28 /* 802857A0 00281400 40 81 FE 04 */ ble lbl_802855A4 /* 802857A4 00281404 3B FF 00 01 */ addi r31, r31, 1 lbl_802857A8: /* 802857A8 00281408 7C 1F D8 00 */ cmpw r31, r27 /* 802857AC 0028140C 41 80 FD DC */ blt lbl_80285588 /* 802857B0 00281410 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802857B4 00281414 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 802857B8 00281418 4B FF 9E A1 */ bl GXSetVtxDescv /* 802857BC 0028141C 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 802857C0 00281420 38 60 00 03 */ li r3, 3 /* 802857C4 00281424 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 802857C8 00281428 4B FF A6 91 */ bl GXSetVtxAttrFmtv /* 802857CC 0028142C E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0 /* 802857D0 00281430 CB E1 00 D0 */ lfd f31, 0xd0(r1) /* 802857D4 00281434 E3 C1 00 C8 */ psq_l f30, 200(r1), 0, qr0 /* 802857D8 00281438 CB C1 00 C0 */ lfd f30, 0xc0(r1) /* 802857DC 0028143C E3 A1 00 B8 */ psq_l f29, 184(r1), 0, qr0 /* 802857E0 00281440 CB A1 00 B0 */ lfd f29, 0xb0(r1) /* 802857E4 00281444 E3 81 00 A8 */ psq_l f28, 168(r1), 0, qr0 /* 802857E8 00281448 CB 81 00 A0 */ lfd f28, 0xa0(r1) /* 802857EC 0028144C E3 61 00 98 */ psq_l f27, 152(r1), 0, qr0 /* 802857F0 00281450 CB 61 00 90 */ lfd f27, 0x90(r1) /* 802857F4 00281454 E3 41 00 88 */ psq_l f26, 136(r1), 0, qr0 /* 802857F8 00281458 CB 41 00 80 */ lfd f26, 0x80(r1) /* 802857FC 0028145C E3 21 00 78 */ psq_l f25, 120(r1), 0, qr0 /* 80285800 00281460 CB 21 00 70 */ lfd f25, 0x70(r1) /* 80285804 00281464 E3 01 00 68 */ psq_l f24, 104(r1), 0, qr0 /* 80285808 00281468 CB 01 00 60 */ lfd f24, 0x60(r1) /* 8028580C 0028146C E2 E1 00 58 */ psq_l f23, 88(r1), 0, qr0 /* 80285810 00281470 39 61 00 50 */ addi r11, r1, 0x50 /* 80285814 00281474 CA E1 00 50 */ lfd f23, 0x50(r1) /* 80285818 00281478 4B F4 19 49 */ bl _restgpr_22 /* 8028581C 0028147C 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 80285820 00281480 7C 08 03 A6 */ mtlr r0 /* 80285824 00281484 38 21 00 E0 */ addi r1, r1, 0xe0 /* 80285828 00281488 4E 80 00 20 */ blr .global GXDrawSphere GXDrawSphere: /* 8028582C 0028148C 94 21 FE F0 */ stwu r1, -0x110(r1) /* 80285830 00281490 7C 08 02 A6 */ mflr r0 /* 80285834 00281494 90 01 01 14 */ stw r0, 0x114(r1) /* 80285838 00281498 DB E1 01 00 */ stfd f31, 0x100(r1) /* 8028583C 0028149C F3 E1 01 08 */ psq_st f31, 264(r1), 0, qr0 /* 80285840 002814A0 DB C1 00 F0 */ stfd f30, 0xf0(r1) /* 80285844 002814A4 F3 C1 00 F8 */ psq_st f30, 248(r1), 0, qr0 /* 80285848 002814A8 DB A1 00 E0 */ stfd f29, 0xe0(r1) /* 8028584C 002814AC F3 A1 00 E8 */ psq_st f29, 232(r1), 0, qr0 /* 80285850 002814B0 DB 81 00 D0 */ stfd f28, 0xd0(r1) /* 80285854 002814B4 F3 81 00 D8 */ psq_st f28, 216(r1), 0, qr0 /* 80285858 002814B8 DB 61 00 C0 */ stfd f27, 0xc0(r1) /* 8028585C 002814BC F3 61 00 C8 */ psq_st f27, 200(r1), 0, qr0 /* 80285860 002814C0 DB 41 00 B0 */ stfd f26, 0xb0(r1) /* 80285864 002814C4 F3 41 00 B8 */ psq_st f26, 184(r1), 0, qr0 /* 80285868 002814C8 DB 21 00 A0 */ stfd f25, 0xa0(r1) /* 8028586C 002814CC F3 21 00 A8 */ psq_st f25, 168(r1), 0, qr0 /* 80285870 002814D0 DB 01 00 90 */ stfd f24, 0x90(r1) /* 80285874 002814D4 F3 01 00 98 */ psq_st f24, 152(r1), 0, qr0 /* 80285878 002814D8 DA E1 00 80 */ stfd f23, 0x80(r1) /* 8028587C 002814DC F2 E1 00 88 */ psq_st f23, 136(r1), 0, qr0 /* 80285880 002814E0 DA C1 00 70 */ stfd f22, 0x70(r1) /* 80285884 002814E4 F2 C1 00 78 */ psq_st f22, 120(r1), 0, qr0 /* 80285888 002814E8 DA A1 00 60 */ stfd f21, 0x60(r1) /* 8028588C 002814EC F2 A1 00 68 */ psq_st f21, 104(r1), 0, qr0 /* 80285890 002814F0 DA 81 00 50 */ stfd f20, 0x50(r1) /* 80285894 002814F4 F2 81 00 58 */ psq_st f20, 88(r1), 0, qr0 /* 80285898 002814F8 DA 61 00 40 */ stfd f19, 0x40(r1) /* 8028589C 002814FC F2 61 00 48 */ psq_st f19, 72(r1), 0, qr0 /* 802858A0 00281500 39 61 00 40 */ addi r11, r1, 0x40 /* 802858A4 00281504 4B F4 18 7D */ bl _savegpr_25 /* 802858A8 00281508 3C 00 43 30 */ lis r0, 0x4330 /* 802858AC 0028150C 90 61 00 14 */ stw r3, 0x14(r1) /* 802858B0 00281510 7C 79 1B 78 */ mr r25, r3 /* 802858B4 00281514 C8 82 A1 F0 */ lfd f4, lbl_806427F0-_SDA2_BASE_(r2) /* 802858B8 00281518 90 01 00 10 */ stw r0, 0x10(r1) /* 802858BC 0028151C 7C 9A 23 78 */ mr r26, r4 /* 802858C0 00281520 C0 42 A1 D4 */ lfs f2, lbl_806427D4-_SDA2_BASE_(r2) /* 802858C4 00281524 38 60 00 0D */ li r3, 0xd /* 802858C8 00281528 90 81 00 1C */ stw r4, 0x1c(r1) /* 802858CC 0028152C 38 81 00 08 */ addi r4, r1, 8 /* 802858D0 00281530 C8 01 00 10 */ lfd f0, 0x10(r1) /* 802858D4 00281534 90 01 00 18 */ stw r0, 0x18(r1) /* 802858D8 00281538 EC 60 20 28 */ fsubs f3, f0, f4 /* 802858DC 0028153C C0 02 A1 F8 */ lfs f0, lbl_806427F8-_SDA2_BASE_(r2) /* 802858E0 00281540 C8 21 00 18 */ lfd f1, 0x18(r1) /* 802858E4 00281544 C3 42 A1 D0 */ lfs f26, lbl_806427D0-_SDA2_BASE_(r2) /* 802858E8 00281548 EC 21 20 28 */ fsubs f1, f1, f4 /* 802858EC 0028154C EF 22 18 24 */ fdivs f25, f2, f3 /* 802858F0 00281550 EF 00 08 24 */ fdivs f24, f0, f1 /* 802858F4 00281554 4B FF A1 4D */ bl GXGetVtxDesc /* 802858F8 00281558 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802858FC 0028155C 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80285900 00281560 4B FF A2 F5 */ bl GXGetVtxDescv /* 80285904 00281564 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80285908 00281568 38 60 00 03 */ li r3, 3 /* 8028590C 0028156C 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80285910 00281570 4B FF A9 F9 */ bl GXGetVtxAttrFmtv /* 80285914 00281574 4B FF A3 71 */ bl GXClearVtxDesc /* 80285918 00281578 38 60 00 09 */ li r3, 9 /* 8028591C 0028157C 38 80 00 01 */ li r4, 1 /* 80285920 00281580 4B FF 9A D5 */ bl GXSetVtxDesc /* 80285924 00281584 38 60 00 0A */ li r3, 0xa /* 80285928 00281588 38 80 00 01 */ li r4, 1 /* 8028592C 0028158C 4B FF 9A C9 */ bl GXSetVtxDesc /* 80285930 00281590 38 60 00 03 */ li r3, 3 /* 80285934 00281594 38 80 00 09 */ li r4, 9 /* 80285938 00281598 38 A0 00 01 */ li r5, 1 /* 8028593C 0028159C 38 C0 00 04 */ li r6, 4 /* 80285940 002815A0 38 E0 00 00 */ li r7, 0 /* 80285944 002815A4 4B FF A3 75 */ bl GXSetVtxAttrFmt /* 80285948 002815A8 38 60 00 03 */ li r3, 3 /* 8028594C 002815AC 38 80 00 0A */ li r4, 0xa /* 80285950 002815B0 38 A0 00 00 */ li r5, 0 /* 80285954 002815B4 38 C0 00 04 */ li r6, 4 /* 80285958 002815B8 38 E0 00 00 */ li r7, 0 /* 8028595C 002815BC 4B FF A3 5D */ bl GXSetVtxAttrFmt /* 80285960 002815C0 80 01 00 08 */ lwz r0, 8(r1) /* 80285964 002815C4 2C 00 00 00 */ cmpwi r0, 0 /* 80285968 002815C8 41 82 00 28 */ beq lbl_80285990 /* 8028596C 002815CC 38 60 00 0D */ li r3, 0xd /* 80285970 002815D0 38 80 00 01 */ li r4, 1 /* 80285974 002815D4 4B FF 9A 81 */ bl GXSetVtxDesc /* 80285978 002815D8 38 60 00 03 */ li r3, 3 /* 8028597C 002815DC 38 80 00 0D */ li r4, 0xd /* 80285980 002815E0 38 A0 00 01 */ li r5, 1 /* 80285984 002815E4 38 C0 00 04 */ li r6, 4 /* 80285988 002815E8 38 E0 00 00 */ li r7, 0 /* 8028598C 002815EC 4B FF A3 2D */ bl GXSetVtxAttrFmt lbl_80285990: /* 80285990 002815F0 38 1A 00 01 */ addi r0, r26, 1 /* 80285994 002815F4 CB 82 A1 E8 */ lfd f28, lbl_806427E8-_SDA2_BASE_(r2) /* 80285998 002815F8 CB C2 A1 F0 */ lfd f30, lbl_806427F0-_SDA2_BASE_(r2) /* 8028599C 002815FC 54 1E 08 3C */ slwi r30, r0, 1 /* 802859A0 00281600 3B 80 00 00 */ li r28, 0 /* 802859A4 00281604 3F E0 CC 01 */ lis r31, 0xcc01 /* 802859A8 00281608 48 00 01 B0 */ b lbl_80285B58 lbl_802859AC: /* 802859AC 0028160C 6F 80 80 00 */ xoris r0, r28, 0x8000 /* 802859B0 00281610 90 01 00 14 */ stw r0, 0x14(r1) /* 802859B4 00281614 C8 01 00 10 */ lfd f0, 0x10(r1) /* 802859B8 00281618 EC 00 E0 28 */ fsubs f0, f0, f28 /* 802859BC 0028161C EE 80 06 72 */ fmuls f20, f0, f25 /* 802859C0 00281620 FC 20 A0 90 */ fmr f1, f20 /* 802859C4 00281624 EE B4 C8 2A */ fadds f21, f20, f25 /* 802859C8 00281628 4B F4 EA BD */ bl sin /* 802859CC 0028162C FC 00 08 18 */ frsp f0, f1 /* 802859D0 00281630 FC 20 A8 90 */ fmr f1, f21 /* 802859D4 00281634 EE FA 00 32 */ fmuls f23, f26, f0 /* 802859D8 00281638 4B F4 EA AD */ bl sin /* 802859DC 0028163C FC 00 08 18 */ frsp f0, f1 /* 802859E0 00281640 FC 20 A0 90 */ fmr f1, f20 /* 802859E4 00281644 EE DA 00 32 */ fmuls f22, f26, f0 /* 802859E8 00281648 4B F4 E6 91 */ bl cos /* 802859EC 0028164C FC 00 08 18 */ frsp f0, f1 /* 802859F0 00281650 FC 20 A8 90 */ fmr f1, f21 /* 802859F4 00281654 EE BA 00 32 */ fmuls f21, f26, f0 /* 802859F8 00281658 4B F4 E6 81 */ bl cos /* 802859FC 0028165C FC 00 08 18 */ frsp f0, f1 /* 80285A00 00281660 57 C5 04 3E */ clrlwi r5, r30, 0x10 /* 80285A04 00281664 38 60 00 98 */ li r3, 0x98 /* 80285A08 00281668 38 80 00 03 */ li r4, 3 /* 80285A0C 0028166C EE 9A 00 32 */ fmuls f20, f26, f0 /* 80285A10 00281670 4B FF B7 39 */ bl GXBegin /* 80285A14 00281674 EF B4 D0 24 */ fdivs f29, f20, f26 /* 80285A18 00281678 83 A1 00 08 */ lwz r29, 8(r1) /* 80285A1C 0028167C 3B 60 00 00 */ li r27, 0 /* 80285A20 00281680 EF F5 D0 24 */ fdivs f31, f21, f26 /* 80285A24 00281684 48 00 01 28 */ b lbl_80285B4C lbl_80285A28: /* 80285A28 00281688 6F 60 80 00 */ xoris r0, r27, 0x8000 /* 80285A2C 0028168C 90 01 00 1C */ stw r0, 0x1c(r1) /* 80285A30 00281690 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285A34 00281694 EC 00 E0 28 */ fsubs f0, f0, f28 /* 80285A38 00281698 EE 60 06 32 */ fmuls f19, f0, f24 /* 80285A3C 0028169C FC 20 98 90 */ fmr f1, f19 /* 80285A40 002816A0 4B F4 E6 39 */ bl cos /* 80285A44 002816A4 FF 60 08 18 */ frsp f27, f1 /* 80285A48 002816A8 FC 20 98 90 */ fmr f1, f19 /* 80285A4C 002816AC 4B F4 EA 39 */ bl sin /* 80285A50 002816B0 FC 80 08 18 */ frsp f4, f1 /* 80285A54 002816B4 2C 1D 00 00 */ cmpwi r29, 0 /* 80285A58 002816B8 EC 5B 05 B2 */ fmuls f2, f27, f22 /* 80285A5C 002816BC EC 04 05 B2 */ fmuls f0, f4, f22 /* 80285A60 002816C0 D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80285A64 002816C4 EC 22 D0 24 */ fdivs f1, f2, f26 /* 80285A68 002816C8 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 80285A6C 002816CC D2 9F 80 00 */ stfs f20, -0x8000(r31) /* 80285A70 002816D0 EC 00 D0 24 */ fdivs f0, f0, f26 /* 80285A74 002816D4 D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 80285A78 002816D8 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 80285A7C 002816DC D3 BF 80 00 */ stfs f29, -0x8000(r31) /* 80285A80 002816E0 41 82 00 50 */ beq lbl_80285AD0 /* 80285A84 002816E4 6F 63 80 00 */ xoris r3, r27, 0x8000 /* 80285A88 002816E8 93 41 00 1C */ stw r26, 0x1c(r1) /* 80285A8C 002816EC 38 1C 00 01 */ addi r0, r28, 1 /* 80285A90 002816F0 90 61 00 14 */ stw r3, 0x14(r1) /* 80285A94 002816F4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80285A98 002816F8 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285A9C 002816FC C8 21 00 10 */ lfd f1, 0x10(r1) /* 80285AA0 00281700 93 21 00 1C */ stw r25, 0x1c(r1) /* 80285AA4 00281704 EC 40 F0 28 */ fsubs f2, f0, f30 /* 80285AA8 00281708 EC 61 E0 28 */ fsubs f3, f1, f28 /* 80285AAC 0028170C 90 01 00 14 */ stw r0, 0x14(r1) /* 80285AB0 00281710 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285AB4 00281714 C8 21 00 10 */ lfd f1, 0x10(r1) /* 80285AB8 00281718 EC 43 10 24 */ fdivs f2, f3, f2 /* 80285ABC 0028171C EC 21 E0 28 */ fsubs f1, f1, f28 /* 80285AC0 00281720 D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80285AC4 00281724 EC 00 F0 28 */ fsubs f0, f0, f30 /* 80285AC8 00281728 EC 01 00 24 */ fdivs f0, f1, f0 /* 80285ACC 0028172C D0 1F 80 00 */ stfs f0, -0x8000(r31) lbl_80285AD0: /* 80285AD0 00281730 EC 5B 05 F2 */ fmuls f2, f27, f23 /* 80285AD4 00281734 2C 1D 00 00 */ cmpwi r29, 0 /* 80285AD8 00281738 EC 04 05 F2 */ fmuls f0, f4, f23 /* 80285ADC 0028173C D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80285AE0 00281740 EC 22 D0 24 */ fdivs f1, f2, f26 /* 80285AE4 00281744 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 80285AE8 00281748 D2 BF 80 00 */ stfs f21, -0x8000(r31) /* 80285AEC 0028174C EC 00 D0 24 */ fdivs f0, f0, f26 /* 80285AF0 00281750 D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 80285AF4 00281754 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 80285AF8 00281758 D3 FF 80 00 */ stfs f31, -0x8000(r31) /* 80285AFC 0028175C 41 82 00 4C */ beq lbl_80285B48 /* 80285B00 00281760 6F 63 80 00 */ xoris r3, r27, 0x8000 /* 80285B04 00281764 93 41 00 1C */ stw r26, 0x1c(r1) /* 80285B08 00281768 6F 80 80 00 */ xoris r0, r28, 0x8000 /* 80285B0C 0028176C 90 61 00 14 */ stw r3, 0x14(r1) /* 80285B10 00281770 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285B14 00281774 C8 21 00 10 */ lfd f1, 0x10(r1) /* 80285B18 00281778 93 21 00 1C */ stw r25, 0x1c(r1) /* 80285B1C 0028177C EC 40 F0 28 */ fsubs f2, f0, f30 /* 80285B20 00281780 EC 61 E0 28 */ fsubs f3, f1, f28 /* 80285B24 00281784 90 01 00 14 */ stw r0, 0x14(r1) /* 80285B28 00281788 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80285B2C 0028178C C8 21 00 10 */ lfd f1, 0x10(r1) /* 80285B30 00281790 EC 43 10 24 */ fdivs f2, f3, f2 /* 80285B34 00281794 EC 21 E0 28 */ fsubs f1, f1, f28 /* 80285B38 00281798 D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80285B3C 0028179C EC 00 F0 28 */ fsubs f0, f0, f30 /* 80285B40 002817A0 EC 01 00 24 */ fdivs f0, f1, f0 /* 80285B44 002817A4 D0 1F 80 00 */ stfs f0, -0x8000(r31) lbl_80285B48: /* 80285B48 002817A8 3B 7B 00 01 */ addi r27, r27, 1 lbl_80285B4C: /* 80285B4C 002817AC 7C 1B D0 00 */ cmpw r27, r26 /* 80285B50 002817B0 40 81 FE D8 */ ble lbl_80285A28 /* 80285B54 002817B4 3B 9C 00 01 */ addi r28, r28, 1 lbl_80285B58: /* 80285B58 002817B8 7C 1C C8 00 */ cmpw r28, r25 /* 80285B5C 002817BC 41 80 FE 50 */ blt lbl_802859AC /* 80285B60 002817C0 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 80285B64 002817C4 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80285B68 002817C8 4B FF 9A F1 */ bl GXSetVtxDescv /* 80285B6C 002817CC 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80285B70 002817D0 38 60 00 03 */ li r3, 3 /* 80285B74 002817D4 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80285B78 002817D8 4B FF A2 E1 */ bl GXSetVtxAttrFmtv /* 80285B7C 002817DC E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0 /* 80285B80 002817E0 CB E1 01 00 */ lfd f31, 0x100(r1) /* 80285B84 002817E4 E3 C1 00 F8 */ psq_l f30, 248(r1), 0, qr0 /* 80285B88 002817E8 CB C1 00 F0 */ lfd f30, 0xf0(r1) /* 80285B8C 002817EC E3 A1 00 E8 */ psq_l f29, 232(r1), 0, qr0 /* 80285B90 002817F0 CB A1 00 E0 */ lfd f29, 0xe0(r1) /* 80285B94 002817F4 E3 81 00 D8 */ psq_l f28, 216(r1), 0, qr0 /* 80285B98 002817F8 CB 81 00 D0 */ lfd f28, 0xd0(r1) /* 80285B9C 002817FC E3 61 00 C8 */ psq_l f27, 200(r1), 0, qr0 /* 80285BA0 00281800 CB 61 00 C0 */ lfd f27, 0xc0(r1) /* 80285BA4 00281804 E3 41 00 B8 */ psq_l f26, 184(r1), 0, qr0 /* 80285BA8 00281808 CB 41 00 B0 */ lfd f26, 0xb0(r1) /* 80285BAC 0028180C E3 21 00 A8 */ psq_l f25, 168(r1), 0, qr0 /* 80285BB0 00281810 CB 21 00 A0 */ lfd f25, 0xa0(r1) /* 80285BB4 00281814 E3 01 00 98 */ psq_l f24, 152(r1), 0, qr0 /* 80285BB8 00281818 CB 01 00 90 */ lfd f24, 0x90(r1) /* 80285BBC 0028181C E2 E1 00 88 */ psq_l f23, 136(r1), 0, qr0 /* 80285BC0 00281820 CA E1 00 80 */ lfd f23, 0x80(r1) /* 80285BC4 00281824 E2 C1 00 78 */ psq_l f22, 120(r1), 0, qr0 /* 80285BC8 00281828 CA C1 00 70 */ lfd f22, 0x70(r1) /* 80285BCC 0028182C E2 A1 00 68 */ psq_l f21, 104(r1), 0, qr0 /* 80285BD0 00281830 CA A1 00 60 */ lfd f21, 0x60(r1) /* 80285BD4 00281834 E2 81 00 58 */ psq_l f20, 88(r1), 0, qr0 /* 80285BD8 00281838 CA 81 00 50 */ lfd f20, 0x50(r1) /* 80285BDC 0028183C E2 61 00 48 */ psq_l f19, 72(r1), 0, qr0 /* 80285BE0 00281840 39 61 00 40 */ addi r11, r1, 0x40 /* 80285BE4 00281844 CA 61 00 40 */ lfd f19, 0x40(r1) /* 80285BE8 00281848 4B F4 15 85 */ bl _restgpr_25 /* 80285BEC 0028184C 80 01 01 14 */ lwz r0, 0x114(r1) /* 80285BF0 00281850 7C 08 03 A6 */ mtlr r0 /* 80285BF4 00281854 38 21 01 10 */ addi r1, r1, 0x110 /* 80285BF8 00281858 4E 80 00 20 */ blr .global GXDrawCubeFace GXDrawCubeFace: /* 80285BFC 0028185C ED 61 20 2A */ fadds f11, f1, f4 /* 80285C00 00281860 C1 82 A1 FC */ lfs f12, lbl_806427FC-_SDA2_BASE_(r2) /* 80285C04 00281864 ED 42 28 2A */ fadds f10, f2, f5 /* 80285C08 00281868 C0 01 00 08 */ lfs f0, 8(r1) /* 80285C0C 0028186C ED 23 30 2A */ fadds f9, f3, f6 /* 80285C10 00281870 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285C14 00281874 ED 67 58 2A */ fadds f11, f7, f11 /* 80285C18 00281878 2C 03 00 00 */ cmpwi r3, 0 /* 80285C1C 0028187C ED 48 50 2A */ fadds f10, f8, f10 /* 80285C20 00281880 ED 20 48 2A */ fadds f9, f0, f9 /* 80285C24 00281884 ED 6C 02 F2 */ fmuls f11, f12, f11 /* 80285C28 00281888 ED 4C 02 B2 */ fmuls f10, f12, f10 /* 80285C2C 0028188C ED 2C 02 72 */ fmuls f9, f12, f9 /* 80285C30 00281890 D1 65 80 00 */ stfs f11, 0xCC008000@l(r5) /* 80285C34 00281894 D1 45 80 00 */ stfs f10, -0x8000(r5) /* 80285C38 00281898 D1 25 80 00 */ stfs f9, -0x8000(r5) /* 80285C3C 0028189C D0 25 80 00 */ stfs f1, -0x8000(r5) /* 80285C40 002818A0 D0 45 80 00 */ stfs f2, -0x8000(r5) /* 80285C44 002818A4 D0 65 80 00 */ stfs f3, -0x8000(r5) /* 80285C48 002818A8 41 82 00 1C */ beq lbl_80285C64 /* 80285C4C 002818AC D0 85 80 00 */ stfs f4, -0x8000(r5) /* 80285C50 002818B0 D0 A5 80 00 */ stfs f5, -0x8000(r5) /* 80285C54 002818B4 D0 C5 80 00 */ stfs f6, -0x8000(r5) /* 80285C58 002818B8 D0 E5 80 00 */ stfs f7, -0x8000(r5) /* 80285C5C 002818BC D1 05 80 00 */ stfs f8, -0x8000(r5) /* 80285C60 002818C0 D0 05 80 00 */ stfs f0, -0x8000(r5) lbl_80285C64: /* 80285C64 002818C4 2C 04 00 00 */ cmpwi r4, 0 /* 80285C68 002818C8 41 82 00 14 */ beq lbl_80285C7C /* 80285C6C 002818CC 38 00 00 01 */ li r0, 1 /* 80285C70 002818D0 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285C74 002818D4 98 05 80 00 */ stb r0, 0xCC008000@l(r5) /* 80285C78 002818D8 98 05 80 00 */ stb r0, -0x8000(r5) lbl_80285C7C: /* 80285C7C 002818DC ED 61 20 28 */ fsubs f11, f1, f4 /* 80285C80 002818E0 C1 82 A1 FC */ lfs f12, lbl_806427FC-_SDA2_BASE_(r2) /* 80285C84 002818E4 ED 42 28 28 */ fsubs f10, f2, f5 /* 80285C88 002818E8 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285C8C 002818EC ED 23 30 28 */ fsubs f9, f3, f6 /* 80285C90 002818F0 2C 03 00 00 */ cmpwi r3, 0 /* 80285C94 002818F4 ED 67 58 2A */ fadds f11, f7, f11 /* 80285C98 002818F8 ED 48 50 2A */ fadds f10, f8, f10 /* 80285C9C 002818FC ED 20 48 2A */ fadds f9, f0, f9 /* 80285CA0 00281900 ED 6C 02 F2 */ fmuls f11, f12, f11 /* 80285CA4 00281904 ED 4C 02 B2 */ fmuls f10, f12, f10 /* 80285CA8 00281908 ED 2C 02 72 */ fmuls f9, f12, f9 /* 80285CAC 0028190C D1 65 80 00 */ stfs f11, 0xCC008000@l(r5) /* 80285CB0 00281910 D1 45 80 00 */ stfs f10, -0x8000(r5) /* 80285CB4 00281914 D1 25 80 00 */ stfs f9, -0x8000(r5) /* 80285CB8 00281918 D0 25 80 00 */ stfs f1, -0x8000(r5) /* 80285CBC 0028191C D0 45 80 00 */ stfs f2, -0x8000(r5) /* 80285CC0 00281920 D0 65 80 00 */ stfs f3, -0x8000(r5) /* 80285CC4 00281924 41 82 00 1C */ beq lbl_80285CE0 /* 80285CC8 00281928 D0 85 80 00 */ stfs f4, -0x8000(r5) /* 80285CCC 0028192C D0 A5 80 00 */ stfs f5, -0x8000(r5) /* 80285CD0 00281930 D0 C5 80 00 */ stfs f6, -0x8000(r5) /* 80285CD4 00281934 D0 E5 80 00 */ stfs f7, -0x8000(r5) /* 80285CD8 00281938 D1 05 80 00 */ stfs f8, -0x8000(r5) /* 80285CDC 0028193C D0 05 80 00 */ stfs f0, -0x8000(r5) lbl_80285CE0: /* 80285CE0 00281940 2C 04 00 00 */ cmpwi r4, 0 /* 80285CE4 00281944 41 82 00 18 */ beq lbl_80285CFC /* 80285CE8 00281948 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285CEC 0028194C 38 00 00 00 */ li r0, 0 /* 80285CF0 00281950 98 05 80 00 */ stb r0, 0xCC008000@l(r5) /* 80285CF4 00281954 38 00 00 01 */ li r0, 1 /* 80285CF8 00281958 98 05 80 00 */ stb r0, -0x8000(r5) lbl_80285CFC: /* 80285CFC 0028195C ED 61 20 28 */ fsubs f11, f1, f4 /* 80285D00 00281960 C1 82 A1 FC */ lfs f12, lbl_806427FC-_SDA2_BASE_(r2) /* 80285D04 00281964 ED 42 28 28 */ fsubs f10, f2, f5 /* 80285D08 00281968 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285D0C 0028196C ED 23 30 28 */ fsubs f9, f3, f6 /* 80285D10 00281970 2C 03 00 00 */ cmpwi r3, 0 /* 80285D14 00281974 ED 6B 38 28 */ fsubs f11, f11, f7 /* 80285D18 00281978 ED 4A 40 28 */ fsubs f10, f10, f8 /* 80285D1C 0028197C ED 29 00 28 */ fsubs f9, f9, f0 /* 80285D20 00281980 ED 6C 02 F2 */ fmuls f11, f12, f11 /* 80285D24 00281984 ED 4C 02 B2 */ fmuls f10, f12, f10 /* 80285D28 00281988 ED 2C 02 72 */ fmuls f9, f12, f9 /* 80285D2C 0028198C D1 65 80 00 */ stfs f11, 0xCC008000@l(r5) /* 80285D30 00281990 D1 45 80 00 */ stfs f10, -0x8000(r5) /* 80285D34 00281994 D1 25 80 00 */ stfs f9, -0x8000(r5) /* 80285D38 00281998 D0 25 80 00 */ stfs f1, -0x8000(r5) /* 80285D3C 0028199C D0 45 80 00 */ stfs f2, -0x8000(r5) /* 80285D40 002819A0 D0 65 80 00 */ stfs f3, -0x8000(r5) /* 80285D44 002819A4 41 82 00 1C */ beq lbl_80285D60 /* 80285D48 002819A8 D0 85 80 00 */ stfs f4, -0x8000(r5) /* 80285D4C 002819AC D0 A5 80 00 */ stfs f5, -0x8000(r5) /* 80285D50 002819B0 D0 C5 80 00 */ stfs f6, -0x8000(r5) /* 80285D54 002819B4 D0 E5 80 00 */ stfs f7, -0x8000(r5) /* 80285D58 002819B8 D1 05 80 00 */ stfs f8, -0x8000(r5) /* 80285D5C 002819BC D0 05 80 00 */ stfs f0, -0x8000(r5) lbl_80285D60: /* 80285D60 002819C0 2C 04 00 00 */ cmpwi r4, 0 /* 80285D64 002819C4 41 82 00 14 */ beq lbl_80285D78 /* 80285D68 002819C8 38 00 00 00 */ li r0, 0 /* 80285D6C 002819CC 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285D70 002819D0 98 05 80 00 */ stb r0, 0xCC008000@l(r5) /* 80285D74 002819D4 98 05 80 00 */ stb r0, -0x8000(r5) lbl_80285D78: /* 80285D78 002819D8 ED 61 20 2A */ fadds f11, f1, f4 /* 80285D7C 002819DC C1 82 A1 FC */ lfs f12, lbl_806427FC-_SDA2_BASE_(r2) /* 80285D80 002819E0 ED 42 28 2A */ fadds f10, f2, f5 /* 80285D84 002819E4 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80285D88 002819E8 ED 23 30 2A */ fadds f9, f3, f6 /* 80285D8C 002819EC 2C 03 00 00 */ cmpwi r3, 0 /* 80285D90 002819F0 ED 6B 38 28 */ fsubs f11, f11, f7 /* 80285D94 002819F4 ED 4A 40 28 */ fsubs f10, f10, f8 /* 80285D98 002819F8 ED 29 00 28 */ fsubs f9, f9, f0 /* 80285D9C 002819FC ED 6C 02 F2 */ fmuls f11, f12, f11 /* 80285DA0 00281A00 ED 4C 02 B2 */ fmuls f10, f12, f10 /* 80285DA4 00281A04 ED 2C 02 72 */ fmuls f9, f12, f9 /* 80285DA8 00281A08 D1 65 80 00 */ stfs f11, 0xCC008000@l(r5) /* 80285DAC 00281A0C D1 45 80 00 */ stfs f10, -0x8000(r5) /* 80285DB0 00281A10 D1 25 80 00 */ stfs f9, -0x8000(r5) /* 80285DB4 00281A14 D0 25 80 00 */ stfs f1, -0x8000(r5) /* 80285DB8 00281A18 D0 45 80 00 */ stfs f2, -0x8000(r5) /* 80285DBC 00281A1C D0 65 80 00 */ stfs f3, -0x8000(r5) /* 80285DC0 00281A20 41 82 00 1C */ beq lbl_80285DDC /* 80285DC4 00281A24 D0 85 80 00 */ stfs f4, -0x8000(r5) /* 80285DC8 00281A28 D0 A5 80 00 */ stfs f5, -0x8000(r5) /* 80285DCC 00281A2C D0 C5 80 00 */ stfs f6, -0x8000(r5) /* 80285DD0 00281A30 D0 E5 80 00 */ stfs f7, -0x8000(r5) /* 80285DD4 00281A34 D1 05 80 00 */ stfs f8, -0x8000(r5) /* 80285DD8 00281A38 D0 05 80 00 */ stfs f0, -0x8000(r5) lbl_80285DDC: /* 80285DDC 00281A3C 2C 04 00 00 */ cmpwi r4, 0 /* 80285DE0 00281A40 4D 82 00 20 */ beqlr /* 80285DE4 00281A44 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80285DE8 00281A48 38 00 00 01 */ li r0, 1 /* 80285DEC 00281A4C 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80285DF0 00281A50 38 00 00 00 */ li r0, 0 /* 80285DF4 00281A54 98 03 80 00 */ stb r0, -0x8000(r3) /* 80285DF8 00281A58 4E 80 00 20 */ blr .global GXDrawCube GXDrawCube: /* 80285DFC 00281A5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80285E00 00281A60 7C 08 02 A6 */ mflr r0 /* 80285E04 00281A64 38 60 00 19 */ li r3, 0x19 /* 80285E08 00281A68 90 01 00 24 */ stw r0, 0x24(r1) /* 80285E0C 00281A6C 38 81 00 14 */ addi r4, r1, 0x14 /* 80285E10 00281A70 4B FF 9C 31 */ bl GXGetVtxDesc /* 80285E14 00281A74 38 81 00 10 */ addi r4, r1, 0x10 /* 80285E18 00281A78 38 60 00 0D */ li r3, 0xd /* 80285E1C 00281A7C 4B FF 9C 25 */ bl GXGetVtxDesc /* 80285E20 00281A80 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 80285E24 00281A84 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80285E28 00281A88 4B FF 9D CD */ bl GXGetVtxDescv /* 80285E2C 00281A8C 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80285E30 00281A90 38 60 00 03 */ li r3, 3 /* 80285E34 00281A94 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80285E38 00281A98 4B FF A4 D1 */ bl GXGetVtxAttrFmtv /* 80285E3C 00281A9C 4B FF 9E 49 */ bl GXClearVtxDesc /* 80285E40 00281AA0 38 60 00 09 */ li r3, 9 /* 80285E44 00281AA4 38 80 00 01 */ li r4, 1 /* 80285E48 00281AA8 4B FF 95 AD */ bl GXSetVtxDesc /* 80285E4C 00281AAC 38 60 00 0A */ li r3, 0xa /* 80285E50 00281AB0 38 80 00 01 */ li r4, 1 /* 80285E54 00281AB4 4B FF 95 A1 */ bl GXSetVtxDesc /* 80285E58 00281AB8 38 60 00 03 */ li r3, 3 /* 80285E5C 00281ABC 38 80 00 09 */ li r4, 9 /* 80285E60 00281AC0 38 A0 00 01 */ li r5, 1 /* 80285E64 00281AC4 38 C0 00 04 */ li r6, 4 /* 80285E68 00281AC8 38 E0 00 00 */ li r7, 0 /* 80285E6C 00281ACC 4B FF 9E 4D */ bl GXSetVtxAttrFmt /* 80285E70 00281AD0 38 60 00 03 */ li r3, 3 /* 80285E74 00281AD4 38 80 00 0A */ li r4, 0xa /* 80285E78 00281AD8 38 A0 00 00 */ li r5, 0 /* 80285E7C 00281ADC 38 C0 00 04 */ li r6, 4 /* 80285E80 00281AE0 38 E0 00 00 */ li r7, 0 /* 80285E84 00281AE4 4B FF 9E 35 */ bl GXSetVtxAttrFmt /* 80285E88 00281AE8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80285E8C 00281AEC 2C 00 00 00 */ cmpwi r0, 0 /* 80285E90 00281AF0 41 82 00 28 */ beq lbl_80285EB8 /* 80285E94 00281AF4 38 60 00 19 */ li r3, 0x19 /* 80285E98 00281AF8 38 80 00 01 */ li r4, 1 /* 80285E9C 00281AFC 4B FF 95 59 */ bl GXSetVtxDesc /* 80285EA0 00281B00 38 60 00 03 */ li r3, 3 /* 80285EA4 00281B04 38 80 00 19 */ li r4, 0x19 /* 80285EA8 00281B08 38 A0 00 01 */ li r5, 1 /* 80285EAC 00281B0C 38 C0 00 04 */ li r6, 4 /* 80285EB0 00281B10 38 E0 00 00 */ li r7, 0 /* 80285EB4 00281B14 4B FF 9E 05 */ bl GXSetVtxAttrFmt lbl_80285EB8: /* 80285EB8 00281B18 80 01 00 10 */ lwz r0, 0x10(r1) /* 80285EBC 00281B1C 2C 00 00 00 */ cmpwi r0, 0 /* 80285EC0 00281B20 41 82 00 28 */ beq lbl_80285EE8 /* 80285EC4 00281B24 38 60 00 0D */ li r3, 0xd /* 80285EC8 00281B28 38 80 00 01 */ li r4, 1 /* 80285ECC 00281B2C 4B FF 95 29 */ bl GXSetVtxDesc /* 80285ED0 00281B30 38 60 00 03 */ li r3, 3 /* 80285ED4 00281B34 38 80 00 0D */ li r4, 0xd /* 80285ED8 00281B38 38 A0 00 01 */ li r5, 1 /* 80285EDC 00281B3C 38 C0 00 01 */ li r6, 1 /* 80285EE0 00281B40 38 E0 00 00 */ li r7, 0 /* 80285EE4 00281B44 4B FF 9D D5 */ bl GXSetVtxAttrFmt lbl_80285EE8: /* 80285EE8 00281B48 38 60 00 80 */ li r3, 0x80 /* 80285EEC 00281B4C 38 80 00 03 */ li r4, 3 /* 80285EF0 00281B50 38 A0 00 18 */ li r5, 0x18 /* 80285EF4 00281B54 4B FF B2 55 */ bl GXBegin /* 80285EF8 00281B58 C0 42 A1 DC */ lfs f2, lbl_806427DC-_SDA2_BASE_(r2) /* 80285EFC 00281B5C C0 22 A1 E0 */ lfs f1, lbl_806427E0-_SDA2_BASE_(r2) /* 80285F00 00281B60 D0 41 00 08 */ stfs f2, 8(r1) /* 80285F04 00281B64 FC 60 10 90 */ fmr f3, f2 /* 80285F08 00281B68 FC 80 10 90 */ fmr f4, f2 /* 80285F0C 00281B6C C1 02 A1 D0 */ lfs f8, lbl_806427D0-_SDA2_BASE_(r2) /* 80285F10 00281B70 FC A0 10 90 */ fmr f5, f2 /* 80285F14 00281B74 80 61 00 14 */ lwz r3, 0x14(r1) /* 80285F18 00281B78 FC C0 08 90 */ fmr f6, f1 /* 80285F1C 00281B7C FC E0 10 90 */ fmr f7, f2 /* 80285F20 00281B80 80 81 00 10 */ lwz r4, 0x10(r1) /* 80285F24 00281B84 4B FF FC D9 */ bl GXDrawCubeFace /* 80285F28 00281B88 C0 02 A1 E0 */ lfs f0, lbl_806427E0-_SDA2_BASE_(r2) /* 80285F2C 00281B8C C0 42 A1 DC */ lfs f2, lbl_806427DC-_SDA2_BASE_(r2) /* 80285F30 00281B90 D0 01 00 08 */ stfs f0, 8(r1) /* 80285F34 00281B94 C0 22 A1 D0 */ lfs f1, lbl_806427D0-_SDA2_BASE_(r2) /* 80285F38 00281B98 FC 60 10 90 */ fmr f3, f2 /* 80285F3C 00281B9C FC 80 10 90 */ fmr f4, f2 /* 80285F40 00281BA0 80 61 00 14 */ lwz r3, 0x14(r1) /* 80285F44 00281BA4 FC A0 08 90 */ fmr f5, f1 /* 80285F48 00281BA8 80 81 00 10 */ lwz r4, 0x10(r1) /* 80285F4C 00281BAC FC C0 10 90 */ fmr f6, f2 /* 80285F50 00281BB0 FC E0 10 90 */ fmr f7, f2 /* 80285F54 00281BB4 FD 00 10 90 */ fmr f8, f2 /* 80285F58 00281BB8 4B FF FC A5 */ bl GXDrawCubeFace /* 80285F5C 00281BBC C0 02 A1 D0 */ lfs f0, lbl_806427D0-_SDA2_BASE_(r2) /* 80285F60 00281BC0 C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80285F64 00281BC4 D0 01 00 08 */ stfs f0, 8(r1) /* 80285F68 00281BC8 C0 42 A1 E0 */ lfs f2, lbl_806427E0-_SDA2_BASE_(r2) /* 80285F6C 00281BCC FC 60 08 90 */ fmr f3, f1 /* 80285F70 00281BD0 FC A0 08 90 */ fmr f5, f1 /* 80285F74 00281BD4 80 61 00 14 */ lwz r3, 0x14(r1) /* 80285F78 00281BD8 FC 80 10 90 */ fmr f4, f2 /* 80285F7C 00281BDC 80 81 00 10 */ lwz r4, 0x10(r1) /* 80285F80 00281BE0 FC C0 08 90 */ fmr f6, f1 /* 80285F84 00281BE4 FC E0 08 90 */ fmr f7, f1 /* 80285F88 00281BE8 FD 00 08 90 */ fmr f8, f1 /* 80285F8C 00281BEC 4B FF FC 71 */ bl GXDrawCubeFace /* 80285F90 00281BF0 C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80285F94 00281BF4 C0 42 A1 D0 */ lfs f2, lbl_806427D0-_SDA2_BASE_(r2) /* 80285F98 00281BF8 D0 21 00 08 */ stfs f1, 8(r1) /* 80285F9C 00281BFC FC 60 08 90 */ fmr f3, f1 /* 80285FA0 00281C00 FC 80 08 90 */ fmr f4, f1 /* 80285FA4 00281C04 C0 E2 A1 E0 */ lfs f7, lbl_806427E0-_SDA2_BASE_(r2) /* 80285FA8 00281C08 FC A0 08 90 */ fmr f5, f1 /* 80285FAC 00281C0C 80 61 00 14 */ lwz r3, 0x14(r1) /* 80285FB0 00281C10 FC C0 10 90 */ fmr f6, f2 /* 80285FB4 00281C14 FD 00 08 90 */ fmr f8, f1 /* 80285FB8 00281C18 80 81 00 10 */ lwz r4, 0x10(r1) /* 80285FBC 00281C1C 4B FF FC 41 */ bl GXDrawCubeFace /* 80285FC0 00281C20 C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80285FC4 00281C24 C0 62 A1 E0 */ lfs f3, lbl_806427E0-_SDA2_BASE_(r2) /* 80285FC8 00281C28 D0 21 00 08 */ stfs f1, 8(r1) /* 80285FCC 00281C2C FC 40 08 90 */ fmr f2, f1 /* 80285FD0 00281C30 FC 80 08 90 */ fmr f4, f1 /* 80285FD4 00281C34 C0 E2 A1 D0 */ lfs f7, lbl_806427D0-_SDA2_BASE_(r2) /* 80285FD8 00281C38 FC A0 18 90 */ fmr f5, f3 /* 80285FDC 00281C3C 80 61 00 14 */ lwz r3, 0x14(r1) /* 80285FE0 00281C40 FC C0 08 90 */ fmr f6, f1 /* 80285FE4 00281C44 FD 00 08 90 */ fmr f8, f1 /* 80285FE8 00281C48 80 81 00 10 */ lwz r4, 0x10(r1) /* 80285FEC 00281C4C 4B FF FC 11 */ bl GXDrawCubeFace /* 80285FF0 00281C50 C0 22 A1 DC */ lfs f1, lbl_806427DC-_SDA2_BASE_(r2) /* 80285FF4 00281C54 C0 62 A1 D0 */ lfs f3, lbl_806427D0-_SDA2_BASE_(r2) /* 80285FF8 00281C58 D0 21 00 08 */ stfs f1, 8(r1) /* 80285FFC 00281C5C FC 40 08 90 */ fmr f2, f1 /* 80286000 00281C60 FC 80 18 90 */ fmr f4, f3 /* 80286004 00281C64 C1 02 A1 E0 */ lfs f8, lbl_806427E0-_SDA2_BASE_(r2) /* 80286008 00281C68 FC A0 08 90 */ fmr f5, f1 /* 8028600C 00281C6C 80 61 00 14 */ lwz r3, 0x14(r1) /* 80286010 00281C70 FC C0 08 90 */ fmr f6, f1 /* 80286014 00281C74 FC E0 08 90 */ fmr f7, f1 /* 80286018 00281C78 80 81 00 10 */ lwz r4, 0x10(r1) /* 8028601C 00281C7C 4B FF FB E1 */ bl GXDrawCubeFace /* 80286020 00281C80 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 80286024 00281C84 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80286028 00281C88 4B FF 96 31 */ bl GXSetVtxDescv /* 8028602C 00281C8C 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80286030 00281C90 38 60 00 03 */ li r3, 3 /* 80286034 00281C94 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286038 00281C98 4B FF 9E 21 */ bl GXSetVtxAttrFmtv /* 8028603C 00281C9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80286040 00281CA0 7C 08 03 A6 */ mtlr r0 /* 80286044 00281CA4 38 21 00 20 */ addi r1, r1, 0x20 /* 80286048 00281CA8 4E 80 00 20 */ blr .global GXDrawDodeca GXDrawDodeca: /* 8028604C 00281CAC 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80286050 00281CB0 7C 08 02 A6 */ mflr r0 /* 80286054 00281CB4 90 01 00 64 */ stw r0, 0x64(r1) /* 80286058 00281CB8 39 61 00 60 */ addi r11, r1, 0x60 /* 8028605C 00281CBC 4B F4 10 C5 */ bl _savegpr_25 /* 80286060 00281CC0 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 80286064 00281CC4 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80286068 00281CC8 4B FF 9B 8D */ bl GXGetVtxDescv /* 8028606C 00281CCC 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80286070 00281CD0 38 60 00 03 */ li r3, 3 /* 80286074 00281CD4 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286078 00281CD8 4B FF A2 91 */ bl GXGetVtxAttrFmtv /* 8028607C 00281CDC 4B FF 9C 09 */ bl GXClearVtxDesc /* 80286080 00281CE0 38 60 00 09 */ li r3, 9 /* 80286084 00281CE4 38 80 00 01 */ li r4, 1 /* 80286088 00281CE8 4B FF 93 6D */ bl GXSetVtxDesc /* 8028608C 00281CEC 38 60 00 0A */ li r3, 0xa /* 80286090 00281CF0 38 80 00 01 */ li r4, 1 /* 80286094 00281CF4 4B FF 93 61 */ bl GXSetVtxDesc /* 80286098 00281CF8 38 60 00 03 */ li r3, 3 /* 8028609C 00281CFC 38 80 00 09 */ li r4, 9 /* 802860A0 00281D00 38 A0 00 01 */ li r5, 1 /* 802860A4 00281D04 38 C0 00 04 */ li r6, 4 /* 802860A8 00281D08 38 E0 00 00 */ li r7, 0 /* 802860AC 00281D0C 4B FF 9C 0D */ bl GXSetVtxAttrFmt /* 802860B0 00281D10 38 60 00 03 */ li r3, 3 /* 802860B4 00281D14 38 80 00 0A */ li r4, 0xa /* 802860B8 00281D18 38 A0 00 00 */ li r5, 0 /* 802860BC 00281D1C 38 C0 00 04 */ li r6, 4 /* 802860C0 00281D20 38 E0 00 00 */ li r7, 0 /* 802860C4 00281D24 4B FF 9B F5 */ bl GXSetVtxAttrFmt /* 802860C8 00281D28 3F A0 80 43 */ lis r29, lbl_80435968@ha /* 802860CC 00281D2C 3F C0 80 43 */ lis r30, lbl_80435A58@ha /* 802860D0 00281D30 3B BD 59 68 */ addi r29, r29, lbl_80435968@l /* 802860D4 00281D34 3B 80 00 00 */ li r28, 0 /* 802860D8 00281D38 3B DE 5A 58 */ addi r30, r30, lbl_80435A58@l /* 802860DC 00281D3C 3F E0 CC 01 */ lis r31, 0xcc01 lbl_802860E0: /* 802860E0 00281D40 80 9D 00 00 */ lwz r4, 0(r29) /* 802860E4 00281D44 80 7D 00 04 */ lwz r3, 4(r29) /* 802860E8 00281D48 1C 84 00 0C */ mulli r4, r4, 0xc /* 802860EC 00281D4C 80 1D 00 08 */ lwz r0, 8(r29) /* 802860F0 00281D50 1C 63 00 0C */ mulli r3, r3, 0xc /* 802860F4 00281D54 7C 5E 24 2E */ lfsx f2, r30, r4 /* 802860F8 00281D58 7F 7E 22 14 */ add r27, r30, r4 /* 802860FC 00281D5C C0 3B 00 04 */ lfs f1, 4(r27) /* 80286100 00281D60 7F 5E 1A 14 */ add r26, r30, r3 /* 80286104 00281D64 7C BE 1C 2E */ lfsx f5, r30, r3 /* 80286108 00281D68 1C 00 00 0C */ mulli r0, r0, 0xc /* 8028610C 00281D6C C0 9A 00 04 */ lfs f4, 4(r26) /* 80286110 00281D70 ED 02 28 28 */ fsubs f8, f2, f5 /* 80286114 00281D74 C0 1B 00 08 */ lfs f0, 8(r27) /* 80286118 00281D78 C0 7A 00 08 */ lfs f3, 8(r26) /* 8028611C 00281D7C EC E1 20 28 */ fsubs f7, f1, f4 /* 80286120 00281D80 7F 3E 02 14 */ add r25, r30, r0 /* 80286124 00281D84 EC C0 18 28 */ fsubs f6, f0, f3 /* 80286128 00281D88 7C 5E 04 2E */ lfsx f2, r30, r0 /* 8028612C 00281D8C C0 39 00 04 */ lfs f1, 4(r25) /* 80286130 00281D90 C0 19 00 08 */ lfs f0, 8(r25) /* 80286134 00281D94 EC A2 28 28 */ fsubs f5, f2, f5 /* 80286138 00281D98 ED 41 20 28 */ fsubs f10, f1, f4 /* 8028613C 00281D9C D1 01 00 20 */ stfs f8, 0x20(r1) /* 80286140 00281DA0 ED 20 18 28 */ fsubs f9, f0, f3 /* 80286144 00281DA4 EC 05 01 B2 */ fmuls f0, f5, f6 /* 80286148 00281DA8 D0 A1 00 2C */ stfs f5, 0x2c(r1) /* 8028614C 00281DAC EC 8A 01 B2 */ fmuls f4, f10, f6 /* 80286150 00281DB0 EC 49 01 F2 */ fmuls f2, f9, f7 /* 80286154 00281DB4 D1 41 00 30 */ stfs f10, 0x30(r1) /* 80286158 00281DB8 EC 65 01 F2 */ fmuls f3, f5, f7 /* 8028615C 00281DBC EC 29 02 32 */ fmuls f1, f9, f8 /* 80286160 00281DC0 D1 21 00 34 */ stfs f9, 0x34(r1) /* 80286164 00281DC4 EC A4 10 28 */ fsubs f5, f4, f2 /* 80286168 00281DC8 EC 4A 02 32 */ fmuls f2, f10, f8 /* 8028616C 00281DCC D0 E1 00 24 */ stfs f7, 0x24(r1) /* 80286170 00281DD0 EC 81 00 28 */ fsubs f4, f1, f0 /* 80286174 00281DD4 EC 25 01 72 */ fmuls f1, f5, f5 /* 80286178 00281DD8 D0 C1 00 28 */ stfs f6, 0x28(r1) /* 8028617C 00281DDC EC 43 10 28 */ fsubs f2, f3, f2 /* 80286180 00281DE0 EC 04 01 32 */ fmuls f0, f4, f4 /* 80286184 00281DE4 D0 A1 00 08 */ stfs f5, 8(r1) /* 80286188 00281DE8 D0 81 00 0C */ stfs f4, 0xc(r1) /* 8028618C 00281DEC EC 01 00 2A */ fadds f0, f1, f0 /* 80286190 00281DF0 EC 22 00 B2 */ fmuls f1, f2, f2 /* 80286194 00281DF4 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80286198 00281DF8 D0 A1 00 14 */ stfs f5, 0x14(r1) /* 8028619C 00281DFC EC 21 00 2A */ fadds f1, f1, f0 /* 802861A0 00281E00 D0 81 00 18 */ stfs f4, 0x18(r1) /* 802861A4 00281E04 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 802861A8 00281E08 4B F4 E6 8D */ bl sqrt /* 802861AC 00281E0C FC 60 08 18 */ frsp f3, f1 /* 802861B0 00281E10 C0 41 00 14 */ lfs f2, 0x14(r1) /* 802861B4 00281E14 C0 21 00 18 */ lfs f1, 0x18(r1) /* 802861B8 00281E18 38 60 00 A0 */ li r3, 0xa0 /* 802861BC 00281E1C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 802861C0 00281E20 38 80 00 03 */ li r4, 3 /* 802861C4 00281E24 EC 42 18 24 */ fdivs f2, f2, f3 /* 802861C8 00281E28 38 A0 00 05 */ li r5, 5 /* 802861CC 00281E2C EC 21 18 24 */ fdivs f1, f1, f3 /* 802861D0 00281E30 D0 41 00 14 */ stfs f2, 0x14(r1) /* 802861D4 00281E34 EC 00 18 24 */ fdivs f0, f0, f3 /* 802861D8 00281E38 D0 21 00 18 */ stfs f1, 0x18(r1) /* 802861DC 00281E3C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802861E0 00281E40 4B FF AF 69 */ bl GXBegin /* 802861E4 00281E44 80 1D 00 10 */ lwz r0, 0x10(r29) /* 802861E8 00281E48 3B 9C 00 01 */ addi r28, r28, 1 /* 802861EC 00281E4C C0 41 00 14 */ lfs f2, 0x14(r1) /* 802861F0 00281E50 28 1C 00 0C */ cmplwi r28, 0xc /* 802861F4 00281E54 1C 00 00 0C */ mulli r0, r0, 0xc /* 802861F8 00281E58 C0 21 00 18 */ lfs f1, 0x18(r1) /* 802861FC 00281E5C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80286200 00281E60 7C 7E 02 14 */ add r3, r30, r0 /* 80286204 00281E64 7C BE 04 2E */ lfsx f5, r30, r0 /* 80286208 00281E68 C0 63 00 08 */ lfs f3, 8(r3) /* 8028620C 00281E6C C0 83 00 04 */ lfs f4, 4(r3) /* 80286210 00281E70 D0 BF 80 00 */ stfs f5, -0x8000(r31) /* 80286214 00281E74 D0 9F 80 00 */ stfs f4, -0x8000(r31) /* 80286218 00281E78 D0 7F 80 00 */ stfs f3, -0x8000(r31) /* 8028621C 00281E7C D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80286220 00281E80 D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 80286224 00281E84 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 80286228 00281E88 80 1D 00 0C */ lwz r0, 0xc(r29) /* 8028622C 00281E8C 3B BD 00 14 */ addi r29, r29, 0x14 /* 80286230 00281E90 1C 00 00 0C */ mulli r0, r0, 0xc /* 80286234 00281E94 7C 7E 02 14 */ add r3, r30, r0 /* 80286238 00281E98 7C BE 04 2E */ lfsx f5, r30, r0 /* 8028623C 00281E9C C0 63 00 08 */ lfs f3, 8(r3) /* 80286240 00281EA0 C0 83 00 04 */ lfs f4, 4(r3) /* 80286244 00281EA4 D0 BF 80 00 */ stfs f5, -0x8000(r31) /* 80286248 00281EA8 D0 9F 80 00 */ stfs f4, -0x8000(r31) /* 8028624C 00281EAC D0 7F 80 00 */ stfs f3, -0x8000(r31) /* 80286250 00281EB0 D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80286254 00281EB4 D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 80286258 00281EB8 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 8028625C 00281EBC C0 79 00 08 */ lfs f3, 8(r25) /* 80286260 00281EC0 C0 99 00 04 */ lfs f4, 4(r25) /* 80286264 00281EC4 C0 B9 00 00 */ lfs f5, 0(r25) /* 80286268 00281EC8 D0 BF 80 00 */ stfs f5, -0x8000(r31) /* 8028626C 00281ECC D0 9F 80 00 */ stfs f4, -0x8000(r31) /* 80286270 00281ED0 D0 7F 80 00 */ stfs f3, -0x8000(r31) /* 80286274 00281ED4 D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 80286278 00281ED8 D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 8028627C 00281EDC D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 80286280 00281EE0 C0 7A 00 08 */ lfs f3, 8(r26) /* 80286284 00281EE4 C0 9A 00 04 */ lfs f4, 4(r26) /* 80286288 00281EE8 C0 BA 00 00 */ lfs f5, 0(r26) /* 8028628C 00281EEC D0 BF 80 00 */ stfs f5, -0x8000(r31) /* 80286290 00281EF0 D0 9F 80 00 */ stfs f4, -0x8000(r31) /* 80286294 00281EF4 D0 7F 80 00 */ stfs f3, -0x8000(r31) /* 80286298 00281EF8 D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 8028629C 00281EFC D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 802862A0 00281F00 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 802862A4 00281F04 C0 7B 00 08 */ lfs f3, 8(r27) /* 802862A8 00281F08 C0 9B 00 04 */ lfs f4, 4(r27) /* 802862AC 00281F0C C0 BB 00 00 */ lfs f5, 0(r27) /* 802862B0 00281F10 D0 BF 80 00 */ stfs f5, -0x8000(r31) /* 802862B4 00281F14 D0 9F 80 00 */ stfs f4, -0x8000(r31) /* 802862B8 00281F18 D0 7F 80 00 */ stfs f3, -0x8000(r31) /* 802862BC 00281F1C D0 5F 80 00 */ stfs f2, -0x8000(r31) /* 802862C0 00281F20 D0 3F 80 00 */ stfs f1, -0x8000(r31) /* 802862C4 00281F24 D0 1F 80 00 */ stfs f0, -0x8000(r31) /* 802862C8 00281F28 41 80 FE 18 */ blt lbl_802860E0 /* 802862CC 00281F2C 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802862D0 00281F30 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 802862D4 00281F34 4B FF 93 85 */ bl GXSetVtxDescv /* 802862D8 00281F38 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 802862DC 00281F3C 38 60 00 03 */ li r3, 3 /* 802862E0 00281F40 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 802862E4 00281F44 4B FF 9B 75 */ bl GXSetVtxAttrFmtv /* 802862E8 00281F48 39 61 00 60 */ addi r11, r1, 0x60 /* 802862EC 00281F4C 4B F4 0E 81 */ bl _restgpr_25 /* 802862F0 00281F50 80 01 00 64 */ lwz r0, 0x64(r1) /* 802862F4 00281F54 7C 08 03 A6 */ mtlr r0 /* 802862F8 00281F58 38 21 00 60 */ addi r1, r1, 0x60 /* 802862FC 00281F5C 4E 80 00 20 */ blr .global GXDrawOctahedron GXDrawOctahedron: /* 80286300 00281F60 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80286304 00281F64 7C 08 02 A6 */ mflr r0 /* 80286308 00281F68 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 8028630C 00281F6C 90 01 00 24 */ stw r0, 0x24(r1) /* 80286310 00281F70 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80286314 00281F74 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80286318 00281F78 93 C1 00 18 */ stw r30, 0x18(r1) /* 8028631C 00281F7C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80286320 00281F80 4B FF 98 D5 */ bl GXGetVtxDescv /* 80286324 00281F84 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80286328 00281F88 38 60 00 03 */ li r3, 3 /* 8028632C 00281F8C 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286330 00281F90 4B FF 9F D9 */ bl GXGetVtxAttrFmtv /* 80286334 00281F94 4B FF 99 51 */ bl GXClearVtxDesc /* 80286338 00281F98 38 60 00 09 */ li r3, 9 /* 8028633C 00281F9C 38 80 00 01 */ li r4, 1 /* 80286340 00281FA0 4B FF 90 B5 */ bl GXSetVtxDesc /* 80286344 00281FA4 38 60 00 0A */ li r3, 0xa /* 80286348 00281FA8 38 80 00 01 */ li r4, 1 /* 8028634C 00281FAC 4B FF 90 A9 */ bl GXSetVtxDesc /* 80286350 00281FB0 38 60 00 03 */ li r3, 3 /* 80286354 00281FB4 38 80 00 09 */ li r4, 9 /* 80286358 00281FB8 38 A0 00 01 */ li r5, 1 /* 8028635C 00281FBC 38 C0 00 04 */ li r6, 4 /* 80286360 00281FC0 38 E0 00 00 */ li r7, 0 /* 80286364 00281FC4 4B FF 99 55 */ bl GXSetVtxAttrFmt /* 80286368 00281FC8 38 60 00 03 */ li r3, 3 /* 8028636C 00281FCC 38 80 00 0A */ li r4, 0xa /* 80286370 00281FD0 38 A0 00 00 */ li r5, 0 /* 80286374 00281FD4 38 C0 00 04 */ li r6, 4 /* 80286378 00281FD8 38 E0 00 00 */ li r7, 0 /* 8028637C 00281FDC 4B FF 99 3D */ bl GXSetVtxAttrFmt /* 80286380 00281FE0 3F C0 80 43 */ lis r30, lbl_80435B90@ha /* 80286384 00281FE4 3F E0 80 43 */ lis r31, lbl_80435B48@ha /* 80286388 00281FE8 3B DE 5B 90 */ addi r30, r30, lbl_80435B90@l /* 8028638C 00281FEC 3B A0 00 07 */ li r29, 7 /* 80286390 00281FF0 3B FF 5B 48 */ addi r31, r31, lbl_80435B48@l lbl_80286394: /* 80286394 00281FF4 57 A3 06 3E */ clrlwi r3, r29, 0x18 /* 80286398 00281FF8 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 8028639C 00281FFC 7C 03 00 50 */ subf r0, r3, r0 /* 802863A0 00282000 7C DE 02 14 */ add r6, r30, r0 /* 802863A4 00282004 7C BE 00 AE */ lbzx r5, r30, r0 /* 802863A8 00282008 88 06 00 02 */ lbz r0, 2(r6) /* 802863AC 0028200C 38 60 00 00 */ li r3, 0 /* 802863B0 00282010 88 86 00 01 */ lbz r4, 1(r6) /* 802863B4 00282014 1C C5 00 0C */ mulli r6, r5, 0xc /* 802863B8 00282018 1C A4 00 0C */ mulli r5, r4, 0xc /* 802863BC 0028201C 7C 9F 32 14 */ add r4, r31, r6 /* 802863C0 00282020 1C 00 00 0C */ mulli r0, r0, 0xc /* 802863C4 00282024 7C BF 2A 14 */ add r5, r31, r5 /* 802863C8 00282028 7C DF 02 14 */ add r6, r31, r0 /* 802863CC 0028202C 4B FF E5 85 */ bl Subdivide /* 802863D0 00282030 37 BD FF FF */ addic. r29, r29, -1 /* 802863D4 00282034 40 80 FF C0 */ bge lbl_80286394 /* 802863D8 00282038 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802863DC 0028203C 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 802863E0 00282040 4B FF 92 79 */ bl GXSetVtxDescv /* 802863E4 00282044 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 802863E8 00282048 38 60 00 03 */ li r3, 3 /* 802863EC 0028204C 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 802863F0 00282050 4B FF 9A 69 */ bl GXSetVtxAttrFmtv /* 802863F4 00282054 80 01 00 24 */ lwz r0, 0x24(r1) /* 802863F8 00282058 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802863FC 0028205C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80286400 00282060 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80286404 00282064 7C 08 03 A6 */ mtlr r0 /* 80286408 00282068 38 21 00 20 */ addi r1, r1, 0x20 /* 8028640C 0028206C 4E 80 00 20 */ blr .global GXDrawIcosahedron GXDrawIcosahedron: /* 80286410 00282070 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80286414 00282074 7C 08 02 A6 */ mflr r0 /* 80286418 00282078 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 8028641C 0028207C 90 01 00 24 */ stw r0, 0x24(r1) /* 80286420 00282080 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80286424 00282084 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80286428 00282088 93 C1 00 18 */ stw r30, 0x18(r1) /* 8028642C 0028208C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80286430 00282090 4B FF 97 C5 */ bl GXGetVtxDescv /* 80286434 00282094 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80286438 00282098 38 60 00 03 */ li r3, 3 /* 8028643C 0028209C 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286440 002820A0 4B FF 9E C9 */ bl GXGetVtxAttrFmtv /* 80286444 002820A4 4B FF 98 41 */ bl GXClearVtxDesc /* 80286448 002820A8 38 60 00 09 */ li r3, 9 /* 8028644C 002820AC 38 80 00 01 */ li r4, 1 /* 80286450 002820B0 4B FF 8F A5 */ bl GXSetVtxDesc /* 80286454 002820B4 38 60 00 0A */ li r3, 0xa /* 80286458 002820B8 38 80 00 01 */ li r4, 1 /* 8028645C 002820BC 4B FF 8F 99 */ bl GXSetVtxDesc /* 80286460 002820C0 38 60 00 03 */ li r3, 3 /* 80286464 002820C4 38 80 00 09 */ li r4, 9 /* 80286468 002820C8 38 A0 00 01 */ li r5, 1 /* 8028646C 002820CC 38 C0 00 04 */ li r6, 4 /* 80286470 002820D0 38 E0 00 00 */ li r7, 0 /* 80286474 002820D4 4B FF 98 45 */ bl GXSetVtxAttrFmt /* 80286478 002820D8 38 60 00 03 */ li r3, 3 /* 8028647C 002820DC 38 80 00 0A */ li r4, 0xa /* 80286480 002820E0 38 A0 00 00 */ li r5, 0 /* 80286484 002820E4 38 C0 00 04 */ li r6, 4 /* 80286488 002820E8 38 E0 00 00 */ li r7, 0 /* 8028648C 002820EC 4B FF 98 2D */ bl GXSetVtxAttrFmt /* 80286490 002820F0 3F C0 80 43 */ lis r30, lbl_80435C38@ha /* 80286494 002820F4 3F E0 80 43 */ lis r31, lbl_80435BA8@ha /* 80286498 002820F8 3B DE 5C 38 */ addi r30, r30, lbl_80435C38@l /* 8028649C 002820FC 3B A0 00 13 */ li r29, 0x13 /* 802864A0 00282100 3B FF 5B A8 */ addi r31, r31, lbl_80435BA8@l lbl_802864A4: /* 802864A4 00282104 57 A3 06 3E */ clrlwi r3, r29, 0x18 /* 802864A8 00282108 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 802864AC 0028210C 7C 03 00 50 */ subf r0, r3, r0 /* 802864B0 00282110 7C DE 02 14 */ add r6, r30, r0 /* 802864B4 00282114 7C BE 00 AE */ lbzx r5, r30, r0 /* 802864B8 00282118 88 06 00 02 */ lbz r0, 2(r6) /* 802864BC 0028211C 38 60 00 00 */ li r3, 0 /* 802864C0 00282120 88 86 00 01 */ lbz r4, 1(r6) /* 802864C4 00282124 1C C5 00 0C */ mulli r6, r5, 0xc /* 802864C8 00282128 1C A4 00 0C */ mulli r5, r4, 0xc /* 802864CC 0028212C 7C 9F 32 14 */ add r4, r31, r6 /* 802864D0 00282130 1C 00 00 0C */ mulli r0, r0, 0xc /* 802864D4 00282134 7C BF 2A 14 */ add r5, r31, r5 /* 802864D8 00282138 7C DF 02 14 */ add r6, r31, r0 /* 802864DC 0028213C 4B FF E4 75 */ bl Subdivide /* 802864E0 00282140 37 BD FF FF */ addic. r29, r29, -1 /* 802864E4 00282144 40 80 FF C0 */ bge lbl_802864A4 /* 802864E8 00282148 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 802864EC 0028214C 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 802864F0 00282150 4B FF 91 69 */ bl GXSetVtxDescv /* 802864F4 00282154 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 802864F8 00282158 38 60 00 03 */ li r3, 3 /* 802864FC 0028215C 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286500 00282160 4B FF 99 59 */ bl GXSetVtxAttrFmtv /* 80286504 00282164 80 01 00 24 */ lwz r0, 0x24(r1) /* 80286508 00282168 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8028650C 0028216C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80286510 00282170 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80286514 00282174 7C 08 03 A6 */ mtlr r0 /* 80286518 00282178 38 21 00 20 */ addi r1, r1, 0x20 /* 8028651C 0028217C 4E 80 00 20 */ blr .global GXDrawSphere1 GXDrawSphere1: /* 80286520 00282180 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80286524 00282184 7C 08 02 A6 */ mflr r0 /* 80286528 00282188 3C 80 80 51 */ lis r4, lbl_80515FF8@ha /* 8028652C 0028218C 90 01 00 24 */ stw r0, 0x24(r1) /* 80286530 00282190 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80286534 00282194 93 C1 00 18 */ stw r30, 0x18(r1) /* 80286538 00282198 93 A1 00 14 */ stw r29, 0x14(r1) /* 8028653C 0028219C 93 81 00 10 */ stw r28, 0x10(r1) /* 80286540 002821A0 7C 7C 1B 78 */ mr r28, r3 /* 80286544 002821A4 38 64 5F F8 */ addi r3, r4, lbl_80515FF8@l /* 80286548 002821A8 4B FF 96 AD */ bl GXGetVtxDescv /* 8028654C 002821AC 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80286550 002821B0 38 60 00 03 */ li r3, 3 /* 80286554 002821B4 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286558 002821B8 4B FF 9D B1 */ bl GXGetVtxAttrFmtv /* 8028655C 002821BC 4B FF 97 29 */ bl GXClearVtxDesc /* 80286560 002821C0 38 60 00 09 */ li r3, 9 /* 80286564 002821C4 38 80 00 01 */ li r4, 1 /* 80286568 002821C8 4B FF 8E 8D */ bl GXSetVtxDesc /* 8028656C 002821CC 38 60 00 0A */ li r3, 0xa /* 80286570 002821D0 38 80 00 01 */ li r4, 1 /* 80286574 002821D4 4B FF 8E 81 */ bl GXSetVtxDesc /* 80286578 002821D8 38 60 00 03 */ li r3, 3 /* 8028657C 002821DC 38 80 00 09 */ li r4, 9 /* 80286580 002821E0 38 A0 00 01 */ li r5, 1 /* 80286584 002821E4 38 C0 00 04 */ li r6, 4 /* 80286588 002821E8 38 E0 00 00 */ li r7, 0 /* 8028658C 002821EC 4B FF 97 2D */ bl GXSetVtxAttrFmt /* 80286590 002821F0 38 60 00 03 */ li r3, 3 /* 80286594 002821F4 38 80 00 0A */ li r4, 0xa /* 80286598 002821F8 38 A0 00 00 */ li r5, 0 /* 8028659C 002821FC 38 C0 00 04 */ li r6, 4 /* 802865A0 00282200 38 E0 00 00 */ li r7, 0 /* 802865A4 00282204 4B FF 97 15 */ bl GXSetVtxAttrFmt /* 802865A8 00282208 3F C0 80 43 */ lis r30, lbl_80435C38@ha /* 802865AC 0028220C 3F E0 80 43 */ lis r31, lbl_80435BA8@ha /* 802865B0 00282210 3B DE 5C 38 */ addi r30, r30, lbl_80435C38@l /* 802865B4 00282214 3B A0 00 13 */ li r29, 0x13 /* 802865B8 00282218 3B FF 5B A8 */ addi r31, r31, lbl_80435BA8@l lbl_802865BC: /* 802865BC 0028221C 57 A3 06 3E */ clrlwi r3, r29, 0x18 /* 802865C0 00282220 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 802865C4 00282224 7C 03 00 50 */ subf r0, r3, r0 /* 802865C8 00282228 7C DE 02 14 */ add r6, r30, r0 /* 802865CC 0028222C 7C BE 00 AE */ lbzx r5, r30, r0 /* 802865D0 00282230 88 06 00 02 */ lbz r0, 2(r6) /* 802865D4 00282234 7F 83 E3 78 */ mr r3, r28 /* 802865D8 00282238 88 86 00 01 */ lbz r4, 1(r6) /* 802865DC 0028223C 1C C5 00 0C */ mulli r6, r5, 0xc /* 802865E0 00282240 1C A4 00 0C */ mulli r5, r4, 0xc /* 802865E4 00282244 7C 9F 32 14 */ add r4, r31, r6 /* 802865E8 00282248 1C 00 00 0C */ mulli r0, r0, 0xc /* 802865EC 0028224C 7C BF 2A 14 */ add r5, r31, r5 /* 802865F0 00282250 7C DF 02 14 */ add r6, r31, r0 /* 802865F4 00282254 4B FF E3 5D */ bl Subdivide /* 802865F8 00282258 37 BD FF FF */ addic. r29, r29, -1 /* 802865FC 0028225C 40 80 FF C0 */ bge lbl_802865BC /* 80286600 00282260 3C 60 80 51 */ lis r3, lbl_80515FF8@ha /* 80286604 00282264 38 63 5F F8 */ addi r3, r3, lbl_80515FF8@l /* 80286608 00282268 4B FF 90 51 */ bl GXSetVtxDescv /* 8028660C 0028226C 3C 80 80 51 */ lis r4, lbl_805160D0@ha /* 80286610 00282270 38 60 00 03 */ li r3, 3 /* 80286614 00282274 38 84 60 D0 */ addi r4, r4, lbl_805160D0@l /* 80286618 00282278 4B FF 98 41 */ bl GXSetVtxAttrFmtv /* 8028661C 0028227C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80286620 00282280 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80286624 00282284 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80286628 00282288 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8028662C 0028228C 83 81 00 10 */ lwz r28, 0x10(r1) /* 80286630 00282290 7C 08 03 A6 */ mtlr r0 /* 80286634 00282294 38 21 00 20 */ addi r1, r1, 0x20 /* 80286638 00282298 4E 80 00 20 */ blr