1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
lbl_8023EE6C:
/* 8023EE6C 0023AACC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023EE70 0023AAD0 7C 08 02 A6 */ mflr r0
/* 8023EE74 0023AAD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023EE78 0023AAD8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023EE7C 0023AADC 80 6D A4 C8 */ lwz r3, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EE80 0023AAE0 2C 03 00 00 */ cmpwi r3, 0
/* 8023EE84 0023AAE4 41 82 00 A4 */ beq lbl_8023EF28
/* 8023EE88 0023AAE8 88 03 00 81 */ lbz r0, 0x81(r3)
/* 8023EE8C 0023AAEC 28 00 00 01 */ cmplwi r0, 1
/* 8023EE90 0023AAF0 40 82 00 1C */ bne lbl_8023EEAC
/* 8023EE94 0023AAF4 88 83 00 80 */ lbz r4, 0x80(r3)
/* 8023EE98 0023AAF8 2C 04 00 00 */ cmpwi r4, 0
/* 8023EE9C 0023AAFC 41 82 00 10 */ beq lbl_8023EEAC
/* 8023EEA0 0023AB00 38 04 FF FF */ addi r0, r4, -1
/* 8023EEA4 0023AB04 98 03 00 80 */ stb r0, 0x80(r3)
/* 8023EEA8 0023AB08 48 00 00 80 */ b lbl_8023EF28
lbl_8023EEAC:
/* 8023EEAC 0023AB0C 38 80 00 02 */ li r4, 2
/* 8023EEB0 0023AB10 48 00 0D 5D */ bl func_8023FC0C
/* 8023EEB4 0023AB14 2C 03 00 00 */ cmpwi r3, 0
/* 8023EEB8 0023AB18 7C 7F 1B 78 */ mr r31, r3
/* 8023EEBC 0023AB1C 40 82 00 18 */ bne lbl_8023EED4
/* 8023EEC0 0023AB20 80 8D A4 C8 */ lwz r4, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EEC4 0023AB24 80 64 00 84 */ lwz r3, 0x84(r4)
/* 8023EEC8 0023AB28 38 03 00 01 */ addi r0, r3, 1
/* 8023EECC 0023AB2C 90 04 00 84 */ stw r0, 0x84(r4)
/* 8023EED0 0023AB30 48 00 00 58 */ b lbl_8023EF28
lbl_8023EED4:
/* 8023EED4 0023AB34 80 8D A4 C8 */ lwz r4, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EED8 0023AB38 38 00 00 00 */ li r0, 0
/* 8023EEDC 0023AB3C 98 04 00 5B */ stb r0, 0x5b(r4)
/* 8023EEE0 0023AB40 80 AD A4 C8 */ lwz r5, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EEE4 0023AB44 80 85 00 88 */ lwz r4, 0x88(r5)
/* 8023EEE8 0023AB48 38 04 00 01 */ addi r0, r4, 1
/* 8023EEEC 0023AB4C 90 05 00 88 */ stw r0, 0x88(r5)
/* 8023EEF0 0023AB50 80 63 00 04 */ lwz r3, 4(r3)
/* 8023EEF4 0023AB54 48 03 A8 C9 */ bl VISetNextFrameBuffer
/* 8023EEF8 0023AB58 48 03 A7 B1 */ bl VIFlush
/* 8023EEFC 0023AB5C 38 60 00 01 */ li r3, 1
/* 8023EF00 0023AB60 38 00 00 03 */ li r0, 3
/* 8023EF04 0023AB64 90 7F 00 00 */ stw r3, 0(r31)
/* 8023EF08 0023AB68 80 6D A4 C8 */ lwz r3, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EF0C 0023AB6C 80 63 00 54 */ lwz r3, 0x54(r3)
/* 8023EF10 0023AB70 90 03 00 00 */ stw r0, 0(r3)
/* 8023EF14 0023AB74 80 6D A4 C8 */ lwz r3, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EF18 0023AB78 93 E3 00 54 */ stw r31, 0x54(r3)
/* 8023EF1C 0023AB7C 80 6D A4 C8 */ lwz r3, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EF20 0023AB80 80 03 00 7C */ lwz r0, 0x7c(r3)
/* 8023EF24 0023AB84 98 03 00 80 */ stb r0, 0x80(r3)
lbl_8023EF28:
/* 8023EF28 0023AB88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023EF2C 0023AB8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023EF30 0023AB90 7C 08 03 A6 */ mtlr r0
/* 8023EF34 0023AB94 38 21 00 10 */ addi r1, r1, 0x10
/* 8023EF38 0023AB98 4E 80 00 20 */ blr
lbl_8023EF3C:
/* 8023EF3C 0023AB9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023EF40 0023ABA0 7C 08 02 A6 */ mflr r0
/* 8023EF44 0023ABA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023EF48 0023ABA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023EF4C 0023ABAC 80 AD A4 C8 */ lwz r5, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EF50 0023ABB0 2C 05 00 00 */ cmpwi r5, 0
/* 8023EF54 0023ABB4 41 82 00 48 */ beq lbl_8023EF9C
/* 8023EF58 0023ABB8 80 85 00 6C */ lwz r4, 0x6c(r5)
/* 8023EF5C 0023ABBC 38 04 00 01 */ addi r0, r4, 1
/* 8023EF60 0023ABC0 90 05 00 6C */ stw r0, 0x6c(r5)
/* 8023EF64 0023ABC4 80 8D A4 C8 */ lwz r4, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EF68 0023ABC8 80 04 00 74 */ lwz r0, 0x74(r4)
/* 8023EF6C 0023ABCC 2C 00 00 00 */ cmpwi r0, 0
/* 8023EF70 0023ABD0 41 82 00 2C */ beq lbl_8023EF9C
/* 8023EF74 0023ABD4 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8023EF78 0023ABD8 38 00 00 00 */ li r0, 0
/* 8023EF7C 0023ABDC 8B E4 16 F9 */ lbz r31, 0x16f9(r4)
/* 8023EF80 0023ABE0 98 04 16 F9 */ stb r0, 0x16f9(r4)
/* 8023EF84 0023ABE4 80 8D A4 C8 */ lwz r4, lbl_8063F788-_SDA_BASE_(r13)
/* 8023EF88 0023ABE8 81 84 00 74 */ lwz r12, 0x74(r4)
/* 8023EF8C 0023ABEC 7D 89 03 A6 */ mtctr r12
/* 8023EF90 0023ABF0 4E 80 04 21 */ bctrl
/* 8023EF94 0023ABF4 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023EF98 0023ABF8 9B E3 16 F9 */ stb r31, 0x16f9(r3)
lbl_8023EF9C:
/* 8023EF9C 0023ABFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023EFA0 0023AC00 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023EFA4 0023AC04 7C 08 03 A6 */ mtlr r0
/* 8023EFA8 0023AC08 38 21 00 10 */ addi r1, r1, 0x10
/* 8023EFAC 0023AC0C 4E 80 00 20 */ blr
.global func_8023EFB0
func_8023EFB0:
/* 8023EFB0 0023AC10 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8023EFB4 0023AC14 7C 08 02 A6 */ mflr r0
/* 8023EFB8 0023AC18 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023EFBC 0023AC1C 39 61 00 30 */ addi r11, r1, 0x30
/* 8023EFC0 0023AC20 4B F8 81 61 */ bl _savegpr_25
/* 8023EFC4 0023AC24 3C E0 80 42 */ lis r7, lbl_8042491C@ha
/* 8023EFC8 0023AC28 38 00 00 00 */ li r0, 0
/* 8023EFCC 0023AC2C 38 E7 49 1C */ addi r7, r7, lbl_8042491C@l
/* 8023EFD0 0023AC30 2C 06 00 01 */ cmpwi r6, 1
/* 8023EFD4 0023AC34 90 E3 00 D8 */ stw r7, 0xd8(r3)
/* 8023EFD8 0023AC38 7C 7F 1B 78 */ mr r31, r3
/* 8023EFDC 0023AC3C 39 60 00 3C */ li r11, 0x3c
/* 8023EFE0 0023AC40 90 03 00 54 */ stw r0, 0x54(r3)
/* 8023EFE4 0023AC44 98 83 00 58 */ stb r4, 0x58(r3)
/* 8023EFE8 0023AC48 40 82 00 08 */ bne lbl_8023EFF0
/* 8023EFEC 0023AC4C 39 60 00 32 */ li r11, 0x32
lbl_8023EFF0:
/* 8023EFF0 0023AC50 3C 00 43 30 */ lis r0, 0x4330
/* 8023EFF4 0023AC54 3B A0 00 00 */ li r29, 0
/* 8023EFF8 0023AC58 90 01 00 08 */ stw r0, 8(r1)
/* 8023EFFC 0023AC5C 39 40 00 01 */ li r10, 1
/* 8023F000 0023AC60 C0 82 9D EC */ lfs f4, lbl_806423EC-_SDA2_BASE_(r2)
/* 8023F004 0023AC64 39 20 02 10 */ li r9, 0x210
/* 8023F008 0023AC68 91 61 00 0C */ stw r11, 0xc(r1)
/* 8023F00C 0023AC6C 39 00 00 0A */ li r8, 0xa
/* 8023F010 0023AC70 C8 42 9E 08 */ lfd f2, lbl_80642408-_SDA2_BASE_(r2)
/* 8023F014 0023AC74 38 E0 02 80 */ li r7, 0x280
/* 8023F018 0023AC78 C8 21 00 08 */ lfd f1, 8(r1)
/* 8023F01C 0023AC7C 38 00 01 E0 */ li r0, 0x1e0
/* 8023F020 0023AC80 C0 02 9E 00 */ lfs f0, lbl_80642400-_SDA2_BASE_(r2)
/* 8023F024 0023AC84 2C 04 00 00 */ cmpwi r4, 0
/* 8023F028 0023AC88 EC 21 10 28 */ fsubs f1, f1, f2
/* 8023F02C 0023AC8C 93 A3 00 C0 */ stw r29, 0xc0(r3)
/* 8023F030 0023AC90 C0 A2 9D E8 */ lfs f5, lbl_806423E8-_SDA2_BASE_(r2)
/* 8023F034 0023AC94 93 A3 00 C4 */ stw r29, 0xc4(r3)
/* 8023F038 0023AC98 EC 01 00 24 */ fdivs f0, f1, f0
/* 8023F03C 0023AC9C C8 62 9D F0 */ lfd f3, lbl_806423F0-_SDA2_BASE_(r2)
/* 8023F040 0023ACA0 93 A3 00 A8 */ stw r29, 0xa8(r3)
/* 8023F044 0023ACA4 C0 42 9D F8 */ lfs f2, lbl_806423F8-_SDA2_BASE_(r2)
/* 8023F048 0023ACA8 93 A3 00 AC */ stw r29, 0xac(r3)
/* 8023F04C 0023ACAC C0 22 9D FC */ lfs f1, lbl_806423FC-_SDA2_BASE_(r2)
/* 8023F050 0023ACB0 93 A3 00 B0 */ stw r29, 0xb0(r3)
/* 8023F054 0023ACB4 93 A3 00 B4 */ stw r29, 0xb4(r3)
/* 8023F058 0023ACB8 99 63 00 59 */ stb r11, 0x59(r3)
/* 8023F05C 0023ACBC 9B A3 00 5A */ stb r29, 0x5a(r3)
/* 8023F060 0023ACC0 99 43 00 5B */ stb r10, 0x5b(r3)
/* 8023F064 0023ACC4 B0 A3 00 5C */ sth r5, 0x5c(r3)
/* 8023F068 0023ACC8 B1 23 00 5E */ sth r9, 0x5e(r3)
/* 8023F06C 0023ACCC 93 A3 00 60 */ stw r29, 0x60(r3)
/* 8023F070 0023ACD0 93 A3 00 64 */ stw r29, 0x64(r3)
/* 8023F074 0023ACD4 D0 A3 00 68 */ stfs f5, 0x68(r3)
/* 8023F078 0023ACD8 93 A3 00 6C */ stw r29, 0x6c(r3)
/* 8023F07C 0023ACDC 90 C3 00 70 */ stw r6, 0x70(r3)
/* 8023F080 0023ACE0 93 A3 00 74 */ stw r29, 0x74(r3)
/* 8023F084 0023ACE4 99 03 00 78 */ stb r8, 0x78(r3)
/* 8023F088 0023ACE8 9B A3 00 79 */ stb r29, 0x79(r3)
/* 8023F08C 0023ACEC 9B A3 00 7A */ stb r29, 0x7a(r3)
/* 8023F090 0023ACF0 93 A3 00 7C */ stw r29, 0x7c(r3)
/* 8023F094 0023ACF4 9B A3 00 80 */ stb r29, 0x80(r3)
/* 8023F098 0023ACF8 99 43 00 81 */ stb r10, 0x81(r3)
/* 8023F09C 0023ACFC 9B A3 00 82 */ stb r29, 0x82(r3)
/* 8023F0A0 0023AD00 9B A3 00 83 */ stb r29, 0x83(r3)
/* 8023F0A4 0023AD04 93 A3 00 84 */ stw r29, 0x84(r3)
/* 8023F0A8 0023AD08 93 A3 00 88 */ stw r29, 0x88(r3)
/* 8023F0AC 0023AD0C D0 83 00 8C */ stfs f4, 0x8c(r3)
/* 8023F0B0 0023AD10 D0 83 00 90 */ stfs f4, 0x90(r3)
/* 8023F0B4 0023AD14 93 A3 00 9C */ stw r29, 0x9c(r3)
/* 8023F0B8 0023AD18 93 A3 00 98 */ stw r29, 0x98(r3)
/* 8023F0BC 0023AD1C D8 63 00 A0 */ stfd f3, 0xa0(r3)
/* 8023F0C0 0023AD20 93 A3 00 B8 */ stw r29, 0xb8(r3)
/* 8023F0C4 0023AD24 93 A3 00 BC */ stw r29, 0xbc(r3)
/* 8023F0C8 0023AD28 D0 83 00 A8 */ stfs f4, 0xa8(r3)
/* 8023F0CC 0023AD2C D0 83 00 AC */ stfs f4, 0xac(r3)
/* 8023F0D0 0023AD30 D0 43 00 B0 */ stfs f2, 0xb0(r3)
/* 8023F0D4 0023AD34 D0 23 00 B4 */ stfs f1, 0xb4(r3)
/* 8023F0D8 0023AD38 B3 A3 00 C0 */ sth r29, 0xc0(r3)
/* 8023F0DC 0023AD3C B3 A3 00 C2 */ sth r29, 0xc2(r3)
/* 8023F0E0 0023AD40 B0 E3 00 C4 */ sth r7, 0xc4(r3)
/* 8023F0E4 0023AD44 B0 03 00 C6 */ sth r0, 0xc6(r3)
/* 8023F0E8 0023AD48 93 A3 00 C8 */ stw r29, 0xc8(r3)
/* 8023F0EC 0023AD4C 93 A3 00 CC */ stw r29, 0xcc(r3)
/* 8023F0F0 0023AD50 D0 0D 86 C8 */ stfs f0, lbl_8063D988-_SDA_BASE_(r13)
/* 8023F0F4 0023AD54 40 82 00 0C */ bne lbl_8023F100
/* 8023F0F8 0023AD58 7F E3 FB 78 */ mr r3, r31
/* 8023F0FC 0023AD5C 48 00 02 40 */ b lbl_8023F33C
lbl_8023F100:
/* 8023F100 0023AD60 28 04 00 03 */ cmplwi r4, 3
/* 8023F104 0023AD64 40 81 00 0C */ ble lbl_8023F110
/* 8023F108 0023AD68 7F E3 FB 78 */ mr r3, r31
/* 8023F10C 0023AD6C 48 00 02 30 */ b lbl_8023F33C
lbl_8023F110:
/* 8023F110 0023AD70 28 05 02 10 */ cmplwi r5, 0x210
/* 8023F114 0023AD74 40 81 00 0C */ ble lbl_8023F120
/* 8023F118 0023AD78 7F E3 FB 78 */ mr r3, r31
/* 8023F11C 0023AD7C 48 00 02 20 */ b lbl_8023F33C
lbl_8023F120:
/* 8023F120 0023AD80 48 03 90 BD */ bl VIInit
/* 8023F124 0023AD84 38 00 00 3C */ li r0, 0x3c
/* 8023F128 0023AD88 98 1F 00 59 */ stb r0, 0x59(r31)
/* 8023F12C 0023AD8C 48 0A D3 89 */ bl SCGetProgressiveMode
/* 8023F130 0023AD90 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8023F134 0023AD94 28 00 00 01 */ cmplwi r0, 1
/* 8023F138 0023AD98 40 82 00 30 */ bne lbl_8023F168
/* 8023F13C 0023AD9C 48 03 A9 59 */ bl VIGetDTVStatus
/* 8023F140 0023ADA0 28 03 00 01 */ cmplwi r3, 1
/* 8023F144 0023ADA4 40 82 00 24 */ bne lbl_8023F168
/* 8023F148 0023ADA8 48 03 A8 ED */ bl VIGetScanMode
/* 8023F14C 0023ADAC 48 03 A8 89 */ bl VIGetTvFormat
/* 8023F150 0023ADB0 2C 03 00 00 */ cmpwi r3, 0
/* 8023F154 0023ADB4 3B 40 00 02 */ li r26, 2
/* 8023F158 0023ADB8 40 82 00 08 */ bne lbl_8023F160
/* 8023F15C 0023ADBC 7F BA EB 78 */ mr r26, r29
lbl_8023F160:
/* 8023F160 0023ADC0 3B 20 00 01 */ li r25, 1
/* 8023F164 0023ADC4 48 00 00 48 */ b lbl_8023F1AC
lbl_8023F168:
/* 8023F168 0023ADC8 48 03 A8 6D */ bl VIGetTvFormat
/* 8023F16C 0023ADCC 2C 03 00 00 */ cmpwi r3, 0
/* 8023F170 0023ADD0 40 82 00 0C */ bne lbl_8023F17C
/* 8023F174 0023ADD4 3B 40 00 00 */ li r26, 0
/* 8023F178 0023ADD8 48 00 00 30 */ b lbl_8023F1A8
lbl_8023F17C:
/* 8023F17C 0023ADDC 48 0A D2 6D */ bl SCGetEuRgb60Mode
/* 8023F180 0023ADE0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8023F184 0023ADE4 28 00 00 01 */ cmplwi r0, 1
/* 8023F188 0023ADE8 40 82 00 10 */ bne lbl_8023F198
/* 8023F18C 0023ADEC 48 03 A8 49 */ bl VIGetTvFormat
/* 8023F190 0023ADF0 3B 40 00 02 */ li r26, 2
/* 8023F194 0023ADF4 48 00 00 14 */ b lbl_8023F1A8
lbl_8023F198:
/* 8023F198 0023ADF8 48 03 A8 3D */ bl VIGetTvFormat
/* 8023F19C 0023ADFC 38 00 00 32 */ li r0, 0x32
/* 8023F1A0 0023AE00 3B 40 00 01 */ li r26, 1
/* 8023F1A4 0023AE04 98 1F 00 59 */ stb r0, 0x59(r31)
lbl_8023F1A8:
/* 8023F1A8 0023AE08 3B 20 00 00 */ li r25, 0
lbl_8023F1AC:
/* 8023F1AC 0023AE0C 48 0A D1 75 */ bl SCGetAspectRatio
/* 8023F1B0 0023AE10 88 9F 00 59 */ lbz r4, 0x59(r31)
/* 8023F1B4 0023AE14 3C 00 43 30 */ lis r0, 0x4330
/* 8023F1B8 0023AE18 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8023F1BC 0023AE1C 90 01 00 08 */ stw r0, 8(r1)
/* 8023F1C0 0023AE20 38 63 FF FF */ addi r3, r3, -1
/* 8023F1C4 0023AE24 C8 42 9E 08 */ lfd f2, lbl_80642408-_SDA2_BASE_(r2)
/* 8023F1C8 0023AE28 90 81 00 0C */ stw r4, 0xc(r1)
/* 8023F1CC 0023AE2C 7C 66 00 34 */ cntlzw r6, r3
/* 8023F1D0 0023AE30 54 C7 D9 7E */ srwi r7, r6, 5
/* 8023F1D4 0023AE34 C0 02 9E 00 */ lfs f0, lbl_80642400-_SDA2_BASE_(r2)
/* 8023F1D8 0023AE38 C8 21 00 08 */ lfd f1, 8(r1)
/* 8023F1DC 0023AE3C 7F E3 FB 78 */ mr r3, r31
/* 8023F1E0 0023AE40 7F 44 D3 78 */ mr r4, r26
/* 8023F1E4 0023AE44 7F 25 CB 78 */ mr r5, r25
/* 8023F1E8 0023AE48 EC 21 10 28 */ fsubs f1, f1, f2
/* 8023F1EC 0023AE4C 38 C0 00 01 */ li r6, 1
/* 8023F1F0 0023AE50 EC 01 00 24 */ fdivs f0, f1, f0
/* 8023F1F4 0023AE54 D0 0D 86 C8 */ stfs f0, lbl_8063D988-_SDA_BASE_(r13)
/* 8023F1F8 0023AE58 48 00 06 61 */ bl func_8023F858
/* 8023F1FC 0023AE5C 2C 1A 00 03 */ cmpwi r26, 3
/* 8023F200 0023AE60 41 82 00 4C */ beq lbl_8023F24C
/* 8023F204 0023AE64 40 80 00 50 */ bge lbl_8023F254
/* 8023F208 0023AE68 2C 1A 00 00 */ cmpwi r26, 0
/* 8023F20C 0023AE6C 41 82 00 0C */ beq lbl_8023F218
/* 8023F210 0023AE70 40 80 00 14 */ bge lbl_8023F224
/* 8023F214 0023AE74 48 00 00 40 */ b lbl_8023F254
lbl_8023F218:
/* 8023F218 0023AE78 38 00 01 E0 */ li r0, 0x1e0
/* 8023F21C 0023AE7C B0 1F 00 5E */ sth r0, 0x5e(r31)
/* 8023F220 0023AE80 48 00 00 34 */ b lbl_8023F254
lbl_8023F224:
/* 8023F224 0023AE84 2C 1A 00 01 */ cmpwi r26, 1
/* 8023F228 0023AE88 40 82 00 2C */ bne lbl_8023F254
/* 8023F22C 0023AE8C 2C 19 00 01 */ cmpwi r25, 1
/* 8023F230 0023AE90 41 82 00 24 */ beq lbl_8023F254
/* 8023F234 0023AE94 C0 22 9E 04 */ lfs f1, lbl_80642404-_SDA2_BASE_(r2)
/* 8023F238 0023AE98 A0 7F 00 06 */ lhz r3, 6(r31)
/* 8023F23C 0023AE9C D0 3F 00 68 */ stfs f1, 0x68(r31)
/* 8023F240 0023AEA0 48 04 24 35 */ bl GXGetNumXfbLines
/* 8023F244 0023AEA4 B0 7F 00 5E */ sth r3, 0x5e(r31)
/* 8023F248 0023AEA8 48 00 00 0C */ b lbl_8023F254
lbl_8023F24C:
/* 8023F24C 0023AEAC 38 00 01 E0 */ li r0, 0x1e0
/* 8023F250 0023AEB0 B0 1F 00 5E */ sth r0, 0x5e(r31)
lbl_8023F254:
/* 8023F254 0023AEB4 A0 7F 00 04 */ lhz r3, 4(r31)
/* 8023F258 0023AEB8 7F FC FB 78 */ mr r28, r31
/* 8023F25C 0023AEBC A0 1F 00 5E */ lhz r0, 0x5e(r31)
/* 8023F260 0023AEC0 3B 7F 00 3C */ addi r27, r31, 0x3c
/* 8023F264 0023AEC4 38 63 00 0F */ addi r3, r3, 0xf
/* 8023F268 0023AEC8 3B 40 00 00 */ li r26, 0
/* 8023F26C 0023AECC 54 63 04 36 */ rlwinm r3, r3, 0, 0x10, 0x1b
/* 8023F270 0023AED0 3B A0 00 03 */ li r29, 3
/* 8023F274 0023AED4 7C 03 01 D6 */ mullw r0, r3, r0
/* 8023F278 0023AED8 3B C0 00 00 */ li r30, 0
/* 8023F27C 0023AEDC 54 19 08 3C */ slwi r25, r0, 1
lbl_8023F280:
/* 8023F280 0023AEE0 88 1F 00 58 */ lbz r0, 0x58(r31)
/* 8023F284 0023AEE4 7C 1A 00 00 */ cmpw r26, r0
/* 8023F288 0023AEE8 40 80 00 28 */ bge lbl_8023F2B0
/* 8023F28C 0023AEEC 7F 23 CB 78 */ mr r3, r25
/* 8023F290 0023AEF0 4B F9 BA D5 */ bl func_801DAD64
/* 8023F294 0023AEF4 90 7C 00 40 */ stw r3, 0x40(r28)
/* 8023F298 0023AEF8 7F E3 FB 78 */ mr r3, r31
/* 8023F29C 0023AEFC 7F 64 DB 78 */ mr r4, r27
/* 8023F2A0 0023AF00 7F 25 CB 78 */ mr r5, r25
/* 8023F2A4 0023AF04 93 BC 00 3C */ stw r29, 0x3c(r28)
/* 8023F2A8 0023AF08 48 00 08 F9 */ bl func_8023FBA0
/* 8023F2AC 0023AF0C 48 00 00 0C */ b lbl_8023F2B8
lbl_8023F2B0:
/* 8023F2B0 0023AF10 93 DC 00 40 */ stw r30, 0x40(r28)
/* 8023F2B4 0023AF14 93 DC 00 3C */ stw r30, 0x3c(r28)
lbl_8023F2B8:
/* 8023F2B8 0023AF18 3B 5A 00 01 */ addi r26, r26, 1
/* 8023F2BC 0023AF1C 3B 7B 00 08 */ addi r27, r27, 8
/* 8023F2C0 0023AF20 2C 1A 00 03 */ cmpwi r26, 3
/* 8023F2C4 0023AF24 3B 9C 00 08 */ addi r28, r28, 8
/* 8023F2C8 0023AF28 41 80 FF B8 */ blt lbl_8023F280
/* 8023F2CC 0023AF2C 3C 60 01 00 */ lis r3, 0x00FFFFFF@ha
/* 8023F2D0 0023AF30 38 80 00 00 */ li r4, 0
/* 8023F2D4 0023AF34 38 03 FF FF */ addi r0, r3, 0x00FFFFFF@l
/* 8023F2D8 0023AF38 98 9F 00 D0 */ stb r4, 0xd0(r31)
/* 8023F2DC 0023AF3C 3C 60 80 24 */ lis r3, lbl_8023EE6C@ha
/* 8023F2E0 0023AF40 98 9F 00 D1 */ stb r4, 0xd1(r31)
/* 8023F2E4 0023AF44 38 63 EE 6C */ addi r3, r3, lbl_8023EE6C@l
/* 8023F2E8 0023AF48 98 9F 00 D2 */ stb r4, 0xd2(r31)
/* 8023F2EC 0023AF4C 98 9F 00 D3 */ stb r4, 0xd3(r31)
/* 8023F2F0 0023AF50 90 1F 00 D4 */ stw r0, 0xd4(r31)
/* 8023F2F4 0023AF54 48 03 8B 49 */ bl VISetPreRetraceCallback
/* 8023F2F8 0023AF58 3C 60 80 24 */ lis r3, lbl_8023EF3C@ha
/* 8023F2FC 0023AF5C 38 63 EF 3C */ addi r3, r3, lbl_8023EF3C@l
/* 8023F300 0023AF60 48 03 8B 81 */ bl VISetPostRetraceCallback
/* 8023F304 0023AF64 38 00 00 01 */ li r0, 1
/* 8023F308 0023AF68 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 8023F30C 0023AF6C 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 8023F310 0023AF70 48 03 A4 AD */ bl VISetNextFrameBuffer
/* 8023F314 0023AF74 38 1F 00 3C */ addi r0, r31, 0x3c
/* 8023F318 0023AF78 90 1F 00 54 */ stw r0, 0x54(r31)
/* 8023F31C 0023AF7C 48 03 34 9D */ bl OSGetTime
/* 8023F320 0023AF80 90 9F 00 9C */ stw r4, 0x9c(r31)
/* 8023F324 0023AF84 38 80 00 00 */ li r4, 0
/* 8023F328 0023AF88 90 7F 00 98 */ stw r3, 0x98(r31)
/* 8023F32C 0023AF8C 7F E3 FB 78 */ mr r3, r31
/* 8023F330 0023AF90 93 ED A4 C8 */ stw r31, lbl_8063F788-_SDA_BASE_(r13)
/* 8023F334 0023AF94 48 00 07 D1 */ bl func_8023FB04
/* 8023F338 0023AF98 7F E3 FB 78 */ mr r3, r31
lbl_8023F33C:
/* 8023F33C 0023AF9C 39 61 00 30 */ addi r11, r1, 0x30
/* 8023F340 0023AFA0 4B F8 7E 2D */ bl _restgpr_25
/* 8023F344 0023AFA4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023F348 0023AFA8 7C 08 03 A6 */ mtlr r0
/* 8023F34C 0023AFAC 38 21 00 30 */ addi r1, r1, 0x30
/* 8023F350 0023AFB0 4E 80 00 20 */ blr
.global func_8023F354
func_8023F354:
/* 8023F354 0023AFB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023F358 0023AFB8 7C 08 02 A6 */ mflr r0
/* 8023F35C 0023AFBC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023F360 0023AFC0 39 61 00 20 */ addi r11, r1, 0x20
/* 8023F364 0023AFC4 4B F8 7D C5 */ bl _savegpr_27
/* 8023F368 0023AFC8 2C 03 00 00 */ cmpwi r3, 0
/* 8023F36C 0023AFCC 7C 7B 1B 78 */ mr r27, r3
/* 8023F370 0023AFD0 7C 9C 23 78 */ mr r28, r4
/* 8023F374 0023AFD4 41 82 00 8C */ beq lbl_8023F400
/* 8023F378 0023AFD8 3C 80 80 42 */ lis r4, lbl_8042491C@ha
/* 8023F37C 0023AFDC 38 84 49 1C */ addi r4, r4, lbl_8042491C@l
/* 8023F380 0023AFE0 90 83 00 D8 */ stw r4, 0xd8(r3)
/* 8023F384 0023AFE4 38 60 00 00 */ li r3, 0
/* 8023F388 0023AFE8 48 03 8A B5 */ bl VISetPreRetraceCallback
/* 8023F38C 0023AFEC 38 60 00 00 */ li r3, 0
/* 8023F390 0023AFF0 48 03 8A F1 */ bl VISetPostRetraceCallback
/* 8023F394 0023AFF4 38 60 00 01 */ li r3, 1
/* 8023F398 0023AFF8 48 03 A4 91 */ bl VISetBlack
/* 8023F39C 0023AFFC 48 03 A3 0D */ bl VIFlush
/* 8023F3A0 0023B000 38 00 00 01 */ li r0, 1
/* 8023F3A4 0023B004 7F 63 DB 78 */ mr r3, r27
/* 8023F3A8 0023B008 98 1B 00 5B */ stb r0, 0x5b(r27)
/* 8023F3AC 0023B00C 48 00 00 71 */ bl func_8023F41C
/* 8023F3B0 0023B010 7F 7E DB 78 */ mr r30, r27
/* 8023F3B4 0023B014 3B A0 00 00 */ li r29, 0
/* 8023F3B8 0023B018 3B E0 00 00 */ li r31, 0
/* 8023F3BC 0023B01C 48 00 00 20 */ b lbl_8023F3DC
lbl_8023F3C0:
/* 8023F3C0 0023B020 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 8023F3C4 0023B024 2C 03 00 00 */ cmpwi r3, 0
/* 8023F3C8 0023B028 41 82 00 0C */ beq lbl_8023F3D4
/* 8023F3CC 0023B02C 4B F9 BA D9 */ bl func_801DAEA4
/* 8023F3D0 0023B030 93 FE 00 40 */ stw r31, 0x40(r30)
lbl_8023F3D4:
/* 8023F3D4 0023B034 3B DE 00 08 */ addi r30, r30, 8
/* 8023F3D8 0023B038 3B BD 00 01 */ addi r29, r29, 1
lbl_8023F3DC:
/* 8023F3DC 0023B03C 88 1B 00 58 */ lbz r0, 0x58(r27)
/* 8023F3E0 0023B040 7C 1D 00 00 */ cmpw r29, r0
/* 8023F3E4 0023B044 41 80 FF DC */ blt lbl_8023F3C0
/* 8023F3E8 0023B048 38 00 00 00 */ li r0, 0
/* 8023F3EC 0023B04C 2C 1C 00 00 */ cmpwi r28, 0
/* 8023F3F0 0023B050 90 0D A4 C8 */ stw r0, lbl_8063F788-_SDA_BASE_(r13)
/* 8023F3F4 0023B054 40 81 00 0C */ ble lbl_8023F400
/* 8023F3F8 0023B058 7F 63 DB 78 */ mr r3, r27
/* 8023F3FC 0023B05C 4B F9 B6 BD */ bl __dl__FPv
lbl_8023F400:
/* 8023F400 0023B060 39 61 00 20 */ addi r11, r1, 0x20
/* 8023F404 0023B064 7F 63 DB 78 */ mr r3, r27
/* 8023F408 0023B068 4B F8 7D 6D */ bl _restgpr_27
/* 8023F40C 0023B06C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023F410 0023B070 7C 08 03 A6 */ mtlr r0
/* 8023F414 0023B074 38 21 00 20 */ addi r1, r1, 0x20
/* 8023F418 0023B078 4E 80 00 20 */ blr
.global func_8023F41C
func_8023F41C:
/* 8023F41C 0023B07C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023F420 0023B080 7C 08 02 A6 */ mflr r0
/* 8023F424 0023B084 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023F428 0023B088 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023F42C 0023B08C 7C 7F 1B 78 */ mr r31, r3
/* 8023F430 0023B090 88 03 00 5B */ lbz r0, 0x5b(r3)
/* 8023F434 0023B094 2C 00 00 00 */ cmpwi r0, 0
/* 8023F438 0023B098 41 82 00 08 */ beq lbl_8023F440
/* 8023F43C 0023B09C 48 03 92 E9 */ bl VIWaitForRetrace
lbl_8023F440:
/* 8023F440 0023B0A0 38 00 00 01 */ li r0, 1
/* 8023F444 0023B0A4 98 1F 00 5B */ stb r0, 0x5b(r31)
/* 8023F448 0023B0A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023F44C 0023B0AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023F450 0023B0B0 7C 08 03 A6 */ mtlr r0
/* 8023F454 0023B0B4 38 21 00 10 */ addi r1, r1, 0x10
/* 8023F458 0023B0B8 4E 80 00 20 */ blr
.global func_8023F45C
func_8023F45C:
/* 8023F45C 0023B0BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023F460 0023B0C0 7C 08 02 A6 */ mflr r0
/* 8023F464 0023B0C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023F468 0023B0C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023F46C 0023B0CC 7C 7F 1B 78 */ mr r31, r3
/* 8023F470 0023B0D0 48 00 00 A1 */ bl func_8023F510
/* 8023F474 0023B0D4 80 9F 00 54 */ lwz r4, 0x54(r31)
/* 8023F478 0023B0D8 7F E3 FB 78 */ mr r3, r31
/* 8023F47C 0023B0DC 48 00 01 49 */ bl func_8023F5C4
/* 8023F480 0023B0E0 80 9F 00 54 */ lwz r4, 0x54(r31)
/* 8023F484 0023B0E4 7F E3 FB 78 */ mr r3, r31
/* 8023F488 0023B0E8 48 00 01 3D */ bl func_8023F5C4
/* 8023F48C 0023B0EC 80 9F 00 54 */ lwz r4, 0x54(r31)
/* 8023F490 0023B0F0 38 00 00 01 */ li r0, 1
/* 8023F494 0023B0F4 38 60 00 00 */ li r3, 0
/* 8023F498 0023B0F8 90 04 00 00 */ stw r0, 0(r4)
/* 8023F49C 0023B0FC 48 03 A3 8D */ bl VISetBlack
/* 8023F4A0 0023B100 48 03 A2 09 */ bl VIFlush
/* 8023F4A4 0023B104 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023F4A8 0023B108 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023F4AC 0023B10C 7C 08 03 A6 */ mtlr r0
/* 8023F4B0 0023B110 38 21 00 10 */ addi r1, r1, 0x10
/* 8023F4B4 0023B114 4E 80 00 20 */ blr
.global func_8023F4B8
func_8023F4B8:
/* 8023F4B8 0023B118 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023F4BC 0023B11C 7C 08 02 A6 */ mflr r0
/* 8023F4C0 0023B120 38 80 00 01 */ li r4, 1
/* 8023F4C4 0023B124 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023F4C8 0023B128 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023F4CC 0023B12C 93 C1 00 08 */ stw r30, 8(r1)
/* 8023F4D0 0023B130 7C 7E 1B 78 */ mr r30, r3
/* 8023F4D4 0023B134 48 00 07 81 */ bl func_8023FC54
/* 8023F4D8 0023B138 7C 7F 1B 78 */ mr r31, r3
/* 8023F4DC 0023B13C 38 60 00 00 */ li r3, 0
/* 8023F4E0 0023B140 48 01 C1 D5 */ bl func_8025B6B4
/* 8023F4E4 0023B144 2C 1F 00 00 */ cmpwi r31, 0
/* 8023F4E8 0023B148 41 82 00 10 */ beq lbl_8023F4F8
/* 8023F4EC 0023B14C 7F C3 F3 78 */ mr r3, r30
/* 8023F4F0 0023B150 7F E4 FB 78 */ mr r4, r31
/* 8023F4F4 0023B154 48 00 00 D1 */ bl func_8023F5C4
lbl_8023F4F8:
/* 8023F4F8 0023B158 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023F4FC 0023B15C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023F500 0023B160 83 C1 00 08 */ lwz r30, 8(r1)
/* 8023F504 0023B164 7C 08 03 A6 */ mtlr r0
/* 8023F508 0023B168 38 21 00 10 */ addi r1, r1, 0x10
/* 8023F50C 0023B16C 4E 80 00 20 */ blr
.global func_8023F510
func_8023F510:
/* 8023F510 0023B170 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023F514 0023B174 7C 08 02 A6 */ mflr r0
/* 8023F518 0023B178 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023F51C 0023B17C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023F520 0023B180 7C 7F 1B 78 */ mr r31, r3
/* 8023F524 0023B184 80 0D A4 C8 */ lwz r0, lbl_8063F788-_SDA_BASE_(r13)
/* 8023F528 0023B188 2C 00 00 00 */ cmpwi r0, 0
/* 8023F52C 0023B18C 41 82 00 84 */ beq lbl_8023F5B0
/* 8023F530 0023B190 A0 BF 00 04 */ lhz r5, 4(r31)
/* 8023F534 0023B194 38 60 00 00 */ li r3, 0
/* 8023F538 0023B198 A0 DF 00 06 */ lhz r6, 6(r31)
/* 8023F53C 0023B19C 38 80 00 00 */ li r4, 0
/* 8023F540 0023B1A0 48 04 1F 2D */ bl GXSetDispCopySrc
/* 8023F544 0023B1A4 A0 7F 00 04 */ lhz r3, 4(r31)
/* 8023F548 0023B1A8 A0 9F 00 08 */ lhz r4, 8(r31)
/* 8023F54C 0023B1AC 48 04 1F A1 */ bl GXSetDispCopyDst
/* 8023F550 0023B1B0 38 60 00 00 */ li r3, 0
/* 8023F554 0023B1B4 48 04 20 D9 */ bl GXSetDispCopyFrame2Field
/* 8023F558 0023B1B8 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 8023F55C 0023B1BC 48 04 26 FD */ bl GXSetDispCopyGamma
/* 8023F560 0023B1C0 C0 3F 00 68 */ lfs f1, 0x68(r31)
/* 8023F564 0023B1C4 48 04 23 CD */ bl GXSetDispCopyYScale
/* 8023F568 0023B1C8 88 7F 00 19 */ lbz r3, 0x19(r31)
/* 8023F56C 0023B1CC 38 9F 00 1A */ addi r4, r31, 0x1a
/* 8023F570 0023B1D0 38 DF 00 32 */ addi r6, r31, 0x32
/* 8023F574 0023B1D4 38 A0 00 01 */ li r5, 1
/* 8023F578 0023B1D8 48 04 24 FD */ bl GXSetCopyFilter
/* 8023F57C 0023B1DC 38 60 00 03 */ li r3, 3
/* 8023F580 0023B1E0 48 04 20 CD */ bl GXSetCopyClamp
/* 8023F584 0023B1E4 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 8023F588 0023B1E8 38 61 00 08 */ addi r3, r1, 8
/* 8023F58C 0023B1EC 98 01 00 08 */ stb r0, 8(r1)
/* 8023F590 0023B1F0 88 1F 00 D1 */ lbz r0, 0xd1(r31)
/* 8023F594 0023B1F4 98 01 00 09 */ stb r0, 9(r1)
/* 8023F598 0023B1F8 88 1F 00 D2 */ lbz r0, 0xd2(r31)
/* 8023F59C 0023B1FC 98 01 00 0A */ stb r0, 0xa(r1)
/* 8023F5A0 0023B200 88 1F 00 D3 */ lbz r0, 0xd3(r31)
/* 8023F5A4 0023B204 98 01 00 0B */ stb r0, 0xb(r1)
/* 8023F5A8 0023B208 80 9F 00 D4 */ lwz r4, 0xd4(r31)
/* 8023F5AC 0023B20C 48 04 24 51 */ bl GXSetCopyClear
lbl_8023F5B0:
/* 8023F5B0 0023B210 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023F5B4 0023B214 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023F5B8 0023B218 7C 08 03 A6 */ mtlr r0
/* 8023F5BC 0023B21C 38 21 00 20 */ addi r1, r1, 0x20
/* 8023F5C0 0023B220 4E 80 00 20 */ blr
.global func_8023F5C4
func_8023F5C4:
/* 8023F5C4 0023B224 80 0D A4 C8 */ lwz r0, lbl_8063F788-_SDA_BASE_(r13)
/* 8023F5C8 0023B228 2C 00 00 00 */ cmpwi r0, 0
/* 8023F5CC 0023B22C 4D 82 00 20 */ beqlr
/* 8023F5D0 0023B230 38 00 00 04 */ li r0, 4
/* 8023F5D4 0023B234 80 64 00 04 */ lwz r3, 4(r4)
/* 8023F5D8 0023B238 90 04 00 00 */ stw r0, 0(r4)
/* 8023F5DC 0023B23C 38 80 00 01 */ li r4, 1
/* 8023F5E0 0023B240 48 04 26 8C */ b GXCopyDisp
/* 8023F5E4 0023B244 4E 80 00 20 */ blr
.global func_8023F5E8
func_8023F5E8:
/* 8023F5E8 0023B248 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8023F5EC 0023B24C 7C 08 02 A6 */ mflr r0
/* 8023F5F0 0023B250 90 01 00 44 */ stw r0, 0x44(r1)
/* 8023F5F4 0023B254 39 61 00 40 */ addi r11, r1, 0x40
/* 8023F5F8 0023B258 4B F8 7B 2D */ bl _savegpr_26
/* 8023F5FC 0023B25C 2C 04 00 00 */ cmpwi r4, 0
/* 8023F600 0023B260 7C 7A 1B 78 */ mr r26, r3
/* 8023F604 0023B264 7C 9B 23 78 */ mr r27, r4
/* 8023F608 0023B268 7C BE 2B 78 */ mr r30, r5
/* 8023F60C 0023B26C 7C DC 33 78 */ mr r28, r6
/* 8023F610 0023B270 7C FD 3B 78 */ mr r29, r7
/* 8023F614 0023B274 41 82 01 4C */ beq lbl_8023F760
/* 8023F618 0023B278 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023F61C 0023B27C 4B FF B8 39 */ bl func_8023AE54
/* 8023F620 0023B280 7F 63 DB 78 */ mr r3, r27
/* 8023F624 0023B284 7F C4 F3 78 */ mr r4, r30
/* 8023F628 0023B288 4B FF F0 61 */ bl func_8023E688
/* 8023F62C 0023B28C 7F 63 DB 78 */ mr r3, r27
/* 8023F630 0023B290 4B FF EF 11 */ bl func_8023E540
/* 8023F634 0023B294 7C 7F 1B 78 */ mr r31, r3
/* 8023F638 0023B298 7F 63 DB 78 */ mr r3, r27
/* 8023F63C 0023B29C 4B FF EF 0D */ bl func_8023E548
/* 8023F640 0023B2A0 2C 1C 00 00 */ cmpwi r28, 0
/* 8023F644 0023B2A4 7C 7E 1B 78 */ mr r30, r3
/* 8023F648 0023B2A8 7F E5 FB 78 */ mr r5, r31
/* 8023F64C 0023B2AC 7F C6 F3 78 */ mr r6, r30
/* 8023F650 0023B2B0 41 82 00 0C */ beq lbl_8023F65C
/* 8023F654 0023B2B4 57 E5 0C 3C */ rlwinm r5, r31, 1, 0x10, 0x1e
/* 8023F658 0023B2B8 54 66 0C 3C */ rlwinm r6, r3, 1, 0x10, 0x1e
lbl_8023F65C:
/* 8023F65C 0023B2BC C0 22 9E 10 */ lfs f1, lbl_80642410-_SDA2_BASE_(r2)
/* 8023F660 0023B2C0 C0 1A 00 A8 */ lfs f0, 0xa8(r26)
/* 8023F664 0023B2C4 EC 01 00 2A */ fadds f0, f1, f0
/* 8023F668 0023B2C8 F0 01 B0 14 */ psq_st f0, 20(r1), 1, qr3
/* 8023F66C 0023B2CC C0 1A 00 AC */ lfs f0, 0xac(r26)
/* 8023F670 0023B2D0 A0 61 00 14 */ lhz r3, 0x14(r1)
/* 8023F674 0023B2D4 EC 01 00 2A */ fadds f0, f1, f0
/* 8023F678 0023B2D8 F0 01 B0 10 */ psq_st f0, 16(r1), 1, qr3
/* 8023F67C 0023B2DC C0 1A 00 B0 */ lfs f0, 0xb0(r26)
/* 8023F680 0023B2E0 A0 81 00 10 */ lhz r4, 0x10(r1)
/* 8023F684 0023B2E4 EC 01 00 2A */ fadds f0, f1, f0
/* 8023F688 0023B2E8 F0 01 B0 0C */ psq_st f0, 12(r1), 1, qr3
/* 8023F68C 0023B2EC C0 1A 00 B4 */ lfs f0, 0xb4(r26)
/* 8023F690 0023B2F0 A0 E1 00 0C */ lhz r7, 0xc(r1)
/* 8023F694 0023B2F4 EC 01 00 2A */ fadds f0, f1, f0
/* 8023F698 0023B2F8 F0 01 B0 08 */ psq_st f0, 8(r1), 1, qr3
/* 8023F69C 0023B2FC 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8023F6A0 0023B300 7C 07 00 40 */ cmplw r7, r0
/* 8023F6A4 0023B304 A1 01 00 08 */ lhz r8, 8(r1)
/* 8023F6A8 0023B308 40 80 00 0C */ bge lbl_8023F6B4
/* 8023F6AC 0023B30C 38 60 00 00 */ li r3, 0
/* 8023F6B0 0023B310 7C A7 2B 78 */ mr r7, r5
lbl_8023F6B4:
/* 8023F6B4 0023B314 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 8023F6B8 0023B318 7C 08 00 40 */ cmplw r8, r0
/* 8023F6BC 0023B31C 40 80 00 0C */ bge lbl_8023F6C8
/* 8023F6C0 0023B320 38 80 00 00 */ li r4, 0
/* 8023F6C4 0023B324 7C C8 33 78 */ mr r8, r6
lbl_8023F6C8:
/* 8023F6C8 0023B328 54 E5 04 3E */ clrlwi r5, r7, 0x10
/* 8023F6CC 0023B32C 55 06 04 3E */ clrlwi r6, r8, 0x10
/* 8023F6D0 0023B330 48 04 1D DD */ bl GXSetTexCopySrc
/* 8023F6D4 0023B334 7F 63 DB 78 */ mr r3, r27
/* 8023F6D8 0023B338 38 80 00 00 */ li r4, 0
/* 8023F6DC 0023B33C 4B FF F0 0D */ bl func_8023E6E8
/* 8023F6E0 0023B340 7C 65 1B 78 */ mr r5, r3
/* 8023F6E4 0023B344 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 8023F6E8 0023B348 57 C4 04 3E */ clrlwi r4, r30, 0x10
/* 8023F6EC 0023B34C 57 86 06 3E */ clrlwi r6, r28, 0x18
/* 8023F6F0 0023B350 48 04 1E 21 */ bl GXSetTexCopyDst
/* 8023F6F4 0023B354 38 60 00 00 */ li r3, 0
/* 8023F6F8 0023B358 38 80 00 00 */ li r4, 0
/* 8023F6FC 0023B35C 38 A0 00 00 */ li r5, 0
/* 8023F700 0023B360 38 C0 00 00 */ li r6, 0
/* 8023F704 0023B364 48 04 23 71 */ bl GXSetCopyFilter
/* 8023F708 0023B368 38 60 00 03 */ li r3, 3
/* 8023F70C 0023B36C 48 04 1F 41 */ bl GXSetCopyClamp
/* 8023F710 0023B370 88 1A 00 D0 */ lbz r0, 0xd0(r26)
/* 8023F714 0023B374 38 61 00 18 */ addi r3, r1, 0x18
/* 8023F718 0023B378 98 01 00 18 */ stb r0, 0x18(r1)
/* 8023F71C 0023B37C 88 1A 00 D1 */ lbz r0, 0xd1(r26)
/* 8023F720 0023B380 98 01 00 19 */ stb r0, 0x19(r1)
/* 8023F724 0023B384 88 1A 00 D2 */ lbz r0, 0xd2(r26)
/* 8023F728 0023B388 98 01 00 1A */ stb r0, 0x1a(r1)
/* 8023F72C 0023B38C 88 1A 00 D3 */ lbz r0, 0xd3(r26)
/* 8023F730 0023B390 98 01 00 1B */ stb r0, 0x1b(r1)
/* 8023F734 0023B394 80 9A 00 D4 */ lwz r4, 0xd4(r26)
/* 8023F738 0023B398 48 04 22 C5 */ bl GXSetCopyClear
/* 8023F73C 0023B39C 7F 63 DB 78 */ mr r3, r27
/* 8023F740 0023B3A0 38 80 00 00 */ li r4, 0
/* 8023F744 0023B3A4 4B FF ED 5D */ bl func_8023E4A0
/* 8023F748 0023B3A8 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8023F74C 0023B3AC 48 04 26 5D */ bl GXCopyTex
/* 8023F750 0023B3B0 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023F754 0023B3B4 7F 64 DB 78 */ mr r4, r27
/* 8023F758 0023B3B8 4B FF C1 F1 */ bl func_8023B948
/* 8023F75C 0023B3BC 90 7B 00 50 */ stw r3, 0x50(r27)
lbl_8023F760:
/* 8023F760 0023B3C0 39 61 00 40 */ addi r11, r1, 0x40
/* 8023F764 0023B3C4 4B F8 7A 0D */ bl _restgpr_26
/* 8023F768 0023B3C8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8023F76C 0023B3CC 7C 08 03 A6 */ mtlr r0
/* 8023F770 0023B3D0 38 21 00 40 */ addi r1, r1, 0x40
/* 8023F774 0023B3D4 4E 80 00 20 */ blr
.global func_8023F778
func_8023F778:
/* 8023F778 0023B3D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023F77C 0023B3DC 7C 08 02 A6 */ mflr r0
/* 8023F780 0023B3E0 38 80 00 04 */ li r4, 4
/* 8023F784 0023B3E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023F788 0023B3E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023F78C 0023B3EC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8023F790 0023B3F0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8023F794 0023B3F4 93 81 00 10 */ stw r28, 0x10(r1)
/* 8023F798 0023B3F8 7C 7C 1B 78 */ mr r28, r3
/* 8023F79C 0023B3FC 48 00 04 71 */ bl func_8023FC0C
/* 8023F7A0 0023B400 2C 03 00 00 */ cmpwi r3, 0
/* 8023F7A4 0023B404 7C 7D 1B 78 */ mr r29, r3
/* 8023F7A8 0023B408 41 82 00 90 */ beq lbl_8023F838
/* 8023F7AC 0023B40C 88 1C 00 58 */ lbz r0, 0x58(r28)
/* 8023F7B0 0023B410 28 00 00 03 */ cmplwi r0, 3
/* 8023F7B4 0023B414 40 82 00 20 */ bne lbl_8023F7D4
/* 8023F7B8 0023B418 7F 83 E3 78 */ mr r3, r28
/* 8023F7BC 0023B41C 38 80 00 02 */ li r4, 2
/* 8023F7C0 0023B420 48 00 04 4D */ bl func_8023FC0C
/* 8023F7C4 0023B424 2C 03 00 00 */ cmpwi r3, 0
/* 8023F7C8 0023B428 41 82 00 0C */ beq lbl_8023F7D4
/* 8023F7CC 0023B42C 38 00 00 03 */ li r0, 3
/* 8023F7D0 0023B430 90 03 00 00 */ stw r0, 0(r3)
lbl_8023F7D4:
/* 8023F7D4 0023B434 48 03 2F E5 */ bl OSGetTime
/* 8023F7D8 0023B438 80 BC 00 9C */ lwz r5, 0x9c(r28)
/* 8023F7DC 0023B43C 7C 9E 23 78 */ mr r30, r4
/* 8023F7E0 0023B440 80 1C 00 98 */ lwz r0, 0x98(r28)
/* 8023F7E4 0023B444 7C 7F 1B 78 */ mr r31, r3
/* 8023F7E8 0023B448 7C 85 20 10 */ subfc r4, r5, r4
/* 8023F7EC 0023B44C 7C 60 19 10 */ subfe r3, r0, r3
/* 8023F7F0 0023B450 4B F8 7D D5 */ bl __cvt_sll_flt
/* 8023F7F4 0023B454 3C 80 80 00 */ lis r4, 0x800000F8@ha
/* 8023F7F8 0023B458 3C 60 43 30 */ lis r3, 0x4330
/* 8023F7FC 0023B45C 80 A4 00 F8 */ lwz r5, 0x800000F8@l(r4)
/* 8023F800 0023B460 38 00 00 02 */ li r0, 2
/* 8023F804 0023B464 88 9C 00 59 */ lbz r4, 0x59(r28)
/* 8023F808 0023B468 54 A5 F0 BE */ srwi r5, r5, 2
/* 8023F80C 0023B46C 90 61 00 08 */ stw r3, 8(r1)
/* 8023F810 0023B470 7C 65 23 96 */ divwu r3, r5, r4
/* 8023F814 0023B474 C8 42 9E 08 */ lfd f2, lbl_80642408-_SDA2_BASE_(r2)
/* 8023F818 0023B478 93 DC 00 9C */ stw r30, 0x9c(r28)
/* 8023F81C 0023B47C 93 FC 00 98 */ stw r31, 0x98(r28)
/* 8023F820 0023B480 90 61 00 0C */ stw r3, 0xc(r1)
/* 8023F824 0023B484 C8 01 00 08 */ lfd f0, 8(r1)
/* 8023F828 0023B488 EC 00 10 28 */ fsubs f0, f0, f2
/* 8023F82C 0023B48C EC 01 00 24 */ fdivs f0, f1, f0
/* 8023F830 0023B490 D0 1C 00 8C */ stfs f0, 0x8c(r28)
/* 8023F834 0023B494 90 1D 00 00 */ stw r0, 0(r29)
lbl_8023F838:
/* 8023F838 0023B498 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023F83C 0023B49C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023F840 0023B4A0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8023F844 0023B4A4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8023F848 0023B4A8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8023F84C 0023B4AC 7C 08 03 A6 */ mtlr r0
/* 8023F850 0023B4B0 38 21 00 20 */ addi r1, r1, 0x20
/* 8023F854 0023B4B4 4E 80 00 20 */ blr
.global func_8023F858
func_8023F858:
/* 8023F858 0023B4B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023F85C 0023B4BC 7C 08 02 A6 */ mflr r0
/* 8023F860 0023B4C0 2C 05 00 02 */ cmpwi r5, 2
/* 8023F864 0023B4C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023F868 0023B4C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023F86C 0023B4CC 7C 7F 1B 78 */ mr r31, r3
/* 8023F870 0023B4D0 38 60 00 00 */ li r3, 0
/* 8023F874 0023B4D4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8023F878 0023B4D8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8023F87C 0023B4DC 7C FD 3B 78 */ mr r29, r7
/* 8023F880 0023B4E0 93 81 00 10 */ stw r28, 0x10(r1)
/* 8023F884 0023B4E4 7C 9C 23 78 */ mr r28, r4
/* 8023F888 0023B4E8 41 82 00 24 */ beq lbl_8023F8AC
/* 8023F88C 0023B4EC 40 80 00 14 */ bge lbl_8023F8A0
/* 8023F890 0023B4F0 2C 05 00 00 */ cmpwi r5, 0
/* 8023F894 0023B4F4 41 82 00 40 */ beq lbl_8023F8D4
/* 8023F898 0023B4F8 40 80 00 78 */ bge lbl_8023F910
/* 8023F89C 0023B4FC 48 00 00 D4 */ b lbl_8023F970
lbl_8023F8A0:
/* 8023F8A0 0023B500 2C 05 00 04 */ cmpwi r5, 4
/* 8023F8A4 0023B504 40 80 00 CC */ bge lbl_8023F970
/* 8023F8A8 0023B508 48 00 00 A4 */ b lbl_8023F94C
lbl_8023F8AC:
/* 8023F8AC 0023B50C 2C 06 00 02 */ cmpwi r6, 2
/* 8023F8B0 0023B510 41 82 00 1C */ beq lbl_8023F8CC
/* 8023F8B4 0023B514 40 80 00 BC */ bge lbl_8023F970
/* 8023F8B8 0023B518 2C 06 00 00 */ cmpwi r6, 0
/* 8023F8BC 0023B51C 40 80 00 08 */ bge lbl_8023F8C4
/* 8023F8C0 0023B520 48 00 00 B0 */ b lbl_8023F970
lbl_8023F8C4:
/* 8023F8C4 0023B524 38 60 00 01 */ li r3, 1
/* 8023F8C8 0023B528 48 00 00 A8 */ b lbl_8023F970
lbl_8023F8CC:
/* 8023F8CC 0023B52C 38 60 00 02 */ li r3, 2
/* 8023F8D0 0023B530 48 00 00 A0 */ b lbl_8023F970
lbl_8023F8D4:
/* 8023F8D4 0023B534 2C 06 00 01 */ cmpwi r6, 1
/* 8023F8D8 0023B538 41 82 00 28 */ beq lbl_8023F900
/* 8023F8DC 0023B53C 40 80 00 10 */ bge lbl_8023F8EC
/* 8023F8E0 0023B540 2C 06 00 00 */ cmpwi r6, 0
/* 8023F8E4 0023B544 40 80 00 14 */ bge lbl_8023F8F8
/* 8023F8E8 0023B548 48 00 00 88 */ b lbl_8023F970
lbl_8023F8EC:
/* 8023F8EC 0023B54C 2C 06 00 03 */ cmpwi r6, 3
/* 8023F8F0 0023B550 40 80 00 80 */ bge lbl_8023F970
/* 8023F8F4 0023B554 48 00 00 14 */ b lbl_8023F908
lbl_8023F8F8:
/* 8023F8F8 0023B558 38 60 00 05 */ li r3, 5
/* 8023F8FC 0023B55C 48 00 00 74 */ b lbl_8023F970
lbl_8023F900:
/* 8023F900 0023B560 38 60 00 06 */ li r3, 6
/* 8023F904 0023B564 48 00 00 6C */ b lbl_8023F970
lbl_8023F908:
/* 8023F908 0023B568 38 60 00 07 */ li r3, 7
/* 8023F90C 0023B56C 48 00 00 64 */ b lbl_8023F970
lbl_8023F910:
/* 8023F910 0023B570 2C 06 00 01 */ cmpwi r6, 1
/* 8023F914 0023B574 41 82 00 28 */ beq lbl_8023F93C
/* 8023F918 0023B578 40 80 00 10 */ bge lbl_8023F928
/* 8023F91C 0023B57C 2C 06 00 00 */ cmpwi r6, 0
/* 8023F920 0023B580 40 80 00 14 */ bge lbl_8023F934
/* 8023F924 0023B584 48 00 00 4C */ b lbl_8023F970
lbl_8023F928:
/* 8023F928 0023B588 2C 06 00 03 */ cmpwi r6, 3
/* 8023F92C 0023B58C 40 80 00 44 */ bge lbl_8023F970
/* 8023F930 0023B590 48 00 00 14 */ b lbl_8023F944
lbl_8023F934:
/* 8023F934 0023B594 38 60 00 08 */ li r3, 8
/* 8023F938 0023B598 48 00 00 38 */ b lbl_8023F970
lbl_8023F93C:
/* 8023F93C 0023B59C 38 60 00 09 */ li r3, 9
/* 8023F940 0023B5A0 48 00 00 30 */ b lbl_8023F970
lbl_8023F944:
/* 8023F944 0023B5A4 38 60 00 0A */ li r3, 0xa
/* 8023F948 0023B5A8 48 00 00 28 */ b lbl_8023F970
lbl_8023F94C:
/* 8023F94C 0023B5AC 2C 06 00 02 */ cmpwi r6, 2
/* 8023F950 0023B5B0 41 82 00 1C */ beq lbl_8023F96C
/* 8023F954 0023B5B4 40 80 00 1C */ bge lbl_8023F970
/* 8023F958 0023B5B8 2C 06 00 00 */ cmpwi r6, 0
/* 8023F95C 0023B5BC 40 80 00 08 */ bge lbl_8023F964
/* 8023F960 0023B5C0 48 00 00 10 */ b lbl_8023F970
lbl_8023F964:
/* 8023F964 0023B5C4 38 60 00 03 */ li r3, 3
/* 8023F968 0023B5C8 48 00 00 08 */ b lbl_8023F970
lbl_8023F96C:
/* 8023F96C 0023B5CC 38 60 00 04 */ li r3, 4
lbl_8023F970:
/* 8023F970 0023B5D0 2C 03 00 00 */ cmpwi r3, 0
/* 8023F974 0023B5D4 40 82 00 0C */ bne lbl_8023F980
/* 8023F978 0023B5D8 38 60 00 00 */ li r3, 0
/* 8023F97C 0023B5DC 48 00 01 68 */ b lbl_8023FAE4
lbl_8023F980:
/* 8023F980 0023B5E0 3C A0 80 42 */ lis r5, lbl_80424840@ha
/* 8023F984 0023B5E4 38 C0 00 00 */ li r6, 0
/* 8023F988 0023B5E8 38 A5 48 40 */ addi r5, r5, lbl_80424840@l
/* 8023F98C 0023B5EC 48 00 00 68 */ b lbl_8023F9F4
lbl_8023F990:
/* 8023F990 0023B5F0 7C 00 18 00 */ cmpw r0, r3
/* 8023F994 0023B5F4 40 82 00 5C */ bne lbl_8023F9F0
/* 8023F998 0023B5F8 2C 04 00 02 */ cmpwi r4, 2
/* 8023F99C 0023B5FC 41 82 00 3C */ beq lbl_8023F9D8
/* 8023F9A0 0023B600 40 80 00 14 */ bge lbl_8023F9B4
/* 8023F9A4 0023B604 2C 04 00 00 */ cmpwi r4, 0
/* 8023F9A8 0023B608 41 82 00 18 */ beq lbl_8023F9C0
/* 8023F9AC 0023B60C 40 80 00 20 */ bge lbl_8023F9CC
/* 8023F9B0 0023B610 48 00 00 50 */ b lbl_8023FA00
lbl_8023F9B4:
/* 8023F9B4 0023B614 2C 04 00 04 */ cmpwi r4, 4
/* 8023F9B8 0023B618 40 80 00 48 */ bge lbl_8023FA00
/* 8023F9BC 0023B61C 48 00 00 28 */ b lbl_8023F9E4
lbl_8023F9C0:
/* 8023F9C0 0023B620 80 C5 00 04 */ lwz r6, 4(r5)
/* 8023F9C4 0023B624 3B C0 02 D0 */ li r30, 0x2d0
/* 8023F9C8 0023B628 48 00 00 38 */ b lbl_8023FA00
lbl_8023F9CC:
/* 8023F9CC 0023B62C 80 C5 00 08 */ lwz r6, 8(r5)
/* 8023F9D0 0023B630 3B C0 02 D0 */ li r30, 0x2d0
/* 8023F9D4 0023B634 48 00 00 2C */ b lbl_8023FA00
lbl_8023F9D8:
/* 8023F9D8 0023B638 80 C5 00 0C */ lwz r6, 0xc(r5)
/* 8023F9DC 0023B63C 3B C0 02 D0 */ li r30, 0x2d0
/* 8023F9E0 0023B640 48 00 00 20 */ b lbl_8023FA00
lbl_8023F9E4:
/* 8023F9E4 0023B644 80 C5 00 10 */ lwz r6, 0x10(r5)
/* 8023F9E8 0023B648 3B C0 02 D0 */ li r30, 0x2d0
/* 8023F9EC 0023B64C 48 00 00 14 */ b lbl_8023FA00
lbl_8023F9F0:
/* 8023F9F0 0023B650 38 A5 00 14 */ addi r5, r5, 0x14
lbl_8023F9F4:
/* 8023F9F4 0023B654 80 05 00 00 */ lwz r0, 0(r5)
/* 8023F9F8 0023B658 2C 00 00 00 */ cmpwi r0, 0
/* 8023F9FC 0023B65C 40 82 FF 94 */ bne lbl_8023F990
lbl_8023FA00:
/* 8023FA00 0023B660 2C 06 00 00 */ cmpwi r6, 0
/* 8023FA04 0023B664 40 82 00 0C */ bne lbl_8023FA10
/* 8023FA08 0023B668 38 60 00 00 */ li r3, 0
/* 8023FA0C 0023B66C 48 00 00 D8 */ b lbl_8023FAE4
lbl_8023FA10:
/* 8023FA10 0023B670 7F E3 FB 78 */ mr r3, r31
/* 8023FA14 0023B674 7C C4 33 78 */ mr r4, r6
/* 8023FA18 0023B678 38 A0 00 3C */ li r5, 0x3c
/* 8023FA1C 0023B67C 4B DC 45 E5 */ bl memcpy
/* 8023FA20 0023B680 A0 1F 00 5C */ lhz r0, 0x5c(r31)
/* 8023FA24 0023B684 2C 00 00 00 */ cmpwi r0, 0
/* 8023FA28 0023B688 41 82 00 08 */ beq lbl_8023FA30
/* 8023FA2C 0023B68C B0 1F 00 06 */ sth r0, 6(r31)
lbl_8023FA30:
/* 8023FA30 0023B690 2C 1D 00 00 */ cmpwi r29, 0
/* 8023FA34 0023B694 9B BF 00 7A */ stb r29, 0x7a(r31)
/* 8023FA38 0023B698 41 82 00 1C */ beq lbl_8023FA54
/* 8023FA3C 0023B69C 2C 1C 00 01 */ cmpwi r28, 1
/* 8023FA40 0023B6A0 B3 DF 00 0E */ sth r30, 0xe(r31)
/* 8023FA44 0023B6A4 40 82 00 34 */ bne lbl_8023FA78
/* 8023FA48 0023B6A8 38 1E FF D8 */ addi r0, r30, -40
/* 8023FA4C 0023B6AC B0 1F 00 0E */ sth r0, 0xe(r31)
/* 8023FA50 0023B6B0 48 00 00 28 */ b lbl_8023FA78
lbl_8023FA54:
/* 8023FA54 0023B6B4 2C 1C 00 01 */ cmpwi r28, 1
/* 8023FA58 0023B6B8 41 82 00 10 */ beq lbl_8023FA68
/* 8023FA5C 0023B6BC A0 7F 00 0E */ lhz r3, 0xe(r31)
/* 8023FA60 0023B6C0 38 03 00 14 */ addi r0, r3, 0x14
/* 8023FA64 0023B6C4 B0 1F 00 0E */ sth r0, 0xe(r31)
lbl_8023FA68:
/* 8023FA68 0023B6C8 A0 1F 00 0E */ lhz r0, 0xe(r31)
/* 8023FA6C 0023B6CC 7C 00 F0 40 */ cmplw r0, r30
/* 8023FA70 0023B6D0 40 81 00 08 */ ble lbl_8023FA78
/* 8023FA74 0023B6D4 B3 DF 00 0E */ sth r30, 0xe(r31)
lbl_8023FA78:
/* 8023FA78 0023B6D8 A0 1F 00 0E */ lhz r0, 0xe(r31)
/* 8023FA7C 0023B6DC 2C 1C 00 01 */ cmpwi r28, 1
/* 8023FA80 0023B6E0 93 9F 00 70 */ stw r28, 0x70(r31)
/* 8023FA84 0023B6E4 7C 00 F0 50 */ subf r0, r0, r30
/* 8023FA88 0023B6E8 7C 00 0E 70 */ srawi r0, r0, 1
/* 8023FA8C 0023B6EC B0 1F 00 0A */ sth r0, 0xa(r31)
/* 8023FA90 0023B6F0 40 82 00 10 */ bne lbl_8023FAA0
/* 8023FA94 0023B6F4 38 00 00 32 */ li r0, 0x32
/* 8023FA98 0023B6F8 98 1F 00 59 */ stb r0, 0x59(r31)
/* 8023FA9C 0023B6FC 48 00 00 0C */ b lbl_8023FAA8
lbl_8023FAA0:
/* 8023FAA0 0023B700 38 00 00 3C */ li r0, 0x3c
/* 8023FAA4 0023B704 98 1F 00 59 */ stb r0, 0x59(r31)
lbl_8023FAA8:
/* 8023FAA8 0023B708 88 7F 00 59 */ lbz r3, 0x59(r31)
/* 8023FAAC 0023B70C 3C 00 43 30 */ lis r0, 0x4330
/* 8023FAB0 0023B710 90 01 00 08 */ stw r0, 8(r1)
/* 8023FAB4 0023B714 C8 42 9E 08 */ lfd f2, lbl_80642408-_SDA2_BASE_(r2)
/* 8023FAB8 0023B718 90 61 00 0C */ stw r3, 0xc(r1)
/* 8023FABC 0023B71C C0 02 9E 00 */ lfs f0, lbl_80642400-_SDA2_BASE_(r2)
/* 8023FAC0 0023B720 C8 21 00 08 */ lfd f1, 8(r1)
/* 8023FAC4 0023B724 EC 21 10 28 */ fsubs f1, f1, f2
/* 8023FAC8 0023B728 EC 01 00 24 */ fdivs f0, f1, f0
/* 8023FACC 0023B72C D0 0D 86 C8 */ stfs f0, lbl_8063D988-_SDA_BASE_(r13)
/* 8023FAD0 0023B730 A0 7F 00 06 */ lhz r3, 6(r31)
/* 8023FAD4 0023B734 A0 9F 00 08 */ lhz r4, 8(r31)
/* 8023FAD8 0023B738 48 04 1C 29 */ bl GXGetYScaleFactor
/* 8023FADC 0023B73C D0 3F 00 68 */ stfs f1, 0x68(r31)
/* 8023FAE0 0023B740 38 60 00 01 */ li r3, 1
lbl_8023FAE4:
/* 8023FAE4 0023B744 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023FAE8 0023B748 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023FAEC 0023B74C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8023FAF0 0023B750 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8023FAF4 0023B754 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8023FAF8 0023B758 7C 08 03 A6 */ mtlr r0
/* 8023FAFC 0023B75C 38 21 00 20 */ addi r1, r1, 0x20
/* 8023FB00 0023B760 4E 80 00 20 */ blr
.global func_8023FB04
func_8023FB04:
/* 8023FB04 0023B764 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023FB08 0023B768 7C 08 02 A6 */ mflr r0
/* 8023FB0C 0023B76C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023FB10 0023B770 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023FB14 0023B774 7C 9F 23 78 */ mr r31, r4
/* 8023FB18 0023B778 93 C1 00 08 */ stw r30, 8(r1)
/* 8023FB1C 0023B77C 7C 7E 1B 78 */ mr r30, r3
/* 8023FB20 0023B780 38 60 00 00 */ li r3, 0
/* 8023FB24 0023B784 48 03 83 19 */ bl VISetPreRetraceCallback
/* 8023FB28 0023B788 38 60 00 00 */ li r3, 0
/* 8023FB2C 0023B78C 48 03 83 55 */ bl VISetPostRetraceCallback
/* 8023FB30 0023B790 38 60 00 01 */ li r3, 1
/* 8023FB34 0023B794 48 03 9C F5 */ bl VISetBlack
/* 8023FB38 0023B798 7F C3 F3 78 */ mr r3, r30
/* 8023FB3C 0023B79C 48 03 90 85 */ bl VIConfigure
/* 8023FB40 0023B7A0 48 03 9B 69 */ bl VIFlush
/* 8023FB44 0023B7A4 38 00 00 01 */ li r0, 1
/* 8023FB48 0023B7A8 7F C3 F3 78 */ mr r3, r30
/* 8023FB4C 0023B7AC 98 1E 00 5B */ stb r0, 0x5b(r30)
/* 8023FB50 0023B7B0 4B FF F8 CD */ bl func_8023F41C
/* 8023FB54 0023B7B4 7F C3 F3 78 */ mr r3, r30
/* 8023FB58 0023B7B8 4B FF F8 C5 */ bl func_8023F41C
/* 8023FB5C 0023B7BC 3C 60 80 24 */ lis r3, lbl_8023EE6C@ha
/* 8023FB60 0023B7C0 38 63 EE 6C */ addi r3, r3, lbl_8023EE6C@l
/* 8023FB64 0023B7C4 48 03 82 D9 */ bl VISetPreRetraceCallback
/* 8023FB68 0023B7C8 3C 60 80 24 */ lis r3, lbl_8023EF3C@ha
/* 8023FB6C 0023B7CC 38 63 EF 3C */ addi r3, r3, lbl_8023EF3C@l
/* 8023FB70 0023B7D0 48 03 83 11 */ bl VISetPostRetraceCallback
/* 8023FB74 0023B7D4 28 1F 00 01 */ cmplwi r31, 1
/* 8023FB78 0023B7D8 40 82 00 10 */ bne lbl_8023FB88
/* 8023FB7C 0023B7DC 38 60 00 00 */ li r3, 0
/* 8023FB80 0023B7E0 48 03 9C A9 */ bl VISetBlack
/* 8023FB84 0023B7E4 48 03 9B 25 */ bl VIFlush
lbl_8023FB88:
/* 8023FB88 0023B7E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023FB8C 0023B7EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023FB90 0023B7F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8023FB94 0023B7F4 7C 08 03 A6 */ mtlr r0
/* 8023FB98 0023B7F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8023FB9C 0023B7FC 4E 80 00 20 */ blr
.global func_8023FBA0
func_8023FBA0:
/* 8023FBA0 0023B800 54 A7 F0 BF */ rlwinm. r7, r5, 0x1e, 2, 0x1f
/* 8023FBA4 0023B804 3C 60 10 80 */ lis r3, 0x10801080@ha
/* 8023FBA8 0023B808 80 C4 00 04 */ lwz r6, 4(r4)
/* 8023FBAC 0023B80C 38 63 10 80 */ addi r3, r3, 0x10801080@l
/* 8023FBB0 0023B810 41 82 00 50 */ beq lbl_8023FC00
/* 8023FBB4 0023B814 54 E0 E8 FF */ rlwinm. r0, r7, 0x1d, 3, 0x1f
/* 8023FBB8 0023B818 7C 09 03 A6 */ mtctr r0
/* 8023FBBC 0023B81C 41 82 00 34 */ beq lbl_8023FBF0
lbl_8023FBC0:
/* 8023FBC0 0023B820 90 66 00 00 */ stw r3, 0(r6)
/* 8023FBC4 0023B824 90 66 00 04 */ stw r3, 4(r6)
/* 8023FBC8 0023B828 90 66 00 08 */ stw r3, 8(r6)
/* 8023FBCC 0023B82C 90 66 00 0C */ stw r3, 0xc(r6)
/* 8023FBD0 0023B830 90 66 00 10 */ stw r3, 0x10(r6)
/* 8023FBD4 0023B834 90 66 00 14 */ stw r3, 0x14(r6)
/* 8023FBD8 0023B838 90 66 00 18 */ stw r3, 0x18(r6)
/* 8023FBDC 0023B83C 90 66 00 1C */ stw r3, 0x1c(r6)
/* 8023FBE0 0023B840 38 C6 00 20 */ addi r6, r6, 0x20
/* 8023FBE4 0023B844 42 00 FF DC */ bdnz lbl_8023FBC0
/* 8023FBE8 0023B848 70 E7 00 07 */ andi. r7, r7, 7
/* 8023FBEC 0023B84C 41 82 00 14 */ beq lbl_8023FC00
lbl_8023FBF0:
/* 8023FBF0 0023B850 7C E9 03 A6 */ mtctr r7
lbl_8023FBF4:
/* 8023FBF4 0023B854 90 66 00 00 */ stw r3, 0(r6)
/* 8023FBF8 0023B858 38 C6 00 04 */ addi r6, r6, 4
/* 8023FBFC 0023B85C 42 00 FF F8 */ bdnz lbl_8023FBF4
lbl_8023FC00:
/* 8023FC00 0023B860 80 64 00 04 */ lwz r3, 4(r4)
/* 8023FC04 0023B864 7C A4 2B 78 */ mr r4, r5
/* 8023FC08 0023B868 48 02 AA 4C */ b DCFlushRange
.global func_8023FC0C
func_8023FC0C:
/* 8023FC0C 0023B86C 88 03 00 58 */ lbz r0, 0x58(r3)
/* 8023FC10 0023B870 7C 65 1B 78 */ mr r5, r3
/* 8023FC14 0023B874 38 C0 00 00 */ li r6, 0
/* 8023FC18 0023B878 7C 09 03 A6 */ mtctr r0
/* 8023FC1C 0023B87C 2C 00 00 00 */ cmpwi r0, 0
/* 8023FC20 0023B880 40 81 00 2C */ ble lbl_8023FC4C
lbl_8023FC24:
/* 8023FC24 0023B884 80 05 00 3C */ lwz r0, 0x3c(r5)
/* 8023FC28 0023B888 7C 04 00 00 */ cmpw r4, r0
/* 8023FC2C 0023B88C 40 82 00 14 */ bne lbl_8023FC40
/* 8023FC30 0023B890 54 C0 18 38 */ slwi r0, r6, 3
/* 8023FC34 0023B894 7C 63 02 14 */ add r3, r3, r0
/* 8023FC38 0023B898 38 63 00 3C */ addi r3, r3, 0x3c
/* 8023FC3C 0023B89C 4E 80 00 20 */ blr
lbl_8023FC40:
/* 8023FC40 0023B8A0 38 A5 00 08 */ addi r5, r5, 8
/* 8023FC44 0023B8A4 38 C6 00 01 */ addi r6, r6, 1
/* 8023FC48 0023B8A8 42 00 FF DC */ bdnz lbl_8023FC24
lbl_8023FC4C:
/* 8023FC4C 0023B8AC 38 60 00 00 */ li r3, 0
/* 8023FC50 0023B8B0 4E 80 00 20 */ blr
.global func_8023FC54
func_8023FC54:
/* 8023FC54 0023B8B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023FC58 0023B8B8 7C 08 02 A6 */ mflr r0
/* 8023FC5C 0023B8BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023FC60 0023B8C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023FC64 0023B8C4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8023FC68 0023B8C8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8023FC6C 0023B8CC 7C 9D 23 78 */ mr r29, r4
/* 8023FC70 0023B8D0 93 81 00 10 */ stw r28, 0x10(r1)
/* 8023FC74 0023B8D4 7C 7C 1B 78 */ mr r28, r3
/* 8023FC78 0023B8D8 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8023FC7C 0023B8DC 88 05 17 18 */ lbz r0, 0x1718(r5)
/* 8023FC80 0023B8E0 2C 00 00 00 */ cmpwi r0, 0
/* 8023FC84 0023B8E4 41 82 00 0C */ beq lbl_8023FC90
/* 8023FC88 0023B8E8 38 60 00 00 */ li r3, 0
/* 8023FC8C 0023B8EC 48 00 00 B8 */ b lbl_8023FD44
lbl_8023FC90:
/* 8023FC90 0023B8F0 7C A3 2B 78 */ mr r3, r5
/* 8023FC94 0023B8F4 38 81 00 0C */ addi r4, r1, 0xc
/* 8023FC98 0023B8F8 4B FF 15 15 */ bl func_802311AC
lbl_8023FC9C:
/* 8023FC9C 0023B8FC 48 02 EA C1 */ bl OSDisableInterrupts
/* 8023FCA0 0023B900 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8023FCA4 0023B904 7C 7E 1B 78 */ mr r30, r3
/* 8023FCA8 0023B908 88 04 17 18 */ lbz r0, 0x1718(r4)
/* 8023FCAC 0023B90C 2C 00 00 00 */ cmpwi r0, 0
/* 8023FCB0 0023B910 40 82 00 10 */ bne lbl_8023FCC0
/* 8023FCB4 0023B914 88 04 17 19 */ lbz r0, 0x1719(r4)
/* 8023FCB8 0023B918 2C 00 00 00 */ cmpwi r0, 0
/* 8023FCBC 0023B91C 41 82 00 10 */ beq lbl_8023FCCC
lbl_8023FCC0:
/* 8023FCC0 0023B920 3B E0 00 00 */ li r31, 0
/* 8023FCC4 0023B924 3B A0 00 00 */ li r29, 0
/* 8023FCC8 0023B928 48 00 00 14 */ b lbl_8023FCDC
lbl_8023FCCC:
/* 8023FCCC 0023B92C 7F 83 E3 78 */ mr r3, r28
/* 8023FCD0 0023B930 38 80 00 03 */ li r4, 3
/* 8023FCD4 0023B934 4B FF FF 39 */ bl func_8023FC0C
/* 8023FCD8 0023B938 7C 7F 1B 78 */ mr r31, r3
lbl_8023FCDC:
/* 8023FCDC 0023B93C 7F C3 F3 78 */ mr r3, r30
/* 8023FCE0 0023B940 48 02 EA A5 */ bl OSRestoreInterrupts
/* 8023FCE4 0023B944 2C 1D 00 00 */ cmpwi r29, 0
/* 8023FCE8 0023B948 41 82 00 0C */ beq lbl_8023FCF4
/* 8023FCEC 0023B94C 2C 1F 00 00 */ cmpwi r31, 0
/* 8023FCF0 0023B950 41 82 00 18 */ beq lbl_8023FD08
lbl_8023FCF4:
/* 8023FCF4 0023B954 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023FCF8 0023B958 38 81 00 0C */ addi r4, r1, 0xc
/* 8023FCFC 0023B95C 4B FF 15 61 */ bl func_8023125C
/* 8023FD00 0023B960 7F E3 FB 78 */ mr r3, r31
/* 8023FD04 0023B964 48 00 00 40 */ b lbl_8023FD44
lbl_8023FD08:
/* 8023FD08 0023B968 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023FD0C 0023B96C 38 81 00 0C */ addi r4, r1, 0xc
/* 8023FD10 0023B970 4B FF 14 AD */ bl func_802311BC
/* 8023FD14 0023B974 38 61 00 08 */ addi r3, r1, 8
/* 8023FD18 0023B978 38 A1 00 09 */ addi r5, r1, 9
/* 8023FD1C 0023B97C 7C 64 1B 78 */ mr r4, r3
/* 8023FD20 0023B980 7C 66 1B 78 */ mr r6, r3
/* 8023FD24 0023B984 7C 67 1B 78 */ mr r7, r3
/* 8023FD28 0023B988 48 03 F3 21 */ bl GXGetGPStatus
/* 8023FD2C 0023B98C 88 01 00 09 */ lbz r0, 9(r1)
/* 8023FD30 0023B990 28 00 00 01 */ cmplwi r0, 1
/* 8023FD34 0023B994 40 82 FF 68 */ bne lbl_8023FC9C
/* 8023FD38 0023B998 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023FD3C 0023B99C 4B FF 16 39 */ bl func_80231374
/* 8023FD40 0023B9A0 4B FF FF 5C */ b lbl_8023FC9C
lbl_8023FD44:
/* 8023FD44 0023B9A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023FD48 0023B9A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023FD4C 0023B9AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8023FD50 0023B9B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8023FD54 0023B9B4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8023FD58 0023B9B8 7C 08 03 A6 */ mtlr r0
/* 8023FD5C 0023B9BC 38 21 00 20 */ addi r1, r1, 0x20
/* 8023FD60 0023B9C0 4E 80 00 20 */ blr
.global func_8023FD64
func_8023FD64:
/* 8023FD64 0023B9C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023FD68 0023B9C8 7C 08 02 A6 */ mflr r0
/* 8023FD6C 0023B9CC C0 02 9E 14 */ lfs f0, lbl_80642414-_SDA2_BASE_(r2)
/* 8023FD70 0023B9D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023FD74 0023B9D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023FD78 0023B9D8 7C 7F 1B 78 */ mr r31, r3
/* 8023FD7C 0023B9DC C0 23 00 8C */ lfs f1, 0x8c(r3)
/* 8023FD80 0023B9E0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023FD84 0023B9E4 D0 23 00 90 */ stfs f1, 0x90(r3)
/* 8023FD88 0023B9E8 40 81 00 0C */ ble lbl_8023FD94
/* 8023FD8C 0023B9EC C0 02 9E 18 */ lfs f0, lbl_80642418-_SDA2_BASE_(r2)
/* 8023FD90 0023B9F0 D0 03 00 90 */ stfs f0, 0x90(r3)
lbl_8023FD94:
/* 8023FD94 0023B9F4 88 03 00 83 */ lbz r0, 0x83(r3)
/* 8023FD98 0023B9F8 2C 00 00 00 */ cmpwi r0, 0
/* 8023FD9C 0023B9FC 40 82 00 24 */ bne lbl_8023FDC0
/* 8023FDA0 0023BA00 88 03 00 82 */ lbz r0, 0x82(r3)
/* 8023FDA4 0023BA04 2C 00 00 00 */ cmpwi r0, 0
/* 8023FDA8 0023BA08 40 82 00 18 */ bne lbl_8023FDC0
/* 8023FDAC 0023BA0C 7F E3 FB 78 */ mr r3, r31
/* 8023FDB0 0023BA10 48 00 02 3D */ bl func_8023FFEC
/* 8023FDB4 0023BA14 C8 1F 00 A0 */ lfd f0, 0xa0(r31)
/* 8023FDB8 0023BA18 FC 00 08 2A */ fadd f0, f0, f1
/* 8023FDBC 0023BA1C D8 1F 00 A0 */ stfd f0, 0xa0(r31)
lbl_8023FDC0:
/* 8023FDC0 0023BA20 A0 7F 00 08 */ lhz r3, 8(r31)
/* 8023FDC4 0023BA24 A0 DF 00 10 */ lhz r6, 0x10(r31)
/* 8023FDC8 0023BA28 54 60 08 3C */ slwi r0, r3, 1
/* 8023FDCC 0023BA2C 54 64 17 FE */ rlwinm r4, r3, 2, 0x1f, 0x1f
/* 8023FDD0 0023BA30 7C C5 FE 70 */ srawi r5, r6, 0x1f
/* 8023FDD4 0023BA34 88 7F 00 18 */ lbz r3, 0x18(r31)
/* 8023FDD8 0023BA38 7C 00 30 10 */ subfc r0, r0, r6
/* 8023FDDC 0023BA3C 7C 05 21 14 */ adde r0, r5, r4
/* 8023FDE0 0023BA40 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8023FDE4 0023BA44 48 04 4A FD */ bl GXSetFieldMode
/* 8023FDE8 0023BA48 88 1F 00 19 */ lbz r0, 0x19(r31)
/* 8023FDEC 0023BA4C 28 00 00 01 */ cmplwi r0, 1
/* 8023FDF0 0023BA50 40 82 00 14 */ bne lbl_8023FE04
/* 8023FDF4 0023BA54 38 60 00 02 */ li r3, 2
/* 8023FDF8 0023BA58 38 80 00 00 */ li r4, 0
/* 8023FDFC 0023BA5C 48 04 49 AD */ bl GXSetPixelFmt
/* 8023FE00 0023BA60 48 00 00 10 */ b lbl_8023FE10
lbl_8023FE04:
/* 8023FE04 0023BA64 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 8023FE08 0023BA68 38 80 00 00 */ li r4, 0
/* 8023FE0C 0023BA6C 48 04 49 9D */ bl GXSetPixelFmt
lbl_8023FE10:
/* 8023FE10 0023BA70 48 03 9A 99 */ bl VIGetNextField
/* 8023FE14 0023BA74 98 7F 00 5A */ stb r3, 0x5a(r31)
/* 8023FE18 0023BA78 48 04 08 8D */ bl GXFlush
/* 8023FE1C 0023BA7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023FE20 0023BA80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023FE24 0023BA84 7C 08 03 A6 */ mtlr r0
/* 8023FE28 0023BA88 38 21 00 10 */ addi r1, r1, 0x10
/* 8023FE2C 0023BA8C 4E 80 00 20 */ blr
lbl_8023FE30:
/* 8023FE30 0023BA90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023FE34 0023BA94 7C 08 02 A6 */ mflr r0
/* 8023FE38 0023BA98 2C 04 00 00 */ cmpwi r4, 0
/* 8023FE3C 0023BA9C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023FE40 0023BAA0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023FE44 0023BAA4 7C 7F 1B 78 */ mr r31, r3
/* 8023FE48 0023BAA8 41 82 00 14 */ beq lbl_8023FE5C
/* 8023FE4C 0023BAAC 38 61 00 0C */ addi r3, r1, 0xc
/* 8023FE50 0023BAB0 38 81 00 08 */ addi r4, r1, 8
/* 8023FE54 0023BAB4 48 01 B8 65 */ bl func_8025B6B8
/* 8023FE58 0023BAB8 48 00 00 10 */ b lbl_8023FE68
lbl_8023FE5C:
/* 8023FE5C 0023BABC C0 02 9D EC */ lfs f0, lbl_806423EC-_SDA2_BASE_(r2)
/* 8023FE60 0023BAC0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8023FE64 0023BAC4 D0 01 00 08 */ stfs f0, 8(r1)
lbl_8023FE68:
/* 8023FE68 0023BAC8 88 1F 00 18 */ lbz r0, 0x18(r31)
/* 8023FE6C 0023BACC 2C 00 00 00 */ cmpwi r0, 0
/* 8023FE70 0023BAD0 41 82 00 38 */ beq lbl_8023FEA8
/* 8023FE74 0023BAD4 C0 7F 00 A8 */ lfs f3, 0xa8(r31)
/* 8023FE78 0023BAD8 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8023FE7C 0023BADC C0 5F 00 AC */ lfs f2, 0xac(r31)
/* 8023FE80 0023BAE0 C0 01 00 08 */ lfs f0, 8(r1)
/* 8023FE84 0023BAE4 EC 23 08 2A */ fadds f1, f3, f1
/* 8023FE88 0023BAE8 C0 7F 00 B0 */ lfs f3, 0xb0(r31)
/* 8023FE8C 0023BAEC EC 42 00 2A */ fadds f2, f2, f0
/* 8023FE90 0023BAF0 C0 9F 00 B4 */ lfs f4, 0xb4(r31)
/* 8023FE94 0023BAF4 C0 BF 00 B8 */ lfs f5, 0xb8(r31)
/* 8023FE98 0023BAF8 C0 DF 00 BC */ lfs f6, 0xbc(r31)
/* 8023FE9C 0023BAFC 88 7F 00 5A */ lbz r3, 0x5a(r31)
/* 8023FEA0 0023BB00 48 04 6D F5 */ bl GXSetViewportJitter
/* 8023FEA4 0023BB04 48 00 00 30 */ b lbl_8023FED4
lbl_8023FEA8:
/* 8023FEA8 0023BB08 C0 7F 00 A8 */ lfs f3, 0xa8(r31)
/* 8023FEAC 0023BB0C C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8023FEB0 0023BB10 C0 5F 00 AC */ lfs f2, 0xac(r31)
/* 8023FEB4 0023BB14 C0 01 00 08 */ lfs f0, 8(r1)
/* 8023FEB8 0023BB18 EC 23 08 2A */ fadds f1, f3, f1
/* 8023FEBC 0023BB1C C0 7F 00 B0 */ lfs f3, 0xb0(r31)
/* 8023FEC0 0023BB20 EC 42 00 2A */ fadds f2, f2, f0
/* 8023FEC4 0023BB24 C0 9F 00 B4 */ lfs f4, 0xb4(r31)
/* 8023FEC8 0023BB28 C0 BF 00 B8 */ lfs f5, 0xb8(r31)
/* 8023FECC 0023BB2C C0 DF 00 BC */ lfs f6, 0xbc(r31)
/* 8023FED0 0023BB30 48 04 6E 01 */ bl GXSetViewport
lbl_8023FED4:
/* 8023FED4 0023BB34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023FED8 0023BB38 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023FEDC 0023BB3C 7C 08 03 A6 */ mtlr r0
/* 8023FEE0 0023BB40 38 21 00 20 */ addi r1, r1, 0x20
/* 8023FEE4 0023BB44 4E 80 00 20 */ blr
.global func_8023FEE8
func_8023FEE8:
/* 8023FEE8 0023BB48 D0 23 00 A8 */ stfs f1, 0xa8(r3)
/* 8023FEEC 0023BB4C 38 80 00 01 */ li r4, 1
/* 8023FEF0 0023BB50 D0 43 00 AC */ stfs f2, 0xac(r3)
/* 8023FEF4 0023BB54 D0 63 00 B0 */ stfs f3, 0xb0(r3)
/* 8023FEF8 0023BB58 D0 83 00 B4 */ stfs f4, 0xb4(r3)
/* 8023FEFC 0023BB5C D0 A3 00 B8 */ stfs f5, 0xb8(r3)
/* 8023FF00 0023BB60 D0 C3 00 BC */ stfs f6, 0xbc(r3)
/* 8023FF04 0023BB64 4B FF FF 2C */ b lbl_8023FE30
.global func_8023FF08
func_8023FF08:
/* 8023FF08 0023BB68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023FF0C 0023BB6C 7C 08 02 A6 */ mflr r0
/* 8023FF10 0023BB70 7C AA 2B 78 */ mr r10, r5
/* 8023FF14 0023BB74 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023FF18 0023BB78 34 01 00 0A */ addic. r0, r1, 0xa
/* 8023FF1C 0023BB7C B0 83 00 C0 */ sth r4, 0xc0(r3)
/* 8023FF20 0023BB80 B0 A3 00 C2 */ sth r5, 0xc2(r3)
/* 8023FF24 0023BB84 B0 C3 00 C4 */ sth r6, 0xc4(r3)
/* 8023FF28 0023BB88 B0 E3 00 C6 */ sth r7, 0xc6(r3)
/* 8023FF2C 0023BB8C 41 82 00 0C */ beq lbl_8023FF38
/* 8023FF30 0023BB90 A0 03 00 04 */ lhz r0, 4(r3)
/* 8023FF34 0023BB94 B0 01 00 0A */ sth r0, 0xa(r1)
lbl_8023FF38:
/* 8023FF38 0023BB98 34 01 00 08 */ addic. r0, r1, 8
/* 8023FF3C 0023BB9C 41 82 00 0C */ beq lbl_8023FF48
/* 8023FF40 0023BBA0 A0 03 00 06 */ lhz r0, 6(r3)
/* 8023FF44 0023BBA4 B0 01 00 08 */ sth r0, 8(r1)
lbl_8023FF48:
/* 8023FF48 0023BBA8 A1 01 00 0A */ lhz r8, 0xa(r1)
/* 8023FF4C 0023BBAC A0 61 00 08 */ lhz r3, 8(r1)
/* 8023FF50 0023BBB0 39 08 FF FF */ addi r8, r8, -1
/* 8023FF54 0023BBB4 55 09 04 3E */ clrlwi r9, r8, 0x10
/* 8023FF58 0023BBB8 38 03 FF FF */ addi r0, r3, -1
/* 8023FF5C 0023BBBC 7C 04 48 40 */ cmplw r4, r9
/* 8023FF60 0023BBC0 B1 01 00 0A */ sth r8, 0xa(r1)
/* 8023FF64 0023BBC4 B0 01 00 08 */ sth r0, 8(r1)
/* 8023FF68 0023BBC8 40 81 00 08 */ ble lbl_8023FF70
/* 8023FF6C 0023BBCC 7D 24 4B 78 */ mr r4, r9
lbl_8023FF70:
/* 8023FF70 0023BBD0 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 8023FF74 0023BBD4 7C 63 32 14 */ add r3, r3, r6
/* 8023FF78 0023BBD8 7C 03 48 00 */ cmpw r3, r9
/* 8023FF7C 0023BBDC 40 81 00 0C */ ble lbl_8023FF88
/* 8023FF80 0023BBE0 7C 64 48 50 */ subf r3, r4, r9
/* 8023FF84 0023BBE4 54 66 04 3E */ clrlwi r6, r3, 0x10
lbl_8023FF88:
/* 8023FF88 0023BBE8 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8023FF8C 0023BBEC 7C 05 18 40 */ cmplw r5, r3
/* 8023FF90 0023BBF0 40 81 00 08 */ ble lbl_8023FF98
/* 8023FF94 0023BBF4 7C 6A 1B 78 */ mr r10, r3
lbl_8023FF98:
/* 8023FF98 0023BBF8 55 40 04 3E */ clrlwi r0, r10, 0x10
/* 8023FF9C 0023BBFC 7C 00 3A 14 */ add r0, r0, r7
/* 8023FFA0 0023BC00 7C 00 18 00 */ cmpw r0, r3
/* 8023FFA4 0023BC04 40 81 00 0C */ ble lbl_8023FFB0
/* 8023FFA8 0023BC08 7C 0A 18 50 */ subf r0, r10, r3
/* 8023FFAC 0023BC0C 54 07 04 3E */ clrlwi r7, r0, 0x10
lbl_8023FFB0:
/* 8023FFB0 0023BC10 7C C5 33 78 */ mr r5, r6
/* 8023FFB4 0023BC14 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 8023FFB8 0023BC18 7C E6 3B 78 */ mr r6, r7
/* 8023FFBC 0023BC1C 55 44 04 3E */ clrlwi r4, r10, 0x10
/* 8023FFC0 0023BC20 48 04 6D 3D */ bl GXSetScissor
/* 8023FFC4 0023BC24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023FFC8 0023BC28 7C 08 03 A6 */ mtlr r0
/* 8023FFCC 0023BC2C 38 21 00 10 */ addi r1, r1, 0x10
/* 8023FFD0 0023BC30 4E 80 00 20 */ blr
.global func_8023FFD4
func_8023FFD4:
/* 8023FFD4 0023BC34 7C 80 23 78 */ mr r0, r4
/* 8023FFD8 0023BC38 90 83 00 C8 */ stw r4, 0xc8(r3)
/* 8023FFDC 0023BC3C 7C A4 2B 78 */ mr r4, r5
/* 8023FFE0 0023BC40 90 A3 00 CC */ stw r5, 0xcc(r3)
/* 8023FFE4 0023BC44 7C 03 03 78 */ mr r3, r0
/* 8023FFE8 0023BC48 48 04 6D 7C */ b GXSetScissorBoxOffset
.global func_8023FFEC
func_8023FFEC:
/* 8023FFEC 0023BC4C 88 03 00 82 */ lbz r0, 0x82(r3)
/* 8023FFF0 0023BC50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023FFF4 0023BC54 2C 00 00 00 */ cmpwi r0, 0
/* 8023FFF8 0023BC58 41 82 00 0C */ beq lbl_80240004
/* 8023FFFC 0023BC5C C0 22 9D EC */ lfs f1, lbl_806423EC-_SDA2_BASE_(r2)
/* 80240000 0023BC60 48 00 00 38 */ b lbl_80240038
lbl_80240004:
/* 80240004 0023BC64 88 03 00 81 */ lbz r0, 0x81(r3)
/* 80240008 0023BC68 2C 00 00 00 */ cmpwi r0, 0
/* 8024000C 0023BC6C 41 82 00 0C */ beq lbl_80240018
/* 80240010 0023BC70 C0 23 00 90 */ lfs f1, 0x90(r3)
/* 80240014 0023BC74 48 00 00 24 */ b lbl_80240038
lbl_80240018:
/* 80240018 0023BC78 80 63 00 7C */ lwz r3, 0x7c(r3)
/* 8024001C 0023BC7C 3C 00 43 30 */ lis r0, 0x4330
/* 80240020 0023BC80 90 01 00 08 */ stw r0, 8(r1)
/* 80240024 0023BC84 38 03 00 01 */ addi r0, r3, 1
/* 80240028 0023BC88 C8 22 9E 08 */ lfd f1, lbl_80642408-_SDA2_BASE_(r2)
/* 8024002C 0023BC8C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80240030 0023BC90 C8 01 00 08 */ lfd f0, 8(r1)
/* 80240034 0023BC94 EC 20 08 28 */ fsubs f1, f0, f1
lbl_80240038:
/* 80240038 0023BC98 38 21 00 10 */ addi r1, r1, 0x10
/* 8024003C 0023BC9C 4E 80 00 20 */ blr
.global func_80240040
func_80240040:
/* 80240040 0023BCA0 38 A0 00 01 */ li r5, 1
/* 80240044 0023BCA4 38 6D A4 C0 */ addi r3, r13, lbl_8063F780-_SDA_BASE_
/* 80240048 0023BCA8 38 80 00 04 */ li r4, 4
/* 8024004C 0023BCAC 38 00 00 00 */ li r0, 0
/* 80240050 0023BCB0 98 AD A4 C0 */ stb r5, lbl_8063F780-_SDA_BASE_(r13)
/* 80240054 0023BCB4 B0 83 00 02 */ sth r4, 2(r3)
/* 80240058 0023BCB8 98 03 00 04 */ stb r0, 4(r3)
/* 8024005C 0023BCBC 4E 80 00 20 */ blr
|