1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
|
.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
|