summaryrefslogtreecommitdiff
path: root/asm/text_8.s
blob: 5e0e54349d615ff9e326f5322bbd10a185ce7e34 (plain)
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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_80284950
func_80284950:
/* 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 func_80284950
/* 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 func_80284950
/* 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 func_80284950
/* 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 func_80284950
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 func_80284C08
func_80284C08:
/* 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 func_80285448
func_80285448:
/* 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