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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80285BFC
func_80285BFC:
/* 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 func_80285DFC
func_80285DFC:
/* 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 func_80285BFC
/* 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 func_80285BFC
/* 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 func_80285BFC
/* 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 func_80285BFC
/* 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 func_80285BFC
/* 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 func_80285BFC
/* 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 func_8028604C
func_8028604C:
/* 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 func_80286300
func_80286300:
/* 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 func_80284950
/* 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 func_80286410
func_80286410:
/* 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 func_80284950
/* 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 func_80286520
func_80286520:
/* 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 func_80284950
/* 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
|