summaryrefslogtreecommitdiff
path: root/asm/SDK/GX/GXTexture.s
blob: 0aa481a9d005a8a12ba0307fb50b6721f1631119 (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
.include "macros.inc"

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

.global __GetImageTileCount
__GetImageTileCount:
/* 80282610 0027E270  28 03 00 3C */	cmplwi r3, 0x3c
/* 80282614 0027E274  41 81 00 40 */	bgt lbl_80282654
/* 80282618 0027E278  3D 20 80 43 */	lis r9, lbl_804357A0@ha
/* 8028261C 0027E27C  54 60 10 3A */	slwi r0, r3, 2
/* 80282620 0027E280  39 29 57 A0 */	addi r9, r9, lbl_804357A0@l
/* 80282624 0027E284  7D 29 00 2E */	lwzx r9, r9, r0
/* 80282628 0027E288  7D 29 03 A6 */	mtctr r9
/* 8028262C 0027E28C  4E 80 04 20 */	bctr
/* 80282630 0027E290  39 60 00 03 */	li r11, 3
/* 80282634 0027E294  39 80 00 03 */	li r12, 3
/* 80282638 0027E298  48 00 00 24 */	b lbl_8028265C
/* 8028263C 0027E29C  39 60 00 03 */	li r11, 3
/* 80282640 0027E2A0  39 80 00 02 */	li r12, 2
/* 80282644 0027E2A4  48 00 00 18 */	b lbl_8028265C
/* 80282648 0027E2A8  39 60 00 02 */	li r11, 2
/* 8028264C 0027E2AC  39 80 00 02 */	li r12, 2
/* 80282650 0027E2B0  48 00 00 0C */	b lbl_8028265C
lbl_80282654:
/* 80282654 0027E2B4  39 80 00 00 */	li r12, 0
/* 80282658 0027E2B8  39 60 00 00 */	li r11, 0
lbl_8028265C:
/* 8028265C 0027E2BC  2C 04 00 00 */	cmpwi r4, 0
/* 80282660 0027E2C0  40 82 00 08 */	bne lbl_80282668
/* 80282664 0027E2C4  38 80 00 01 */	li r4, 1
lbl_80282668:
/* 80282668 0027E2C8  2C 05 00 00 */	cmpwi r5, 0
/* 8028266C 0027E2CC  40 82 00 08 */	bne lbl_80282674
/* 80282670 0027E2D0  38 A0 00 01 */	li r5, 1
lbl_80282674:
/* 80282674 0027E2D4  39 40 00 01 */	li r10, 1
/* 80282678 0027E2D8  2C 03 00 06 */	cmpwi r3, 6
/* 8028267C 0027E2DC  7D 40 58 30 */	slw r0, r10, r11
/* 80282680 0027E2E0  39 20 00 00 */	li r9, 0
/* 80282684 0027E2E4  7C 84 02 14 */	add r4, r4, r0
/* 80282688 0027E2E8  7D 40 60 30 */	slw r0, r10, r12
/* 8028268C 0027E2EC  38 84 FF FF */	addi r4, r4, -1
/* 80282690 0027E2F0  7C 8A 5E 30 */	sraw r10, r4, r11
/* 80282694 0027E2F4  7C 85 02 14 */	add r4, r5, r0
/* 80282698 0027E2F8  91 46 00 00 */	stw r10, 0(r6)
/* 8028269C 0027E2FC  38 04 FF FF */	addi r0, r4, -1
/* 802826A0 0027E300  7C 00 66 30 */	sraw r0, r0, r12
/* 802826A4 0027E304  90 07 00 00 */	stw r0, 0(r7)
/* 802826A8 0027E308  41 82 00 0C */	beq lbl_802826B4
/* 802826AC 0027E30C  2C 03 00 16 */	cmpwi r3, 0x16
/* 802826B0 0027E310  40 82 00 08 */	bne lbl_802826B8
lbl_802826B4:
/* 802826B4 0027E314  39 20 00 01 */	li r9, 1
lbl_802826B8:
/* 802826B8 0027E318  7C 09 00 D0 */	neg r0, r9
/* 802826BC 0027E31C  7C 00 4B 78 */	or r0, r0, r9
/* 802826C0 0027E320  54 03 0F FE */	srwi r3, r0, 0x1f
/* 802826C4 0027E324  38 03 00 01 */	addi r0, r3, 1
/* 802826C8 0027E328  90 08 00 00 */	stw r0, 0(r8)
/* 802826CC 0027E32C  4E 80 00 20 */	blr

.global GXInitTexObj
GXInitTexObj:
/* 802826D0 0027E330  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802826D4 0027E334  7C 08 02 A6 */	mflr r0
/* 802826D8 0027E338  90 01 00 44 */	stw r0, 0x44(r1)
/* 802826DC 0027E33C  39 61 00 40 */	addi r11, r1, 0x40
/* 802826E0 0027E340  4B F4 4A 3D */	bl _savegpr_24
/* 802826E4 0027E344  7C 9B 23 78 */	mr r27, r4
/* 802826E8 0027E348  7C BC 2B 78 */	mr r28, r5
/* 802826EC 0027E34C  7C 7F 1B 78 */	mr r31, r3
/* 802826F0 0027E350  7C DD 33 78 */	mr r29, r6
/* 802826F4 0027E354  7C FE 3B 78 */	mr r30, r7
/* 802826F8 0027E358  7D 18 43 78 */	mr r24, r8
/* 802826FC 0027E35C  7D 39 4B 78 */	mr r25, r9
/* 80282700 0027E360  7D 5A 53 78 */	mr r26, r10
/* 80282704 0027E364  38 80 00 00 */	li r4, 0
/* 80282708 0027E368  38 A0 00 20 */	li r5, 0x20
/* 8028270C 0027E36C  4B D8 19 F9 */	bl memset
/* 80282710 0027E370  80 1F 00 00 */	lwz r0, 0(r31)
/* 80282714 0027E374  53 00 07 BE */	rlwimi r0, r24, 0, 0x1e, 0x1f
/* 80282718 0027E378  53 20 17 3A */	rlwimi r0, r25, 2, 0x1c, 0x1d
/* 8028271C 0027E37C  2C 1A 00 00 */	cmpwi r26, 0
/* 80282720 0027E380  60 04 00 10 */	ori r4, r0, 0x10
/* 80282724 0027E384  90 9F 00 00 */	stw r4, 0(r31)
/* 80282728 0027E388  41 82 00 90 */	beq lbl_802827B8
/* 8028272C 0027E38C  88 7F 00 1F */	lbz r3, 0x1f(r31)
/* 80282730 0027E390  38 1E FF F8 */	addi r0, r30, -8
/* 80282734 0027E394  28 00 00 02 */	cmplwi r0, 2
/* 80282738 0027E398  60 60 00 01 */	ori r0, r3, 1
/* 8028273C 0027E39C  98 1F 00 1F */	stb r0, 0x1f(r31)
/* 80282740 0027E3A0  41 81 00 14 */	bgt lbl_80282754
/* 80282744 0027E3A4  38 00 00 05 */	li r0, 5
/* 80282748 0027E3A8  50 04 2E 34 */	rlwimi r4, r0, 5, 0x18, 0x1a
/* 8028274C 0027E3AC  90 9F 00 00 */	stw r4, 0(r31)
/* 80282750 0027E3B0  48 00 00 10 */	b lbl_80282760
lbl_80282754:
/* 80282754 0027E3B4  38 00 00 06 */	li r0, 6
/* 80282758 0027E3B8  50 04 2E 34 */	rlwimi r4, r0, 5, 0x18, 0x1a
/* 8028275C 0027E3BC  90 9F 00 00 */	stw r4, 0(r31)
lbl_80282760:
/* 80282760 0027E3C0  7C 1C E8 40 */	cmplw r28, r29
/* 80282764 0027E3C4  40 81 00 10 */	ble lbl_80282774
/* 80282768 0027E3C8  7F 80 00 34 */	cntlzw r0, r28
/* 8028276C 0027E3CC  20 60 00 1F */	subfic r3, r0, 0x1f
/* 80282770 0027E3D0  48 00 00 0C */	b lbl_8028277C
lbl_80282774:
/* 80282774 0027E3D4  7F A0 00 34 */	cntlzw r0, r29
/* 80282778 0027E3D8  20 60 00 1F */	subfic r3, r0, 0x1f
lbl_8028277C:
/* 8028277C 0027E3DC  3C 00 43 30 */	lis r0, 0x4330
/* 80282780 0027E3E0  90 61 00 0C */	stw r3, 0xc(r1)
/* 80282784 0027E3E4  C8 42 A1 48 */	lfd f2, lbl_80642748-_SDA2_BASE_(r2)
/* 80282788 0027E3E8  90 01 00 08 */	stw r0, 8(r1)
/* 8028278C 0027E3EC  C0 02 A1 40 */	lfs f0, lbl_80642740-_SDA2_BASE_(r2)
/* 80282790 0027E3F0  C8 21 00 08 */	lfd f1, 8(r1)
/* 80282794 0027E3F4  80 1F 00 04 */	lwz r0, 4(r31)
/* 80282798 0027E3F8  EC 21 10 28 */	fsubs f1, f1, f2
/* 8028279C 0027E3FC  EC 00 00 72 */	fmuls f0, f0, f1
/* 802827A0 0027E400  FC 00 00 1E */	fctiwz f0, f0
/* 802827A4 0027E404  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 802827A8 0027E408  80 61 00 14 */	lwz r3, 0x14(r1)
/* 802827AC 0027E40C  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 802827B0 0027E410  90 1F 00 04 */	stw r0, 4(r31)
/* 802827B4 0027E414  48 00 00 10 */	b lbl_802827C4
lbl_802827B8:
/* 802827B8 0027E418  38 00 00 04 */	li r0, 4
/* 802827BC 0027E41C  50 04 2E 34 */	rlwimi r4, r0, 5, 0x18, 0x1a
/* 802827C0 0027E420  90 9F 00 00 */	stw r4, 0(r31)
lbl_802827C4:
/* 802827C4 0027E424  38 1C FF FF */	addi r0, r28, -1
/* 802827C8 0027E428  80 7F 00 08 */	lwz r3, 8(r31)
/* 802827CC 0027E42C  50 03 05 BE */	rlwimi r3, r0, 0, 0x16, 0x1f
/* 802827D0 0027E430  57 C4 07 3E */	clrlwi r4, r30, 0x1c
/* 802827D4 0027E434  38 1D FF FF */	addi r0, r29, -1
/* 802827D8 0027E438  93 DF 00 14 */	stw r30, 0x14(r31)
/* 802827DC 0027E43C  50 03 53 2A */	rlwimi r3, r0, 0xa, 0xc, 0x15
/* 802827E0 0027E440  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 802827E4 0027E444  53 60 DA 3E */	rlwimi r0, r27, 0x1b, 8, 0x1f
/* 802827E8 0027E448  28 04 00 0E */	cmplwi r4, 0xe
/* 802827EC 0027E44C  53 C3 A2 16 */	rlwimi r3, r30, 0x14, 8, 0xb
/* 802827F0 0027E450  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802827F4 0027E454  90 7F 00 08 */	stw r3, 8(r31)
/* 802827F8 0027E458  41 81 00 80 */	bgt lbl_80282878
/* 802827FC 0027E45C  3C 60 80 43 */	lis r3, lbl_80435894@ha
/* 80282800 0027E460  54 80 10 3A */	slwi r0, r4, 2
/* 80282804 0027E464  38 63 58 94 */	addi r3, r3, lbl_80435894@l
/* 80282808 0027E468  7C 63 00 2E */	lwzx r3, r3, r0
/* 8028280C 0027E46C  7C 69 03 A6 */	mtctr r3
/* 80282810 0027E470  4E 80 04 20 */	bctr
/* 80282814 0027E474  38 00 00 01 */	li r0, 1
/* 80282818 0027E478  38 C0 00 03 */	li r6, 3
/* 8028281C 0027E47C  98 1F 00 1E */	stb r0, 0x1e(r31)
/* 80282820 0027E480  38 E0 00 03 */	li r7, 3
/* 80282824 0027E484  48 00 00 64 */	b lbl_80282888
/* 80282828 0027E488  38 00 00 02 */	li r0, 2
/* 8028282C 0027E48C  38 C0 00 03 */	li r6, 3
/* 80282830 0027E490  98 1F 00 1E */	stb r0, 0x1e(r31)
/* 80282834 0027E494  38 E0 00 02 */	li r7, 2
/* 80282838 0027E498  48 00 00 50 */	b lbl_80282888
/* 8028283C 0027E49C  38 00 00 02 */	li r0, 2
/* 80282840 0027E4A0  38 C0 00 02 */	li r6, 2
/* 80282844 0027E4A4  98 1F 00 1E */	stb r0, 0x1e(r31)
/* 80282848 0027E4A8  38 E0 00 02 */	li r7, 2
/* 8028284C 0027E4AC  48 00 00 3C */	b lbl_80282888
/* 80282850 0027E4B0  38 00 00 03 */	li r0, 3
/* 80282854 0027E4B4  38 C0 00 02 */	li r6, 2
/* 80282858 0027E4B8  98 1F 00 1E */	stb r0, 0x1e(r31)
/* 8028285C 0027E4BC  38 E0 00 02 */	li r7, 2
/* 80282860 0027E4C0  48 00 00 28 */	b lbl_80282888
/* 80282864 0027E4C4  38 00 00 00 */	li r0, 0
/* 80282868 0027E4C8  38 C0 00 03 */	li r6, 3
/* 8028286C 0027E4CC  98 1F 00 1E */	stb r0, 0x1e(r31)
/* 80282870 0027E4D0  38 E0 00 03 */	li r7, 3
/* 80282874 0027E4D4  48 00 00 14 */	b lbl_80282888
lbl_80282878:
/* 80282878 0027E4D8  38 00 00 02 */	li r0, 2
/* 8028287C 0027E4DC  38 C0 00 02 */	li r6, 2
/* 80282880 0027E4E0  98 1F 00 1E */	stb r0, 0x1e(r31)
/* 80282884 0027E4E4  38 E0 00 02 */	li r7, 2
lbl_80282888:
/* 80282888 0027E4E8  38 A0 00 01 */	li r5, 1
/* 8028288C 0027E4EC  88 1F 00 1F */	lbz r0, 0x1f(r31)
/* 80282890 0027E4F0  7C A3 30 30 */	slw r3, r5, r6
/* 80282894 0027E4F4  39 61 00 40 */	addi r11, r1, 0x40
/* 80282898 0027E4F8  7C 9C 1A 14 */	add r4, r28, r3
/* 8028289C 0027E4FC  60 00 00 02 */	ori r0, r0, 2
/* 802828A0 0027E500  7C A3 38 30 */	slw r3, r5, r7
/* 802828A4 0027E504  98 1F 00 1F */	stb r0, 0x1f(r31)
/* 802828A8 0027E508  38 84 FF FF */	addi r4, r4, -1
/* 802828AC 0027E50C  7C 7D 1A 14 */	add r3, r29, r3
/* 802828B0 0027E510  7C 84 36 30 */	sraw r4, r4, r6
/* 802828B4 0027E514  38 03 FF FF */	addi r0, r3, -1
/* 802828B8 0027E518  7C 00 3E 30 */	sraw r0, r0, r7
/* 802828BC 0027E51C  7C 04 01 D6 */	mullw r0, r4, r0
/* 802828C0 0027E520  54 00 04 7E */	clrlwi r0, r0, 0x11
/* 802828C4 0027E524  B0 1F 00 1C */	sth r0, 0x1c(r31)
/* 802828C8 0027E528  4B F4 48 A1 */	bl _restgpr_24
/* 802828CC 0027E52C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802828D0 0027E530  7C 08 03 A6 */	mtlr r0
/* 802828D4 0027E534  38 21 00 40 */	addi r1, r1, 0x40
/* 802828D8 0027E538  4E 80 00 20 */	blr

.global GXInitTexObjCI
GXInitTexObjCI:
/* 802828DC 0027E53C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802828E0 0027E540  7C 08 02 A6 */	mflr r0
/* 802828E4 0027E544  90 01 00 14 */	stw r0, 0x14(r1)
/* 802828E8 0027E548  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802828EC 0027E54C  83 E1 00 18 */	lwz r31, 0x18(r1)
/* 802828F0 0027E550  93 C1 00 08 */	stw r30, 8(r1)
/* 802828F4 0027E554  7C 7E 1B 78 */	mr r30, r3
/* 802828F8 0027E558  4B FF FD D9 */	bl GXInitTexObj
/* 802828FC 0027E55C  88 1E 00 1F */	lbz r0, 0x1f(r30)
/* 80282900 0027E560  93 FE 00 18 */	stw r31, 0x18(r30)
/* 80282904 0027E564  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80282908 0027E568  98 1E 00 1F */	stb r0, 0x1f(r30)
/* 8028290C 0027E56C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80282910 0027E570  83 C1 00 08 */	lwz r30, 8(r1)
/* 80282914 0027E574  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80282918 0027E578  7C 08 03 A6 */	mtlr r0
/* 8028291C 0027E57C  38 21 00 10 */	addi r1, r1, 0x10
/* 80282920 0027E580  4E 80 00 20 */	blr

.global GXInitTexObjLOD
GXInitTexObjLOD:
/* 80282924 0027E584  C0 02 A1 50 */	lfs f0, lbl_80642750-_SDA2_BASE_(r2)
/* 80282928 0027E588  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8028292C 0027E58C  FC 03 00 40 */	fcmpo cr0, f3, f0
/* 80282930 0027E590  40 80 00 0C */	bge lbl_8028293C
/* 80282934 0027E594  FC 60 00 90 */	fmr f3, f0
/* 80282938 0027E598  48 00 00 18 */	b lbl_80282950
lbl_8028293C:
/* 8028293C 0027E59C  C0 02 A1 58 */	lfs f0, lbl_80642758-_SDA2_BASE_(r2)
/* 80282940 0027E5A0  FC 03 00 40 */	fcmpo cr0, f3, f0
/* 80282944 0027E5A4  4C 41 13 82 */	cror 2, 1, 2
/* 80282948 0027E5A8  40 82 00 08 */	bne lbl_80282950
/* 8028294C 0027E5AC  C0 62 A1 54 */	lfs f3, lbl_80642754-_SDA2_BASE_(r2)
lbl_80282950:
/* 80282950 0027E5B0  C0 82 A1 5C */	lfs f4, lbl_8064275C-_SDA2_BASE_(r2)
/* 80282954 0027E5B4  38 05 FF FF */	addi r0, r5, -1
/* 80282958 0027E5B8  7C 09 00 34 */	cntlzw r9, r0
/* 8028295C 0027E5BC  C0 02 A1 60 */	lfs f0, lbl_80642760-_SDA2_BASE_(r2)
/* 80282960 0027E5C0  EC 64 00 F2 */	fmuls f3, f4, f3
/* 80282964 0027E5C4  7C E0 00 34 */	cntlzw r0, r7
/* 80282968 0027E5C8  81 43 00 00 */	lwz r10, 0(r3)
/* 8028296C 0027E5CC  38 AD 88 A0 */	addi r5, r13, lbl_8063DB60-_SDA_BASE_
/* 80282970 0027E5D0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80282974 0027E5D4  FC 60 18 1E */	fctiwz f3, f3
/* 80282978 0027E5D8  D8 61 00 08 */	stfd f3, 8(r1)
/* 8028297C 0027E5DC  80 E1 00 0C */	lwz r7, 0xc(r1)
/* 80282980 0027E5E0  50 EA 4B EC */	rlwimi r10, r7, 9, 0xf, 0x16
/* 80282984 0027E5E4  51 2A FE F6 */	rlwimi r10, r9, 0x1f, 0x1b, 0x1b
/* 80282988 0027E5E8  91 43 00 00 */	stw r10, 0(r3)
/* 8028298C 0027E5EC  7C 85 20 AE */	lbzx r4, r5, r4
/* 80282990 0027E5F0  50 8A 2E 34 */	rlwimi r10, r4, 5, 0x18, 0x1a
/* 80282994 0027E5F4  50 0A 1D EE */	rlwimi r10, r0, 3, 0x17, 0x17
/* 80282998 0027E5F8  55 40 03 D8 */	rlwinm r0, r10, 0, 0xf, 0xc
/* 8028299C 0027E5FC  51 00 9A D8 */	rlwimi r0, r8, 0x13, 0xb, 0xc
/* 802829A0 0027E600  50 C0 AA 94 */	rlwimi r0, r6, 0x15, 0xa, 0xa
/* 802829A4 0027E604  90 03 00 00 */	stw r0, 0(r3)
/* 802829A8 0027E608  40 80 00 0C */	bge lbl_802829B4
/* 802829AC 0027E60C  FC 20 00 90 */	fmr f1, f0
/* 802829B0 0027E610  48 00 00 14 */	b lbl_802829C4
lbl_802829B4:
/* 802829B4 0027E614  C0 02 A1 64 */	lfs f0, lbl_80642764-_SDA2_BASE_(r2)
/* 802829B8 0027E618  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 802829BC 0027E61C  40 81 00 08 */	ble lbl_802829C4
/* 802829C0 0027E620  FC 20 00 90 */	fmr f1, f0
lbl_802829C4:
/* 802829C4 0027E624  C0 62 A1 40 */	lfs f3, lbl_80642740-_SDA2_BASE_(r2)
/* 802829C8 0027E628  C0 02 A1 60 */	lfs f0, lbl_80642760-_SDA2_BASE_(r2)
/* 802829CC 0027E62C  EC 23 00 72 */	fmuls f1, f3, f1
/* 802829D0 0027E630  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802829D4 0027E634  FC 20 08 1E */	fctiwz f1, f1
/* 802829D8 0027E638  D8 21 00 08 */	stfd f1, 8(r1)
/* 802829DC 0027E63C  80 81 00 0C */	lwz r4, 0xc(r1)
/* 802829E0 0027E640  40 80 00 0C */	bge lbl_802829EC
/* 802829E4 0027E644  FC 40 00 90 */	fmr f2, f0
/* 802829E8 0027E648  48 00 00 14 */	b lbl_802829FC
lbl_802829EC:
/* 802829EC 0027E64C  C0 02 A1 64 */	lfs f0, lbl_80642764-_SDA2_BASE_(r2)
/* 802829F0 0027E650  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802829F4 0027E654  40 81 00 08 */	ble lbl_802829FC
/* 802829F8 0027E658  FC 40 00 90 */	fmr f2, f0
lbl_802829FC:
/* 802829FC 0027E65C  C0 02 A1 40 */	lfs f0, lbl_80642740-_SDA2_BASE_(r2)
/* 80282A00 0027E660  80 03 00 04 */	lwz r0, 4(r3)
/* 80282A04 0027E664  50 80 06 3E */	rlwimi r0, r4, 0, 0x18, 0x1f
/* 80282A08 0027E668  EC 00 00 B2 */	fmuls f0, f0, f2
/* 80282A0C 0027E66C  FC 00 00 1E */	fctiwz f0, f0
/* 80282A10 0027E670  D8 01 00 08 */	stfd f0, 8(r1)
/* 80282A14 0027E674  80 81 00 0C */	lwz r4, 0xc(r1)
/* 80282A18 0027E678  50 80 44 2E */	rlwimi r0, r4, 8, 0x10, 0x17
/* 80282A1C 0027E67C  90 03 00 04 */	stw r0, 4(r3)
/* 80282A20 0027E680  38 21 00 10 */	addi r1, r1, 0x10
/* 80282A24 0027E684  4E 80 00 20 */	blr

.global GXInitTexObjWrapMode
GXInitTexObjWrapMode:
/* 80282A28 0027E688  80 03 00 00 */	lwz r0, 0(r3)
/* 80282A2C 0027E68C  50 80 07 BE */	rlwimi r0, r4, 0, 0x1e, 0x1f
/* 80282A30 0027E690  50 A0 17 3A */	rlwimi r0, r5, 2, 0x1c, 0x1d
/* 80282A34 0027E694  90 03 00 00 */	stw r0, 0(r3)
/* 80282A38 0027E698  4E 80 00 20 */	blr

.global GXInitTexObjTlut
GXInitTexObjTlut:
/* 80282A3C 0027E69C  90 83 00 18 */	stw r4, 0x18(r3)
/* 80282A40 0027E6A0  4E 80 00 20 */	blr

.global GXGetTexObjFmt
GXGetTexObjFmt:
/* 80282A44 0027E6A4  80 63 00 14 */	lwz r3, 0x14(r3)
/* 80282A48 0027E6A8  4E 80 00 20 */	blr

.global GXGetTexObjMipMap
GXGetTexObjMipMap:
/* 80282A4C 0027E6AC  88 03 00 1F */	lbz r0, 0x1f(r3)
/* 80282A50 0027E6B0  54 03 07 FE */	clrlwi r3, r0, 0x1f
/* 80282A54 0027E6B4  4E 80 00 20 */	blr

.global GXGetTexObjTlut
GXGetTexObjTlut:
/* 80282A58 0027E6B8  80 63 00 18 */	lwz r3, 0x18(r3)
/* 80282A5C 0027E6BC  4E 80 00 20 */	blr

.global GXLoadTexObjPreLoaded
GXLoadTexObjPreLoaded:
/* 80282A60 0027E6C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80282A64 0027E6C4  7C 08 02 A6 */	mflr r0
/* 80282A68 0027E6C8  39 6D 88 68 */	addi r11, r13, lbl_8063DB28-_SDA_BASE_
/* 80282A6C 0027E6CC  39 4D 88 70 */	addi r10, r13, lbl_8063DB30-_SDA_BASE_
/* 80282A70 0027E6D0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80282A74 0027E6D4  39 2D 88 78 */	addi r9, r13, lbl_8063DB38-_SDA_BASE_
/* 80282A78 0027E6D8  81 83 00 00 */	lwz r12, 0(r3)
/* 80282A7C 0027E6DC  39 0D 88 80 */	addi r8, r13, lbl_8063DB40-_SDA_BASE_
/* 80282A80 0027E6E0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80282A84 0027E6E4  38 ED 88 88 */	addi r7, r13, lbl_8063DB48-_SDA_BASE_
/* 80282A88 0027E6E8  38 CD 88 90 */	addi r6, r13, lbl_8063DB50-_SDA_BASE_
/* 80282A8C 0027E6EC  7C BF 2B 78 */	mr r31, r5
/* 80282A90 0027E6F0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80282A94 0027E6F4  7C 7E 1B 78 */	mr r30, r3
/* 80282A98 0027E6F8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80282A9C 0027E6FC  3F A0 CC 01 */	lis r29, 0xCC008000@ha
/* 80282AA0 0027E700  93 81 00 10 */	stw r28, 0x10(r1)
/* 80282AA4 0027E704  3B 80 00 61 */	li r28, 0x61
/* 80282AA8 0027E708  7C 0B 28 AE */	lbzx r0, r11, r5
/* 80282AAC 0027E70C  81 63 00 04 */	lwz r11, 4(r3)
/* 80282AB0 0027E710  50 0C C0 0E */	rlwimi r12, r0, 0x18, 0, 7
/* 80282AB4 0027E714  7C 0A 28 AE */	lbzx r0, r10, r5
/* 80282AB8 0027E718  7D 49 28 AE */	lbzx r10, r9, r5
/* 80282ABC 0027E71C  50 0B C0 0E */	rlwimi r11, r0, 0x18, 0, 7
/* 80282AC0 0027E720  7C 07 28 AE */	lbzx r0, r7, r5
/* 80282AC4 0027E724  7D 08 28 AE */	lbzx r8, r8, r5
/* 80282AC8 0027E728  7C A6 28 AE */	lbzx r5, r6, r5
/* 80282ACC 0027E72C  81 23 00 08 */	lwz r9, 8(r3)
/* 80282AD0 0027E730  51 49 C0 0E */	rlwimi r9, r10, 0x18, 0, 7
/* 80282AD4 0027E734  9B 9D 80 00 */	stb r28, 0xCC008000@l(r29)
/* 80282AD8 0027E738  80 E4 00 00 */	lwz r7, 0(r4)
/* 80282ADC 0027E73C  51 07 C0 0E */	rlwimi r7, r8, 0x18, 0, 7
/* 80282AE0 0027E740  91 9D 80 00 */	stw r12, -0x8000(r29)
/* 80282AE4 0027E744  80 C4 00 04 */	lwz r6, 4(r4)
/* 80282AE8 0027E748  50 06 C0 0E */	rlwimi r6, r0, 0x18, 0, 7
/* 80282AEC 0027E74C  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 80282AF0 0027E750  88 03 00 1F */	lbz r0, 0x1f(r3)
/* 80282AF4 0027E754  91 7D 80 00 */	stw r11, -0x8000(r29)
/* 80282AF8 0027E758  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80282AFC 0027E75C  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80282B00 0027E760  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 80282B04 0027E764  50 A0 C0 0E */	rlwimi r0, r5, 0x18, 0, 7
/* 80282B08 0027E768  91 3D 80 00 */	stw r9, -0x8000(r29)
/* 80282B0C 0027E76C  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 80282B10 0027E770  90 FD 80 00 */	stw r7, -0x8000(r29)
/* 80282B14 0027E774  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 80282B18 0027E778  90 DD 80 00 */	stw r6, -0x8000(r29)
/* 80282B1C 0027E77C  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 80282B20 0027E780  91 83 00 00 */	stw r12, 0(r3)
/* 80282B24 0027E784  91 63 00 04 */	stw r11, 4(r3)
/* 80282B28 0027E788  91 23 00 08 */	stw r9, 8(r3)
/* 80282B2C 0027E78C  90 E4 00 00 */	stw r7, 0(r4)
/* 80282B30 0027E790  90 C4 00 04 */	stw r6, 4(r4)
/* 80282B34 0027E794  90 03 00 0C */	stw r0, 0xc(r3)
/* 80282B38 0027E798  90 1D 80 00 */	stw r0, -0x8000(r29)
/* 80282B3C 0027E79C  40 82 00 38 */	bne lbl_80282B74
/* 80282B40 0027E7A0  80 82 A0 D0 */	lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282B44 0027E7A4  80 63 00 18 */	lwz r3, 0x18(r3)
/* 80282B48 0027E7A8  81 84 05 1C */	lwz r12, 0x51c(r4)
/* 80282B4C 0027E7AC  7D 89 03 A6 */	mtctr r12
/* 80282B50 0027E7B0  4E 80 04 21 */	bctrl
/* 80282B54 0027E7B4  38 8D 88 98 */	addi r4, r13, lbl_8063DB58-_SDA_BASE_
/* 80282B58 0027E7B8  80 03 00 04 */	lwz r0, 4(r3)
/* 80282B5C 0027E7BC  7C 84 F8 AE */	lbzx r4, r4, r31
/* 80282B60 0027E7C0  50 80 C0 0E */	rlwimi r0, r4, 0x18, 0, 7
/* 80282B64 0027E7C4  90 03 00 04 */	stw r0, 4(r3)
/* 80282B68 0027E7C8  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 80282B6C 0027E7CC  80 03 00 04 */	lwz r0, 4(r3)
/* 80282B70 0027E7D0  90 1D 80 00 */	stw r0, -0x8000(r29)
lbl_80282B74:
/* 80282B74 0027E7D4  80 C2 A0 D0 */	lwz r6, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282B78 0027E7D8  57 E3 10 3A */	slwi r3, r31, 2
/* 80282B7C 0027E7DC  80 BE 00 08 */	lwz r5, 8(r30)
/* 80282B80 0027E7E0  38 00 00 00 */	li r0, 0
/* 80282B84 0027E7E4  7C 86 1A 14 */	add r4, r6, r3
/* 80282B88 0027E7E8  80 7E 00 00 */	lwz r3, 0(r30)
/* 80282B8C 0027E7EC  90 A4 05 64 */	stw r5, 0x564(r4)
/* 80282B90 0027E7F0  90 64 05 84 */	stw r3, 0x584(r4)
/* 80282B94 0027E7F4  80 66 05 FC */	lwz r3, 0x5fc(r6)
/* 80282B98 0027E7F8  60 63 00 01 */	ori r3, r3, 1
/* 80282B9C 0027E7FC  90 66 05 FC */	stw r3, 0x5fc(r6)
/* 80282BA0 0027E800  B0 06 00 02 */	sth r0, 2(r6)
/* 80282BA4 0027E804  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80282BA8 0027E808  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80282BAC 0027E80C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80282BB0 0027E810  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80282BB4 0027E814  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80282BB8 0027E818  7C 08 03 A6 */	mtlr r0
/* 80282BBC 0027E81C  38 21 00 20 */	addi r1, r1, 0x20
/* 80282BC0 0027E820  4E 80 00 20 */	blr

.global GXLoadTexObj
GXLoadTexObj:
/* 80282BC4 0027E824  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80282BC8 0027E828  7C 08 02 A6 */	mflr r0
/* 80282BCC 0027E82C  80 A2 A0 D0 */	lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282BD0 0027E830  90 01 00 14 */	stw r0, 0x14(r1)
/* 80282BD4 0027E834  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80282BD8 0027E838  7C 9F 23 78 */	mr r31, r4
/* 80282BDC 0027E83C  93 C1 00 08 */	stw r30, 8(r1)
/* 80282BE0 0027E840  7C 7E 1B 78 */	mr r30, r3
/* 80282BE4 0027E844  81 85 05 18 */	lwz r12, 0x518(r5)
/* 80282BE8 0027E848  7D 89 03 A6 */	mtctr r12
/* 80282BEC 0027E84C  4E 80 04 21 */	bctrl
/* 80282BF0 0027E850  7C 64 1B 78 */	mr r4, r3
/* 80282BF4 0027E854  7F C3 F3 78 */	mr r3, r30
/* 80282BF8 0027E858  7F E5 FB 78 */	mr r5, r31
/* 80282BFC 0027E85C  4B FF FE 65 */	bl GXLoadTexObjPreLoaded
/* 80282C00 0027E860  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80282C04 0027E864  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80282C08 0027E868  83 C1 00 08 */	lwz r30, 8(r1)
/* 80282C0C 0027E86C  7C 08 03 A6 */	mtlr r0
/* 80282C10 0027E870  38 21 00 10 */	addi r1, r1, 0x10
/* 80282C14 0027E874  4E 80 00 20 */	blr

.global GXInitTlutObj
GXInitTlutObj:
/* 80282C18 0027E878  80 E3 00 04 */	lwz r7, 4(r3)
/* 80282C1C 0027E87C  38 00 00 64 */	li r0, 0x64
/* 80282C20 0027E880  50 87 DA 3E */	rlwimi r7, r4, 0x1b, 8, 0x1f
/* 80282C24 0027E884  38 80 00 00 */	li r4, 0
/* 80282C28 0027E888  50 A4 55 2A */	rlwimi r4, r5, 0xa, 0x14, 0x15
/* 80282C2C 0027E88C  B0 C3 00 08 */	sth r6, 8(r3)
/* 80282C30 0027E890  50 07 C0 0E */	rlwimi r7, r0, 0x18, 0, 7
/* 80282C34 0027E894  90 83 00 00 */	stw r4, 0(r3)
/* 80282C38 0027E898  90 E3 00 04 */	stw r7, 4(r3)
/* 80282C3C 0027E89C  4E 80 00 20 */	blr

.global GXLoadTlut
GXLoadTlut:
/* 80282C40 0027E8A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80282C44 0027E8A4  7C 08 02 A6 */	mflr r0
/* 80282C48 0027E8A8  80 A2 A0 D0 */	lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282C4C 0027E8AC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80282C50 0027E8B0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80282C54 0027E8B4  93 C1 00 08 */	stw r30, 8(r1)
/* 80282C58 0027E8B8  7C 7E 1B 78 */	mr r30, r3
/* 80282C5C 0027E8BC  7C 83 23 78 */	mr r3, r4
/* 80282C60 0027E8C0  81 85 05 1C */	lwz r12, 0x51c(r5)
/* 80282C64 0027E8C4  7D 89 03 A6 */	mtctr r12
/* 80282C68 0027E8C8  4E 80 04 21 */	bctrl
/* 80282C6C 0027E8CC  7C 7F 1B 78 */	mr r31, r3
/* 80282C70 0027E8D0  48 00 0E AD */	bl __GXFlushTextureState
/* 80282C74 0027E8D4  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 80282C78 0027E8D8  38 80 00 61 */	li r4, 0x61
/* 80282C7C 0027E8DC  98 83 80 00 */	stb r4, 0xCC008000@l(r3)
/* 80282C80 0027E8E0  80 1E 00 04 */	lwz r0, 4(r30)
/* 80282C84 0027E8E4  90 03 80 00 */	stw r0, -0x8000(r3)
/* 80282C88 0027E8E8  98 83 80 00 */	stb r4, -0x8000(r3)
/* 80282C8C 0027E8EC  80 1F 00 00 */	lwz r0, 0(r31)
/* 80282C90 0027E8F0  90 03 80 00 */	stw r0, -0x8000(r3)
/* 80282C94 0027E8F4  48 00 0E 89 */	bl __GXFlushTextureState
/* 80282C98 0027E8F8  80 1F 00 00 */	lwz r0, 0(r31)
/* 80282C9C 0027E8FC  80 9E 00 00 */	lwz r4, 0(r30)
/* 80282CA0 0027E900  50 04 05 BE */	rlwimi r4, r0, 0, 0x16, 0x1f
/* 80282CA4 0027E904  80 7E 00 04 */	lwz r3, 4(r30)
/* 80282CA8 0027E908  90 9F 00 04 */	stw r4, 4(r31)
/* 80282CAC 0027E90C  80 1E 00 08 */	lwz r0, 8(r30)
/* 80282CB0 0027E910  90 7F 00 08 */	stw r3, 8(r31)
/* 80282CB4 0027E914  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80282CB8 0027E918  90 9E 00 00 */	stw r4, 0(r30)
/* 80282CBC 0027E91C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80282CC0 0027E920  83 C1 00 08 */	lwz r30, 8(r1)
/* 80282CC4 0027E924  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80282CC8 0027E928  7C 08 03 A6 */	mtlr r0
/* 80282CCC 0027E92C  38 21 00 10 */	addi r1, r1, 0x10
/* 80282CD0 0027E930  4E 80 00 20 */	blr

.global GXInitTexCacheRegion
GXInitTexCacheRegion:
/* 80282CD4 0027E934  2C 06 00 01 */	cmpwi r6, 1
/* 80282CD8 0027E938  41 82 00 28 */	beq lbl_80282D00
/* 80282CDC 0027E93C  40 80 00 10 */	bge lbl_80282CEC
/* 80282CE0 0027E940  2C 06 00 00 */	cmpwi r6, 0
/* 80282CE4 0027E944  40 80 00 14 */	bge lbl_80282CF8
/* 80282CE8 0027E948  48 00 00 24 */	b lbl_80282D0C
lbl_80282CEC:
/* 80282CEC 0027E94C  2C 06 00 03 */	cmpwi r6, 3
/* 80282CF0 0027E950  40 80 00 1C */	bge lbl_80282D0C
/* 80282CF4 0027E954  48 00 00 14 */	b lbl_80282D08
lbl_80282CF8:
/* 80282CF8 0027E958  38 C0 00 03 */	li r6, 3
/* 80282CFC 0027E95C  48 00 00 10 */	b lbl_80282D0C
lbl_80282D00:
/* 80282D00 0027E960  38 C0 00 04 */	li r6, 4
/* 80282D04 0027E964  48 00 00 08 */	b lbl_80282D0C
lbl_80282D08:
/* 80282D08 0027E968  38 C0 00 05 */	li r6, 5
lbl_80282D0C:
/* 80282D0C 0027E96C  38 00 00 00 */	li r0, 0
/* 80282D10 0027E970  2C 08 00 02 */	cmpwi r8, 2
/* 80282D14 0027E974  50 A0 DC 7E */	rlwimi r0, r5, 0x1b, 0x11, 0x1f
/* 80282D18 0027E978  50 C0 7B A0 */	rlwimi r0, r6, 0xf, 0xe, 0x10
/* 80282D1C 0027E97C  50 C0 92 DA */	rlwimi r0, r6, 0x12, 0xb, 0xd
/* 80282D20 0027E980  90 03 00 00 */	stw r0, 0(r3)
/* 80282D24 0027E984  41 82 00 34 */	beq lbl_80282D58
/* 80282D28 0027E988  40 80 00 14 */	bge lbl_80282D3C
/* 80282D2C 0027E98C  2C 08 00 00 */	cmpwi r8, 0
/* 80282D30 0027E990  41 82 00 18 */	beq lbl_80282D48
/* 80282D34 0027E994  40 80 00 1C */	bge lbl_80282D50
/* 80282D38 0027E998  48 00 00 2C */	b lbl_80282D64
lbl_80282D3C:
/* 80282D3C 0027E99C  2C 08 00 04 */	cmpwi r8, 4
/* 80282D40 0027E9A0  40 80 00 24 */	bge lbl_80282D64
/* 80282D44 0027E9A4  48 00 00 1C */	b lbl_80282D60
lbl_80282D48:
/* 80282D48 0027E9A8  38 C0 00 03 */	li r6, 3
/* 80282D4C 0027E9AC  48 00 00 18 */	b lbl_80282D64
lbl_80282D50:
/* 80282D50 0027E9B0  38 C0 00 04 */	li r6, 4
/* 80282D54 0027E9B4  48 00 00 10 */	b lbl_80282D64
lbl_80282D58:
/* 80282D58 0027E9B8  38 C0 00 05 */	li r6, 5
/* 80282D5C 0027E9BC  48 00 00 08 */	b lbl_80282D64
lbl_80282D60:
/* 80282D60 0027E9C0  38 C0 00 00 */	li r6, 0
lbl_80282D64:
/* 80282D64 0027E9C4  38 A0 00 00 */	li r5, 0
/* 80282D68 0027E9C8  38 00 00 01 */	li r0, 1
/* 80282D6C 0027E9CC  50 E5 DC 7E */	rlwimi r5, r7, 0x1b, 0x11, 0x1f
/* 80282D70 0027E9D0  98 83 00 0C */	stb r4, 0xc(r3)
/* 80282D74 0027E9D4  50 C5 7B A0 */	rlwimi r5, r6, 0xf, 0xe, 0x10
/* 80282D78 0027E9D8  50 C5 92 DA */	rlwimi r5, r6, 0x12, 0xb, 0xd
/* 80282D7C 0027E9DC  98 03 00 0D */	stb r0, 0xd(r3)
/* 80282D80 0027E9E0  90 A3 00 04 */	stw r5, 4(r3)
/* 80282D84 0027E9E4  4E 80 00 20 */	blr

.global GXInitTlutRegion
GXInitTlutRegion:
/* 80282D88 0027E9E8  3C 04 FF F8 */	addis r0, r4, 0xfff8
/* 80282D8C 0027E9EC  38 80 00 00 */	li r4, 0
/* 80282D90 0027E9F0  50 04 BD BE */	rlwimi r4, r0, 0x17, 0x16, 0x1f
/* 80282D94 0027E9F4  38 00 00 65 */	li r0, 0x65
/* 80282D98 0027E9F8  50 A4 52 EA */	rlwimi r4, r5, 0xa, 0xb, 0x15
/* 80282D9C 0027E9FC  50 04 C0 0E */	rlwimi r4, r0, 0x18, 0, 7
/* 80282DA0 0027EA00  90 83 00 00 */	stw r4, 0(r3)
/* 80282DA4 0027EA04  4E 80 00 20 */	blr

.global GXInvalidateTexAll
GXInvalidateTexAll:
/* 80282DA8 0027EA08  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80282DAC 0027EA0C  7C 08 02 A6 */	mflr r0
/* 80282DB0 0027EA10  90 01 00 14 */	stw r0, 0x14(r1)
/* 80282DB4 0027EA14  48 00 0D 69 */	bl __GXFlushTextureState
/* 80282DB8 0027EA18  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 80282DBC 0027EA1C  38 A0 00 61 */	li r5, 0x61
/* 80282DC0 0027EA20  3C 60 66 00 */	lis r3, 0x66001000@ha
/* 80282DC4 0027EA24  98 A4 80 00 */	stb r5, 0xCC008000@l(r4)
/* 80282DC8 0027EA28  38 03 10 00 */	addi r0, r3, 0x66001000@l
/* 80282DCC 0027EA2C  90 04 80 00 */	stw r0, -0x8000(r4)
/* 80282DD0 0027EA30  38 03 11 00 */	addi r0, r3, 0x1100
/* 80282DD4 0027EA34  98 A4 80 00 */	stb r5, -0x8000(r4)
/* 80282DD8 0027EA38  90 04 80 00 */	stw r0, -0x8000(r4)
/* 80282DDC 0027EA3C  48 00 0D 41 */	bl __GXFlushTextureState
/* 80282DE0 0027EA40  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80282DE4 0027EA44  7C 08 03 A6 */	mtlr r0
/* 80282DE8 0027EA48  38 21 00 10 */	addi r1, r1, 0x10
/* 80282DEC 0027EA4C  4E 80 00 20 */	blr

.global GXSetTexRegionCallback
GXSetTexRegionCallback:
/* 80282DF0 0027EA50  80 82 A0 D0 */	lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282DF4 0027EA54  7C 60 1B 78 */	mr r0, r3
/* 80282DF8 0027EA58  80 64 05 18 */	lwz r3, 0x518(r4)
/* 80282DFC 0027EA5C  90 04 05 18 */	stw r0, 0x518(r4)
/* 80282E00 0027EA60  4E 80 00 20 */	blr

.global GXSetTlutRegionCallback
GXSetTlutRegionCallback:
/* 80282E04 0027EA64  80 82 A0 D0 */	lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282E08 0027EA68  7C 60 1B 78 */	mr r0, r3
/* 80282E0C 0027EA6C  80 64 05 1C */	lwz r3, 0x51c(r4)
/* 80282E10 0027EA70  90 04 05 1C */	stw r0, 0x51c(r4)
/* 80282E14 0027EA74  4E 80 00 20 */	blr

.global __SetSURegs
__SetSURegs:
/* 80282E18 0027EA78  81 62 A0 D0 */	lwz r11, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282E1C 0027EA7C  54 86 10 3A */	slwi r6, r4, 2
/* 80282E20 0027EA80  54 60 10 3A */	slwi r0, r3, 2
/* 80282E24 0027EA84  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 80282E28 0027EA88  7D 4B 02 14 */	add r10, r11, r0
/* 80282E2C 0027EA8C  7D 2B 32 14 */	add r9, r11, r6
/* 80282E30 0027EA90  80 6A 05 64 */	lwz r3, 0x564(r10)
/* 80282E34 0027EA94  38 80 00 61 */	li r4, 0x61
/* 80282E38 0027EA98  81 09 01 08 */	lwz r8, 0x108(r9)
/* 80282E3C 0027EA9C  38 00 00 00 */	li r0, 0
/* 80282E40 0027EAA0  54 66 05 BE */	clrlwi r6, r3, 0x16
/* 80282E44 0027EAA4  54 63 B5 BE */	rlwinm r3, r3, 0x16, 0x16, 0x1f
/* 80282E48 0027EAA8  50 C8 04 3E */	rlwimi r8, r6, 0, 0x10, 0x1f
/* 80282E4C 0027EAAC  91 09 01 08 */	stw r8, 0x108(r9)
/* 80282E50 0027EAB0  80 E9 01 28 */	lwz r7, 0x128(r9)
/* 80282E54 0027EAB4  50 67 04 3E */	rlwimi r7, r3, 0, 0x10, 0x1f
/* 80282E58 0027EAB8  90 E9 01 28 */	stw r7, 0x128(r9)
/* 80282E5C 0027EABC  80 6A 05 84 */	lwz r3, 0x584(r10)
/* 80282E60 0027EAC0  54 66 07 BE */	clrlwi r6, r3, 0x1e
/* 80282E64 0027EAC4  54 63 F7 BE */	rlwinm r3, r3, 0x1e, 0x1e, 0x1f
/* 80282E68 0027EAC8  38 C6 FF FF */	addi r6, r6, -1
/* 80282E6C 0027EACC  7C C6 00 34 */	cntlzw r6, r6
/* 80282E70 0027EAD0  38 63 FF FF */	addi r3, r3, -1
/* 80282E74 0027EAD4  50 C8 5B DE */	rlwimi r8, r6, 0xb, 0xf, 0xf
/* 80282E78 0027EAD8  7C 63 00 34 */	cntlzw r3, r3
/* 80282E7C 0027EADC  91 09 01 08 */	stw r8, 0x108(r9)
/* 80282E80 0027EAE0  50 67 5B DE */	rlwimi r7, r3, 0xb, 0xf, 0xf
/* 80282E84 0027EAE4  90 E9 01 28 */	stw r7, 0x128(r9)
/* 80282E88 0027EAE8  98 85 80 00 */	stb r4, 0xCC008000@l(r5)
/* 80282E8C 0027EAEC  80 69 01 08 */	lwz r3, 0x108(r9)
/* 80282E90 0027EAF0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 80282E94 0027EAF4  98 85 80 00 */	stb r4, -0x8000(r5)
/* 80282E98 0027EAF8  80 69 01 28 */	lwz r3, 0x128(r9)
/* 80282E9C 0027EAFC  90 65 80 00 */	stw r3, -0x8000(r5)
/* 80282EA0 0027EB00  B0 0B 00 02 */	sth r0, 2(r11)
/* 80282EA4 0027EB04  4E 80 00 20 */	blr

.global __GXSetSUTexRegs
__GXSetSUTexRegs:
/* 80282EA8 0027EB08  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80282EAC 0027EB0C  7C 08 02 A6 */	mflr r0
/* 80282EB0 0027EB10  90 01 00 34 */	stw r0, 0x34(r1)
/* 80282EB4 0027EB14  39 61 00 30 */	addi r11, r1, 0x30
/* 80282EB8 0027EB18  4B F4 42 61 */	bl _savegpr_23
/* 80282EBC 0027EB1C  83 A2 A0 D0 */	lwz r29, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282EC0 0027EB20  80 1D 05 E4 */	lwz r0, 0x5e4(r29)
/* 80282EC4 0027EB24  28 00 00 FF */	cmplwi r0, 0xff
/* 80282EC8 0027EB28  41 82 01 30 */	beq lbl_80282FF8
/* 80282ECC 0027EB2C  80 1D 02 54 */	lwz r0, 0x254(r29)
/* 80282ED0 0027EB30  3B 80 00 00 */	li r28, 0
/* 80282ED4 0027EB34  3A E0 00 01 */	li r23, 1
/* 80282ED8 0027EB38  54 03 B7 3E */	rlwinm r3, r0, 0x16, 0x1c, 0x1f
/* 80282EDC 0027EB3C  54 1B 87 7E */	rlwinm r27, r0, 0x10, 0x1d, 0x1f
/* 80282EE0 0027EB40  3B 43 00 01 */	addi r26, r3, 1
/* 80282EE4 0027EB44  48 00 00 88 */	b lbl_80282F6C
lbl_80282EE8:
/* 80282EE8 0027EB48  2C 1C 00 02 */	cmpwi r28, 2
/* 80282EEC 0027EB4C  41 82 00 44 */	beq lbl_80282F30
/* 80282EF0 0027EB50  40 80 00 14 */	bge lbl_80282F04
/* 80282EF4 0027EB54  2C 1C 00 00 */	cmpwi r28, 0
/* 80282EF8 0027EB58  41 82 00 18 */	beq lbl_80282F10
/* 80282EFC 0027EB5C  40 80 00 24 */	bge lbl_80282F20
/* 80282F00 0027EB60  48 00 00 4C */	b lbl_80282F4C
lbl_80282F04:
/* 80282F04 0027EB64  2C 1C 00 04 */	cmpwi r28, 4
/* 80282F08 0027EB68  40 80 00 44 */	bge lbl_80282F4C
/* 80282F0C 0027EB6C  48 00 00 34 */	b lbl_80282F40
lbl_80282F10:
/* 80282F10 0027EB70  80 1D 01 70 */	lwz r0, 0x170(r29)
/* 80282F14 0027EB74  54 19 07 7E */	clrlwi r25, r0, 0x1d
/* 80282F18 0027EB78  54 18 EF 7E */	rlwinm r24, r0, 0x1d, 0x1d, 0x1f
/* 80282F1C 0027EB7C  48 00 00 30 */	b lbl_80282F4C
lbl_80282F20:
/* 80282F20 0027EB80  80 1D 01 70 */	lwz r0, 0x170(r29)
/* 80282F24 0027EB84  54 19 D7 7E */	rlwinm r25, r0, 0x1a, 0x1d, 0x1f
/* 80282F28 0027EB88  54 18 BF 7E */	rlwinm r24, r0, 0x17, 0x1d, 0x1f
/* 80282F2C 0027EB8C  48 00 00 20 */	b lbl_80282F4C
lbl_80282F30:
/* 80282F30 0027EB90  80 1D 01 70 */	lwz r0, 0x170(r29)
/* 80282F34 0027EB94  54 19 A7 7E */	rlwinm r25, r0, 0x14, 0x1d, 0x1f
/* 80282F38 0027EB98  54 18 8F 7E */	rlwinm r24, r0, 0x11, 0x1d, 0x1f
/* 80282F3C 0027EB9C  48 00 00 10 */	b lbl_80282F4C
lbl_80282F40:
/* 80282F40 0027EBA0  80 1D 01 70 */	lwz r0, 0x170(r29)
/* 80282F44 0027EBA4  54 19 77 7E */	rlwinm r25, r0, 0xe, 0x1d, 0x1f
/* 80282F48 0027EBA8  54 18 5F 7E */	rlwinm r24, r0, 0xb, 0x1d, 0x1f
lbl_80282F4C:
/* 80282F4C 0027EBAC  80 7D 05 E4 */	lwz r3, 0x5e4(r29)
/* 80282F50 0027EBB0  7E E0 C0 30 */	slw r0, r23, r24
/* 80282F54 0027EBB4  7C 60 00 39 */	and. r0, r3, r0
/* 80282F58 0027EBB8  40 82 00 10 */	bne lbl_80282F68
/* 80282F5C 0027EBBC  7F 23 CB 78 */	mr r3, r25
/* 80282F60 0027EBC0  7F 04 C3 78 */	mr r4, r24
/* 80282F64 0027EBC4  4B FF FE B5 */	bl __SetSURegs
lbl_80282F68:
/* 80282F68 0027EBC8  3B 9C 00 01 */	addi r28, r28, 1
lbl_80282F6C:
/* 80282F6C 0027EBCC  7C 1C D8 40 */	cmplw r28, r27
/* 80282F70 0027EBD0  41 80 FF 78 */	blt lbl_80282EE8
/* 80282F74 0027EBD4  83 82 A0 D0 */	lwz r28, lbl_806426D0-_SDA2_BASE_(r2)
/* 80282F78 0027EBD8  3B 60 00 00 */	li r27, 0
/* 80282F7C 0027EBDC  3A E0 00 01 */	li r23, 1
/* 80282F80 0027EBE0  7F 9F E3 78 */	mr r31, r28
/* 80282F84 0027EBE4  3B DC 01 50 */	addi r30, r28, 0x150
/* 80282F88 0027EBE8  48 00 00 68 */	b lbl_80282FF0
lbl_80282F8C:
/* 80282F8C 0027EBEC  57 60 07 FF */	clrlwi. r0, r27, 0x1f
/* 80282F90 0027EBF0  80 1F 05 A4 */	lwz r0, 0x5a4(r31)
/* 80282F94 0027EBF4  57 63 08 3A */	rlwinm r3, r27, 1, 0, 0x1d
/* 80282F98 0027EBF8  54 19 06 2C */	rlwinm r25, r0, 0, 0x18, 0x16
/* 80282F9C 0027EBFC  41 82 00 10 */	beq lbl_80282FAC
/* 80282FA0 0027EC00  7C 1E 18 2E */	lwzx r0, r30, r3
/* 80282FA4 0027EC04  54 18 8F 7E */	rlwinm r24, r0, 0x11, 0x1d, 0x1f
/* 80282FA8 0027EC08  48 00 00 0C */	b lbl_80282FB4
lbl_80282FAC:
/* 80282FAC 0027EC0C  7C 1E 18 2E */	lwzx r0, r30, r3
/* 80282FB0 0027EC10  54 18 EF 7E */	rlwinm r24, r0, 0x1d, 0x1d, 0x1f
lbl_80282FB4:
/* 80282FB4 0027EC14  28 19 00 FF */	cmplwi r25, 0xff
/* 80282FB8 0027EC18  41 82 00 30 */	beq lbl_80282FE8
/* 80282FBC 0027EC1C  80 7D 05 E4 */	lwz r3, 0x5e4(r29)
/* 80282FC0 0027EC20  7E E0 C0 30 */	slw r0, r23, r24
/* 80282FC4 0027EC24  7C 60 00 39 */	and. r0, r3, r0
/* 80282FC8 0027EC28  40 82 00 20 */	bne lbl_80282FE8
/* 80282FCC 0027EC2C  80 7C 05 E8 */	lwz r3, 0x5e8(r28)
/* 80282FD0 0027EC30  7E E0 D8 30 */	slw r0, r23, r27
/* 80282FD4 0027EC34  7C 60 00 39 */	and. r0, r3, r0
/* 80282FD8 0027EC38  41 82 00 10 */	beq lbl_80282FE8
/* 80282FDC 0027EC3C  7F 23 CB 78 */	mr r3, r25
/* 80282FE0 0027EC40  7F 04 C3 78 */	mr r4, r24
/* 80282FE4 0027EC44  4B FF FE 35 */	bl __SetSURegs
lbl_80282FE8:
/* 80282FE8 0027EC48  3B FF 00 04 */	addi r31, r31, 4
/* 80282FEC 0027EC4C  3B 7B 00 01 */	addi r27, r27, 1
lbl_80282FF0:
/* 80282FF0 0027EC50  7C 1B D0 40 */	cmplw r27, r26
/* 80282FF4 0027EC54  41 80 FF 98 */	blt lbl_80282F8C
lbl_80282FF8:
/* 80282FF8 0027EC58  39 61 00 30 */	addi r11, r1, 0x30
/* 80282FFC 0027EC5C  4B F4 41 69 */	bl _restgpr_23
/* 80283000 0027EC60  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80283004 0027EC64  7C 08 03 A6 */	mtlr r0
/* 80283008 0027EC68  38 21 00 30 */	addi r1, r1, 0x30
/* 8028300C 0027EC6C  4E 80 00 20 */	blr

.global __GXSetTmemConfig
__GXSetTmemConfig:
/* 80283010 0027EC70  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80283014 0027EC74  2C 03 00 01 */	cmpwi r3, 1
/* 80283018 0027EC78  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8028301C 0027EC7C  93 C1 00 08 */	stw r30, 8(r1)
/* 80283020 0027EC80  41 82 01 20 */	beq lbl_80283140
/* 80283024 0027EC84  40 80 00 08 */	bge lbl_8028302C
/* 80283028 0027EC88  48 00 02 24 */	b lbl_8028324C
lbl_8028302C:
/* 8028302C 0027EC8C  2C 03 00 03 */	cmpwi r3, 3
/* 80283030 0027EC90  40 80 02 1C */	bge lbl_8028324C
/* 80283034 0027EC94  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 80283038 0027EC98  38 00 00 61 */	li r0, 0x61
/* 8028303C 0027EC9C  3C 80 8C 0E */	lis r4, 0x8C0D8000@ha
/* 80283040 0027ECA0  98 03 80 00 */	stb r0, 0xCC008000@l(r3)
/* 80283044 0027ECA4  38 84 80 00 */	addi r4, r4, 0x8C0D8000@l
/* 80283048 0027ECA8  3C A0 90 0E */	lis r5, 0x900DC000@ha
/* 8028304C 0027ECAC  90 83 80 00 */	stw r4, -0x8000(r3)
/* 80283050 0027ECB0  3C 80 8D 0E */	lis r4, 0x8D0D8800@ha
/* 80283054 0027ECB4  3F E0 91 0E */	lis r31, 0x910DC800@ha
/* 80283058 0027ECB8  3F C0 8E 0E */	lis r30, 0x8E0D9000@ha
/* 8028305C 0027ECBC  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283060 0027ECC0  38 A5 C0 00 */	addi r5, r5, 0x900DC000@l
/* 80283064 0027ECC4  3D 80 92 0E */	lis r12, 0x920DD000@ha
/* 80283068 0027ECC8  3D 60 8F 0E */	lis r11, 0x8F0D9800@ha
/* 8028306C 0027ECCC  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 80283070 0027ECD0  3D 40 93 0E */	lis r10, 0x930DD800@ha
/* 80283074 0027ECD4  3D 20 AC 0E */	lis r9, 0xAC0DA000@ha
/* 80283078 0027ECD8  3D 00 B0 0E */	lis r8, 0xB00DC400@ha
/* 8028307C 0027ECDC  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283080 0027ECE0  38 84 88 00 */	addi r4, r4, 0x8D0D8800@l
/* 80283084 0027ECE4  3C E0 AD 0E */	lis r7, 0xAD0DA800@ha
/* 80283088 0027ECE8  3C C0 B1 0E */	lis r6, 0xB10DCC00@ha
/* 8028308C 0027ECEC  90 83 80 00 */	stw r4, -0x8000(r3)
/* 80283090 0027ECF0  3C A0 AE 0E */	lis r5, 0xAE0DB000@ha
/* 80283094 0027ECF4  3C 80 B2 0E */	lis r4, 0xB20DD400@ha
/* 80283098 0027ECF8  3B FF C8 00 */	addi r31, r31, 0x910DC800@l
/* 8028309C 0027ECFC  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830A0 0027ED00  3B DE 90 00 */	addi r30, r30, 0x8E0D9000@l
/* 802830A4 0027ED04  39 8C D0 00 */	addi r12, r12, 0x920DD000@l
/* 802830A8 0027ED08  39 6B 98 00 */	addi r11, r11, 0x8F0D9800@l
/* 802830AC 0027ED0C  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 802830B0 0027ED10  39 4A D8 00 */	addi r10, r10, 0x930DD800@l
/* 802830B4 0027ED14  39 29 A0 00 */	addi r9, r9, 0xAC0DA000@l
/* 802830B8 0027ED18  39 08 C4 00 */	addi r8, r8, 0xB00DC400@l
/* 802830BC 0027ED1C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830C0 0027ED20  38 E7 A8 00 */	addi r7, r7, 0xAD0DA800@l
/* 802830C4 0027ED24  38 C6 CC 00 */	addi r6, r6, 0xB10DCC00@l
/* 802830C8 0027ED28  38 A5 B0 00 */	addi r5, r5, 0xAE0DB000@l
/* 802830CC 0027ED2C  93 C3 80 00 */	stw r30, -0x8000(r3)
/* 802830D0 0027ED30  38 84 D4 00 */	addi r4, r4, 0xB20DD400@l
/* 802830D4 0027ED34  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830D8 0027ED38  91 83 80 00 */	stw r12, -0x8000(r3)
/* 802830DC 0027ED3C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830E0 0027ED40  91 63 80 00 */	stw r11, -0x8000(r3)
/* 802830E4 0027ED44  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830E8 0027ED48  91 43 80 00 */	stw r10, -0x8000(r3)
/* 802830EC 0027ED4C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830F0 0027ED50  91 23 80 00 */	stw r9, -0x8000(r3)
/* 802830F4 0027ED54  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802830F8 0027ED58  91 03 80 00 */	stw r8, -0x8000(r3)
/* 802830FC 0027ED5C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283100 0027ED60  90 E3 80 00 */	stw r7, -0x8000(r3)
/* 80283104 0027ED64  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283108 0027ED68  90 C3 80 00 */	stw r6, -0x8000(r3)
/* 8028310C 0027ED6C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283110 0027ED70  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 80283114 0027ED74  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283118 0027ED78  90 83 80 00 */	stw r4, -0x8000(r3)
/* 8028311C 0027ED7C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283120 0027ED80  3C A0 AF 0E */	lis r5, 0xAF0DB800@ha
/* 80283124 0027ED84  3C 80 B3 0E */	lis r4, 0xB30DDC00@ha
/* 80283128 0027ED88  38 A5 B8 00 */	addi r5, r5, 0xAF0DB800@l
/* 8028312C 0027ED8C  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 80283130 0027ED90  38 84 DC 00 */	addi r4, r4, 0xB30DDC00@l
/* 80283134 0027ED94  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283138 0027ED98  90 83 80 00 */	stw r4, -0x8000(r3)
/* 8028313C 0027ED9C  48 00 02 18 */	b lbl_80283354
lbl_80283140:
/* 80283140 0027EDA0  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 80283144 0027EDA4  38 00 00 61 */	li r0, 0x61
/* 80283148 0027EDA8  3C 80 8C 0E */	lis r4, 0x8C0D8000@ha
/* 8028314C 0027EDAC  98 03 80 00 */	stb r0, 0xCC008000@l(r3)
/* 80283150 0027EDB0  38 84 80 00 */	addi r4, r4, 0x8C0D8000@l
/* 80283154 0027EDB4  3C A0 90 0E */	lis r5, 0x900DC000@ha
/* 80283158 0027EDB8  90 83 80 00 */	stw r4, -0x8000(r3)
/* 8028315C 0027EDBC  3C 80 8D 0E */	lis r4, 0x8D0D8800@ha
/* 80283160 0027EDC0  3F E0 91 0E */	lis r31, 0x910DC800@ha
/* 80283164 0027EDC4  3F C0 8E 0E */	lis r30, 0x8E0D9000@ha
/* 80283168 0027EDC8  98 03 80 00 */	stb r0, -0x8000(r3)
/* 8028316C 0027EDCC  38 A5 C0 00 */	addi r5, r5, 0x900DC000@l
/* 80283170 0027EDD0  3D 80 92 0E */	lis r12, 0x920DD000@ha
/* 80283174 0027EDD4  3D 60 8F 0E */	lis r11, 0x8F0D9800@ha
/* 80283178 0027EDD8  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 8028317C 0027EDDC  3D 40 93 0E */	lis r10, 0x930DD800@ha
/* 80283180 0027EDE0  3D 20 AC 0E */	lis r9, 0xAC0DA000@ha
/* 80283184 0027EDE4  3D 00 B0 0E */	lis r8, 0xB00DE000@ha
/* 80283188 0027EDE8  98 03 80 00 */	stb r0, -0x8000(r3)
/* 8028318C 0027EDEC  38 84 88 00 */	addi r4, r4, 0x8D0D8800@l
/* 80283190 0027EDF0  3C E0 AD 0E */	lis r7, 0xAD0DA800@ha
/* 80283194 0027EDF4  3C C0 B1 0E */	lis r6, 0xB10DE800@ha
/* 80283198 0027EDF8  90 83 80 00 */	stw r4, -0x8000(r3)
/* 8028319C 0027EDFC  3C A0 AE 0E */	lis r5, 0xAE0DB000@ha
/* 802831A0 0027EE00  3C 80 B2 0E */	lis r4, 0xB20DF000@ha
/* 802831A4 0027EE04  3B FF C8 00 */	addi r31, r31, 0x910DC800@l
/* 802831A8 0027EE08  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802831AC 0027EE0C  3B DE 90 00 */	addi r30, r30, 0x8E0D9000@l
/* 802831B0 0027EE10  39 8C D0 00 */	addi r12, r12, 0x920DD000@l
/* 802831B4 0027EE14  39 6B 98 00 */	addi r11, r11, 0x8F0D9800@l
/* 802831B8 0027EE18  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 802831BC 0027EE1C  39 4A D8 00 */	addi r10, r10, 0x930DD800@l
/* 802831C0 0027EE20  39 29 A0 00 */	addi r9, r9, 0xAC0DA000@l
/* 802831C4 0027EE24  39 08 E0 00 */	addi r8, r8, 0xB00DE000@l
/* 802831C8 0027EE28  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802831CC 0027EE2C  38 E7 A8 00 */	addi r7, r7, 0xAD0DA800@l
/* 802831D0 0027EE30  38 C6 E8 00 */	addi r6, r6, 0xB10DE800@l
/* 802831D4 0027EE34  38 A5 B0 00 */	addi r5, r5, 0xAE0DB000@l
/* 802831D8 0027EE38  93 C3 80 00 */	stw r30, -0x8000(r3)
/* 802831DC 0027EE3C  38 84 F0 00 */	addi r4, r4, 0xB20DF000@l
/* 802831E0 0027EE40  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802831E4 0027EE44  91 83 80 00 */	stw r12, -0x8000(r3)
/* 802831E8 0027EE48  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802831EC 0027EE4C  91 63 80 00 */	stw r11, -0x8000(r3)
/* 802831F0 0027EE50  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802831F4 0027EE54  91 43 80 00 */	stw r10, -0x8000(r3)
/* 802831F8 0027EE58  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802831FC 0027EE5C  91 23 80 00 */	stw r9, -0x8000(r3)
/* 80283200 0027EE60  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283204 0027EE64  91 03 80 00 */	stw r8, -0x8000(r3)
/* 80283208 0027EE68  98 03 80 00 */	stb r0, -0x8000(r3)
/* 8028320C 0027EE6C  90 E3 80 00 */	stw r7, -0x8000(r3)
/* 80283210 0027EE70  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283214 0027EE74  90 C3 80 00 */	stw r6, -0x8000(r3)
/* 80283218 0027EE78  98 03 80 00 */	stb r0, -0x8000(r3)
/* 8028321C 0027EE7C  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 80283220 0027EE80  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283224 0027EE84  90 83 80 00 */	stw r4, -0x8000(r3)
/* 80283228 0027EE88  98 03 80 00 */	stb r0, -0x8000(r3)
/* 8028322C 0027EE8C  3C A0 AF 0E */	lis r5, 0xAF0DB800@ha
/* 80283230 0027EE90  3C 80 B3 0E */	lis r4, 0xB30DF800@ha
/* 80283234 0027EE94  38 A5 B8 00 */	addi r5, r5, 0xAF0DB800@l
/* 80283238 0027EE98  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 8028323C 0027EE9C  38 84 F8 00 */	addi r4, r4, 0xB30DF800@l
/* 80283240 0027EEA0  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283244 0027EEA4  90 83 80 00 */	stw r4, -0x8000(r3)
/* 80283248 0027EEA8  48 00 01 0C */	b lbl_80283354
lbl_8028324C:
/* 8028324C 0027EEAC  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 80283250 0027EEB0  38 00 00 61 */	li r0, 0x61
/* 80283254 0027EEB4  3C 80 8C 0E */	lis r4, 0x8C0D8000@ha
/* 80283258 0027EEB8  98 03 80 00 */	stb r0, 0xCC008000@l(r3)
/* 8028325C 0027EEBC  38 84 80 00 */	addi r4, r4, 0x8C0D8000@l
/* 80283260 0027EEC0  3C A0 90 0E */	lis r5, 0x900DC000@ha
/* 80283264 0027EEC4  90 83 80 00 */	stw r4, -0x8000(r3)
/* 80283268 0027EEC8  3C 80 8D 0E */	lis r4, 0x8D0D8400@ha
/* 8028326C 0027EECC  3F C0 91 0E */	lis r30, 0x910DC400@ha
/* 80283270 0027EED0  3F E0 8E 0E */	lis r31, 0x8E0D8800@ha
/* 80283274 0027EED4  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283278 0027EED8  38 A5 C0 00 */	addi r5, r5, 0x900DC000@l
/* 8028327C 0027EEDC  3D 80 92 0E */	lis r12, 0x920DC800@ha
/* 80283280 0027EEE0  3D 60 8F 0E */	lis r11, 0x8F0D8C00@ha
/* 80283284 0027EEE4  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 80283288 0027EEE8  3D 40 93 0E */	lis r10, 0x930DCC00@ha
/* 8028328C 0027EEEC  3D 20 AC 0E */	lis r9, 0xAC0D9000@ha
/* 80283290 0027EEF0  3D 00 B0 0E */	lis r8, 0xB00DD000@ha
/* 80283294 0027EEF4  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283298 0027EEF8  38 84 84 00 */	addi r4, r4, 0x8D0D8400@l
/* 8028329C 0027EEFC  3C E0 AD 0E */	lis r7, 0xAD0D9400@ha
/* 802832A0 0027EF00  3C C0 B1 0E */	lis r6, 0xB10DD400@ha
/* 802832A4 0027EF04  90 83 80 00 */	stw r4, -0x8000(r3)
/* 802832A8 0027EF08  3C A0 AE 0E */	lis r5, 0xAE0D9800@ha
/* 802832AC 0027EF0C  3C 80 B2 0E */	lis r4, 0xB20DD800@ha
/* 802832B0 0027EF10  3B DE C4 00 */	addi r30, r30, 0x910DC400@l
/* 802832B4 0027EF14  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802832B8 0027EF18  3B FF 88 00 */	addi r31, r31, 0x8E0D8800@l
/* 802832BC 0027EF1C  39 8C C8 00 */	addi r12, r12, 0x920DC800@l
/* 802832C0 0027EF20  39 6B 8C 00 */	addi r11, r11, 0x8F0D8C00@l
/* 802832C4 0027EF24  93 C3 80 00 */	stw r30, -0x8000(r3)
/* 802832C8 0027EF28  39 4A CC 00 */	addi r10, r10, 0x930DCC00@l
/* 802832CC 0027EF2C  39 29 90 00 */	addi r9, r9, 0xAC0D9000@l
/* 802832D0 0027EF30  39 08 D0 00 */	addi r8, r8, 0xB00DD000@l
/* 802832D4 0027EF34  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802832D8 0027EF38  38 E7 94 00 */	addi r7, r7, 0xAD0D9400@l
/* 802832DC 0027EF3C  38 C6 D4 00 */	addi r6, r6, 0xB10DD400@l
/* 802832E0 0027EF40  38 A5 98 00 */	addi r5, r5, 0xAE0D9800@l
/* 802832E4 0027EF44  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 802832E8 0027EF48  38 84 D8 00 */	addi r4, r4, 0xB20DD800@l
/* 802832EC 0027EF4C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802832F0 0027EF50  91 83 80 00 */	stw r12, -0x8000(r3)
/* 802832F4 0027EF54  98 03 80 00 */	stb r0, -0x8000(r3)
/* 802832F8 0027EF58  91 63 80 00 */	stw r11, -0x8000(r3)
/* 802832FC 0027EF5C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283300 0027EF60  91 43 80 00 */	stw r10, -0x8000(r3)
/* 80283304 0027EF64  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283308 0027EF68  91 23 80 00 */	stw r9, -0x8000(r3)
/* 8028330C 0027EF6C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283310 0027EF70  91 03 80 00 */	stw r8, -0x8000(r3)
/* 80283314 0027EF74  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283318 0027EF78  90 E3 80 00 */	stw r7, -0x8000(r3)
/* 8028331C 0027EF7C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283320 0027EF80  90 C3 80 00 */	stw r6, -0x8000(r3)
/* 80283324 0027EF84  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283328 0027EF88  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 8028332C 0027EF8C  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283330 0027EF90  90 83 80 00 */	stw r4, -0x8000(r3)
/* 80283334 0027EF94  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283338 0027EF98  3C A0 AF 0E */	lis r5, 0xAF0D9C00@ha
/* 8028333C 0027EF9C  3C 80 B3 0E */	lis r4, 0xB30DDC00@ha
/* 80283340 0027EFA0  38 A5 9C 00 */	addi r5, r5, 0xAF0D9C00@l
/* 80283344 0027EFA4  90 A3 80 00 */	stw r5, -0x8000(r3)
/* 80283348 0027EFA8  38 84 DC 00 */	addi r4, r4, 0xB30DDC00@l
/* 8028334C 0027EFAC  98 03 80 00 */	stb r0, -0x8000(r3)
/* 80283350 0027EFB0  90 83 80 00 */	stw r4, -0x8000(r3)
lbl_80283354:
/* 80283354 0027EFB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80283358 0027EFB8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8028335C 0027EFBC  38 21 00 10 */	addi r1, r1, 0x10
/* 80283360 0027EFC0  4E 80 00 20 */	blr