summaryrefslogtreecommitdiff
path: root/asm/code_8021D424.s
blob: a9b85b55ab5ef953795edc396b41db09f051edf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
.include "macros.inc"

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

.global func_8021D424
func_8021D424:
/* 8021D424 00219084  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8021D428 00219088  7C 08 02 A6 */	mflr r0
/* 8021D42C 0021908C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8021D430 00219090  39 61 00 20 */	addi r11, r1, 0x20
/* 8021D434 00219094  4B FA 9C F5 */	bl _savegpr_27
/* 8021D438 00219098  7C 7C 1B 78 */	mr r28, r3
/* 8021D43C 0021909C  7C 9D 23 78 */	mr r29, r4
/* 8021D440 002190A0  4B FF FC A1 */	bl func_8021D0E0
/* 8021D444 002190A4  C0 02 9B 84 */	lfs f0, lbl_80642184-_SDA2_BASE_(r2)
/* 8021D448 002190A8  3C 60 80 42 */	lis r3, lbl_80423B70@ha
/* 8021D44C 002190AC  38 A0 00 00 */	li r5, 0
/* 8021D450 002190B0  C0 22 9B 80 */	lfs f1, lbl_80642180-_SDA2_BASE_(r2)
/* 8021D454 002190B4  38 80 00 01 */	li r4, 1
/* 8021D458 002190B8  38 63 3B 70 */	addi r3, r3, lbl_80423B70@l
/* 8021D45C 002190BC  38 00 00 FF */	li r0, 0xff
/* 8021D460 002190C0  90 7C 00 0C */	stw r3, 0xc(r28)
/* 8021D464 002190C4  3B C0 00 00 */	li r30, 0
/* 8021D468 002190C8  38 60 00 00 */	li r3, 0
/* 8021D46C 002190CC  93 BC 00 10 */	stw r29, 0x10(r28)
/* 8021D470 002190D0  90 BC 00 14 */	stw r5, 0x14(r28)
/* 8021D474 002190D4  90 BC 00 18 */	stw r5, 0x18(r28)
/* 8021D478 002190D8  B0 BC 00 1C */	sth r5, 0x1c(r28)
/* 8021D47C 002190DC  98 BC 00 1E */	stb r5, 0x1e(r28)
/* 8021D480 002190E0  98 9C 00 1F */	stb r4, 0x1f(r28)
/* 8021D484 002190E4  98 9C 00 20 */	stb r4, 0x20(r28)
/* 8021D488 002190E8  98 9C 00 21 */	stb r4, 0x21(r28)
/* 8021D48C 002190EC  D0 3C 00 24 */	stfs f1, 0x24(r28)
/* 8021D490 002190F0  98 BC 00 28 */	stb r5, 0x28(r28)
/* 8021D494 002190F4  98 BC 00 29 */	stb r5, 0x29(r28)
/* 8021D498 002190F8  98 BC 00 2A */	stb r5, 0x2a(r28)
/* 8021D49C 002190FC  98 1C 00 2B */	stb r0, 0x2b(r28)
/* 8021D4A0 00219100  D0 1C 00 2C */	stfs f0, 0x2c(r28)
/* 8021D4A4 00219104  D0 1C 00 30 */	stfs f0, 0x30(r28)
/* 8021D4A8 00219108  D0 1C 00 34 */	stfs f0, 0x34(r28)
/* 8021D4AC 0021910C  D0 1C 00 38 */	stfs f0, 0x38(r28)
/* 8021D4B0 00219110  D0 1C 00 3C */	stfs f0, 0x3c(r28)
/* 8021D4B4 00219114  D0 1C 00 40 */	stfs f0, 0x40(r28)
/* 8021D4B8 00219118  D0 1C 00 44 */	stfs f0, 0x44(r28)
/* 8021D4BC 0021911C  D0 1C 00 48 */	stfs f0, 0x48(r28)
/* 8021D4C0 00219120  D0 1C 00 4C */	stfs f0, 0x4c(r28)
/* 8021D4C4 00219124  D0 1C 00 50 */	stfs f0, 0x50(r28)
/* 8021D4C8 00219128  D0 1C 00 54 */	stfs f0, 0x54(r28)
/* 8021D4CC 0021912C  D0 3C 00 58 */	stfs f1, 0x58(r28)
/* 8021D4D0 00219130  D0 1C 00 5C */	stfs f0, 0x5c(r28)
/* 8021D4D4 00219134  D0 1C 00 60 */	stfs f0, 0x60(r28)
/* 8021D4D8 00219138  D0 1C 00 64 */	stfs f0, 0x64(r28)
/* 8021D4DC 0021913C  D0 1C 00 68 */	stfs f0, 0x68(r28)
/* 8021D4E0 00219140  D0 3C 00 6C */	stfs f1, 0x6c(r28)
/* 8021D4E4 00219144  A3 FD 00 EC */	lhz r31, 0xec(r29)
/* 8021D4E8 00219148  48 00 01 2C */	b lbl_8021D614
lbl_8021D4EC:
/* 8021D4EC 0021914C  80 BD 00 28 */	lwz r5, 0x28(r29)
/* 8021D4F0 00219150  2C 05 00 00 */	cmpwi r5, 0
/* 8021D4F4 00219154  40 82 00 0C */	bne lbl_8021D500
/* 8021D4F8 00219158  38 80 00 00 */	li r4, 0
/* 8021D4FC 0021915C  48 00 00 54 */	b lbl_8021D550
lbl_8021D500:
/* 8021D500 00219160  A0 1D 00 EC */	lhz r0, 0xec(r29)
/* 8021D504 00219164  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 8021D508 00219168  7C 04 00 40 */	cmplw r4, r0
/* 8021D50C 0021916C  41 80 00 0C */	blt lbl_8021D518
/* 8021D510 00219170  38 80 00 00 */	li r4, 0
/* 8021D514 00219174  48 00 00 3C */	b lbl_8021D550
lbl_8021D518:
/* 8021D518 00219178  80 DD 00 08 */	lwz r6, 8(r29)
/* 8021D51C 0021917C  54 60 0B FC */	rlwinm r0, r3, 1, 0xf, 0x1e
/* 8021D520 00219180  7C 85 02 2E */	lhzx r4, r5, r0
/* 8021D524 00219184  2C 06 00 00 */	cmpwi r6, 0
/* 8021D528 00219188  40 82 00 0C */	bne lbl_8021D534
/* 8021D52C 0021918C  38 80 00 00 */	li r4, 0
/* 8021D530 00219190  48 00 00 20 */	b lbl_8021D550
lbl_8021D534:
/* 8021D534 00219194  A0 1D 00 DE */	lhz r0, 0xde(r29)
/* 8021D538 00219198  7C 04 00 40 */	cmplw r4, r0
/* 8021D53C 0021919C  41 80 00 0C */	blt lbl_8021D548
/* 8021D540 002191A0  38 80 00 00 */	li r4, 0
/* 8021D544 002191A4  48 00 00 0C */	b lbl_8021D550
lbl_8021D548:
/* 8021D548 002191A8  54 80 13 BA */	rlwinm r0, r4, 2, 0xe, 0x1d
/* 8021D54C 002191AC  7C 86 00 2E */	lwzx r4, r6, r0
lbl_8021D550:
/* 8021D550 002191B0  2C 04 00 00 */	cmpwi r4, 0
/* 8021D554 002191B4  41 82 00 BC */	beq lbl_8021D610
/* 8021D558 002191B8  80 84 01 44 */	lwz r4, 0x144(r4)
/* 8021D55C 002191BC  38 E0 00 00 */	li r7, 0
/* 8021D560 002191C0  A0 A4 00 34 */	lhz r5, 0x34(r4)
/* 8021D564 002191C4  80 C4 00 40 */	lwz r6, 0x40(r4)
/* 8021D568 002191C8  2C 05 00 00 */	cmpwi r5, 0
/* 8021D56C 002191CC  41 82 00 98 */	beq lbl_8021D604
/* 8021D570 002191D0  28 05 00 08 */	cmplwi r5, 8
/* 8021D574 002191D4  3C 85 00 01 */	addis r4, r5, 1
/* 8021D578 002191D8  38 84 FF F8 */	addi r4, r4, -8
/* 8021D57C 002191DC  40 81 00 7C */	ble lbl_8021D5F8
/* 8021D580 002191E0  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 8021D584 002191E4  38 04 00 07 */	addi r0, r4, 7
/* 8021D588 002191E8  54 00 E8 FE */	srwi r0, r0, 3
/* 8021D58C 002191EC  7C 09 03 A6 */	mtctr r0
/* 8021D590 002191F0  28 04 00 00 */	cmplwi r4, 0
/* 8021D594 002191F4  40 81 00 64 */	ble lbl_8021D5F8
lbl_8021D598:
/* 8021D598 002191F8  88 86 00 03 */	lbz r4, 3(r6)
/* 8021D59C 002191FC  38 E7 00 08 */	addi r7, r7, 8
/* 8021D5A0 00219200  88 06 00 0B */	lbz r0, 0xb(r6)
/* 8021D5A4 00219204  7F DE 22 14 */	add r30, r30, r4
/* 8021D5A8 00219208  88 86 00 13 */	lbz r4, 0x13(r6)
/* 8021D5AC 0021920C  7F DE 02 14 */	add r30, r30, r0
/* 8021D5B0 00219210  88 06 00 1B */	lbz r0, 0x1b(r6)
/* 8021D5B4 00219214  7F DE 22 14 */	add r30, r30, r4
/* 8021D5B8 00219218  88 86 00 23 */	lbz r4, 0x23(r6)
/* 8021D5BC 0021921C  7F DE 02 14 */	add r30, r30, r0
/* 8021D5C0 00219220  88 06 00 2B */	lbz r0, 0x2b(r6)
/* 8021D5C4 00219224  7F DE 22 14 */	add r30, r30, r4
/* 8021D5C8 00219228  88 86 00 33 */	lbz r4, 0x33(r6)
/* 8021D5CC 0021922C  7F DE 02 14 */	add r30, r30, r0
/* 8021D5D0 00219230  88 06 00 3B */	lbz r0, 0x3b(r6)
/* 8021D5D4 00219234  7F DE 22 14 */	add r30, r30, r4
/* 8021D5D8 00219238  38 C6 00 40 */	addi r6, r6, 0x40
/* 8021D5DC 0021923C  7F DE 02 14 */	add r30, r30, r0
/* 8021D5E0 00219240  42 00 FF B8 */	bdnz lbl_8021D598
/* 8021D5E4 00219244  48 00 00 14 */	b lbl_8021D5F8
lbl_8021D5E8:
/* 8021D5E8 00219248  88 06 00 03 */	lbz r0, 3(r6)
/* 8021D5EC 0021924C  38 E7 00 01 */	addi r7, r7, 1
/* 8021D5F0 00219250  38 C6 00 08 */	addi r6, r6, 8
/* 8021D5F4 00219254  7F DE 02 14 */	add r30, r30, r0
lbl_8021D5F8:
/* 8021D5F8 00219258  54 E0 04 3E */	clrlwi r0, r7, 0x10
/* 8021D5FC 0021925C  7C 00 28 40 */	cmplw r0, r5
/* 8021D600 00219260  41 80 FF E8 */	blt lbl_8021D5E8
lbl_8021D604:
/* 8021D604 00219264  A0 1C 00 1C */	lhz r0, 0x1c(r28)
/* 8021D608 00219268  7C 00 2A 14 */	add r0, r0, r5
/* 8021D60C 0021926C  B0 1C 00 1C */	sth r0, 0x1c(r28)
lbl_8021D610:
/* 8021D610 00219270  38 63 00 01 */	addi r3, r3, 1
lbl_8021D614:
/* 8021D614 00219274  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 8021D618 00219278  7C 00 F8 40 */	cmplw r0, r31
/* 8021D61C 0021927C  41 80 FE D0 */	blt lbl_8021D4EC
/* 8021D620 00219280  A3 7C 00 1C */	lhz r27, 0x1c(r28)
/* 8021D624 00219284  2C 1B 00 00 */	cmpwi r27, 0
/* 8021D628 00219288  41 82 02 14 */	beq lbl_8021D83C
/* 8021D62C 0021928C  2C 1E 00 00 */	cmpwi r30, 0
/* 8021D630 00219290  41 82 02 0C */	beq lbl_8021D83C
/* 8021D634 00219294  1C 7B 00 3C */	mulli r3, r27, 0x3c
/* 8021D638 00219298  38 63 00 10 */	addi r3, r3, 0x10
/* 8021D63C 0021929C  4B FB D4 39 */	bl __nwa__FUl
/* 8021D640 002192A0  3C 80 80 22 */	lis r4, lbl_8021EA24@ha
/* 8021D644 002192A4  7F 67 DB 78 */	mr r7, r27
/* 8021D648 002192A8  38 84 EA 24 */	addi r4, r4, lbl_8021EA24@l
/* 8021D64C 002192AC  38 A0 00 00 */	li r5, 0
/* 8021D650 002192B0  38 C0 00 3C */	li r6, 0x3c
/* 8021D654 002192B4  4B FA 96 55 */	bl __construct_new_array
/* 8021D658 002192B8  2C 03 00 00 */	cmpwi r3, 0
/* 8021D65C 002192BC  90 7C 00 14 */	stw r3, 0x14(r28)
/* 8021D660 002192C0  41 82 01 DC */	beq lbl_8021D83C
/* 8021D664 002192C4  1C 7E 00 0C */	mulli r3, r30, 0xc
/* 8021D668 002192C8  38 63 00 10 */	addi r3, r3, 0x10
/* 8021D66C 002192CC  4B FB D4 09 */	bl __nwa__FUl
/* 8021D670 002192D0  3C 80 80 03 */	lis r4, func_8002A294@ha
/* 8021D674 002192D4  7F C7 F3 78 */	mr r7, r30
/* 8021D678 002192D8  38 84 A2 94 */	addi r4, r4, func_8002A294@l
/* 8021D67C 002192DC  38 A0 00 00 */	li r5, 0
/* 8021D680 002192E0  38 C0 00 0C */	li r6, 0xc
/* 8021D684 002192E4  4B FA 96 25 */	bl __construct_new_array
/* 8021D688 002192E8  2C 03 00 00 */	cmpwi r3, 0
/* 8021D68C 002192EC  90 7C 00 18 */	stw r3, 0x18(r28)
/* 8021D690 002192F0  41 82 01 AC */	beq lbl_8021D83C
/* 8021D694 002192F4  81 1C 00 14 */	lwz r8, 0x14(r28)
/* 8021D698 002192F8  38 80 00 00 */	li r4, 0
/* 8021D69C 002192FC  48 00 01 94 */	b lbl_8021D830
lbl_8021D6A0:
/* 8021D6A0 00219300  80 DD 00 28 */	lwz r6, 0x28(r29)
/* 8021D6A4 00219304  2C 06 00 00 */	cmpwi r6, 0
/* 8021D6A8 00219308  40 82 00 0C */	bne lbl_8021D6B4
/* 8021D6AC 0021930C  38 A0 00 00 */	li r5, 0
/* 8021D6B0 00219310  48 00 00 54 */	b lbl_8021D704
lbl_8021D6B4:
/* 8021D6B4 00219314  A0 1D 00 EC */	lhz r0, 0xec(r29)
/* 8021D6B8 00219318  54 85 04 3E */	clrlwi r5, r4, 0x10
/* 8021D6BC 0021931C  7C 05 00 40 */	cmplw r5, r0
/* 8021D6C0 00219320  41 80 00 0C */	blt lbl_8021D6CC
/* 8021D6C4 00219324  38 A0 00 00 */	li r5, 0
/* 8021D6C8 00219328  48 00 00 3C */	b lbl_8021D704
lbl_8021D6CC:
/* 8021D6CC 0021932C  80 FD 00 08 */	lwz r7, 8(r29)
/* 8021D6D0 00219330  54 80 0B FC */	rlwinm r0, r4, 1, 0xf, 0x1e
/* 8021D6D4 00219334  7C A6 02 2E */	lhzx r5, r6, r0
/* 8021D6D8 00219338  2C 07 00 00 */	cmpwi r7, 0
/* 8021D6DC 0021933C  40 82 00 0C */	bne lbl_8021D6E8
/* 8021D6E0 00219340  38 A0 00 00 */	li r5, 0
/* 8021D6E4 00219344  48 00 00 20 */	b lbl_8021D704
lbl_8021D6E8:
/* 8021D6E8 00219348  A0 1D 00 DE */	lhz r0, 0xde(r29)
/* 8021D6EC 0021934C  7C 05 00 40 */	cmplw r5, r0
/* 8021D6F0 00219350  41 80 00 0C */	blt lbl_8021D6FC
/* 8021D6F4 00219354  38 A0 00 00 */	li r5, 0
/* 8021D6F8 00219358  48 00 00 0C */	b lbl_8021D704
lbl_8021D6FC:
/* 8021D6FC 0021935C  54 A0 13 BA */	rlwinm r0, r5, 2, 0xe, 0x1d
/* 8021D700 00219360  7C A7 00 2E */	lwzx r5, r7, r0
lbl_8021D704:
/* 8021D704 00219364  2C 05 00 00 */	cmpwi r5, 0
/* 8021D708 00219368  41 82 01 24 */	beq lbl_8021D82C
/* 8021D70C 0021936C  80 A5 01 44 */	lwz r5, 0x144(r5)
/* 8021D710 00219370  38 C0 00 00 */	li r6, 0
/* 8021D714 00219374  A0 E5 00 34 */	lhz r7, 0x34(r5)
/* 8021D718 00219378  80 A5 00 40 */	lwz r5, 0x40(r5)
/* 8021D71C 0021937C  2C 07 00 00 */	cmpwi r7, 0
/* 8021D720 00219380  41 82 01 0C */	beq lbl_8021D82C
/* 8021D724 00219384  28 07 00 08 */	cmplwi r7, 8
/* 8021D728 00219388  3D 27 00 01 */	addis r9, r7, 1
/* 8021D72C 0021938C  39 29 FF F8 */	addi r9, r9, -8
/* 8021D730 00219390  40 81 00 F0 */	ble lbl_8021D820
/* 8021D734 00219394  55 29 04 3E */	clrlwi r9, r9, 0x10
/* 8021D738 00219398  38 09 00 07 */	addi r0, r9, 7
/* 8021D73C 0021939C  54 00 E8 FE */	srwi r0, r0, 3
/* 8021D740 002193A0  7C 09 03 A6 */	mtctr r0
/* 8021D744 002193A4  28 09 00 00 */	cmplwi r9, 0
/* 8021D748 002193A8  40 81 00 D8 */	ble lbl_8021D820
lbl_8021D74C:
/* 8021D74C 002193AC  88 05 00 03 */	lbz r0, 3(r5)
/* 8021D750 002193B0  38 C6 00 08 */	addi r6, r6, 8
/* 8021D754 002193B4  B0 08 00 10 */	sth r0, 0x10(r8)
/* 8021D758 002193B8  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D75C 002193BC  90 68 00 0C */	stw r3, 0xc(r8)
/* 8021D760 002193C0  7C 63 02 14 */	add r3, r3, r0
/* 8021D764 002193C4  88 05 00 0B */	lbz r0, 0xb(r5)
/* 8021D768 002193C8  B0 08 00 4C */	sth r0, 0x4c(r8)
/* 8021D76C 002193CC  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D770 002193D0  90 68 00 48 */	stw r3, 0x48(r8)
/* 8021D774 002193D4  7C 63 02 14 */	add r3, r3, r0
/* 8021D778 002193D8  88 05 00 13 */	lbz r0, 0x13(r5)
/* 8021D77C 002193DC  B0 08 00 88 */	sth r0, 0x88(r8)
/* 8021D780 002193E0  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D784 002193E4  90 68 00 84 */	stw r3, 0x84(r8)
/* 8021D788 002193E8  7C 63 02 14 */	add r3, r3, r0
/* 8021D78C 002193EC  88 05 00 1B */	lbz r0, 0x1b(r5)
/* 8021D790 002193F0  B0 08 00 C4 */	sth r0, 0xc4(r8)
/* 8021D794 002193F4  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D798 002193F8  90 68 00 C0 */	stw r3, 0xc0(r8)
/* 8021D79C 002193FC  7C 63 02 14 */	add r3, r3, r0
/* 8021D7A0 00219400  88 05 00 23 */	lbz r0, 0x23(r5)
/* 8021D7A4 00219404  B0 08 01 00 */	sth r0, 0x100(r8)
/* 8021D7A8 00219408  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D7AC 0021940C  90 68 00 FC */	stw r3, 0xfc(r8)
/* 8021D7B0 00219410  7C 63 02 14 */	add r3, r3, r0
/* 8021D7B4 00219414  88 05 00 2B */	lbz r0, 0x2b(r5)
/* 8021D7B8 00219418  B0 08 01 3C */	sth r0, 0x13c(r8)
/* 8021D7BC 0021941C  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D7C0 00219420  90 68 01 38 */	stw r3, 0x138(r8)
/* 8021D7C4 00219424  7C 63 02 14 */	add r3, r3, r0
/* 8021D7C8 00219428  88 05 00 33 */	lbz r0, 0x33(r5)
/* 8021D7CC 0021942C  B0 08 01 78 */	sth r0, 0x178(r8)
/* 8021D7D0 00219430  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D7D4 00219434  90 68 01 74 */	stw r3, 0x174(r8)
/* 8021D7D8 00219438  7C 63 02 14 */	add r3, r3, r0
/* 8021D7DC 0021943C  88 05 00 3B */	lbz r0, 0x3b(r5)
/* 8021D7E0 00219440  38 A5 00 40 */	addi r5, r5, 0x40
/* 8021D7E4 00219444  B0 08 01 B4 */	sth r0, 0x1b4(r8)
/* 8021D7E8 00219448  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D7EC 0021944C  90 68 01 B0 */	stw r3, 0x1b0(r8)
/* 8021D7F0 00219450  39 08 01 E0 */	addi r8, r8, 0x1e0
/* 8021D7F4 00219454  7C 63 02 14 */	add r3, r3, r0
/* 8021D7F8 00219458  42 00 FF 54 */	bdnz lbl_8021D74C
/* 8021D7FC 0021945C  48 00 00 24 */	b lbl_8021D820
lbl_8021D800:
/* 8021D800 00219460  88 05 00 03 */	lbz r0, 3(r5)
/* 8021D804 00219464  38 A5 00 08 */	addi r5, r5, 8
/* 8021D808 00219468  38 C6 00 01 */	addi r6, r6, 1
/* 8021D80C 0021946C  B0 08 00 10 */	sth r0, 0x10(r8)
/* 8021D810 00219470  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021D814 00219474  90 68 00 0C */	stw r3, 0xc(r8)
/* 8021D818 00219478  39 08 00 3C */	addi r8, r8, 0x3c
/* 8021D81C 0021947C  7C 63 02 14 */	add r3, r3, r0
lbl_8021D820:
/* 8021D820 00219480  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 8021D824 00219484  7C 00 38 40 */	cmplw r0, r7
/* 8021D828 00219488  41 80 FF D8 */	blt lbl_8021D800
lbl_8021D82C:
/* 8021D82C 0021948C  38 84 00 01 */	addi r4, r4, 1
lbl_8021D830:
/* 8021D830 00219490  54 80 04 3E */	clrlwi r0, r4, 0x10
/* 8021D834 00219494  7C 00 F8 40 */	cmplw r0, r31
/* 8021D838 00219498  41 80 FE 68 */	blt lbl_8021D6A0
lbl_8021D83C:
/* 8021D83C 0021949C  80 8D A1 A8 */	lwz r4, lbl_8063F468-_SDA_BASE_(r13)
/* 8021D840 002194A0  39 61 00 20 */	addi r11, r1, 0x20
/* 8021D844 002194A4  7F 83 E3 78 */	mr r3, r28
/* 8021D848 002194A8  88 04 00 04 */	lbz r0, 4(r4)
/* 8021D84C 002194AC  64 00 00 02 */	oris r0, r0, 2
/* 8021D850 002194B0  60 00 08 00 */	ori r0, r0, 0x800
/* 8021D854 002194B4  90 1C 00 04 */	stw r0, 4(r28)
/* 8021D858 002194B8  4B FA 99 1D */	bl _restgpr_27
/* 8021D85C 002194BC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8021D860 002194C0  7C 08 03 A6 */	mtlr r0
/* 8021D864 002194C4  38 21 00 20 */	addi r1, r1, 0x20
/* 8021D868 002194C8  4E 80 00 20 */	blr
/* 8021D86C 002194CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8021D870 002194D0  7C 08 02 A6 */	mflr r0
/* 8021D874 002194D4  2C 03 00 00 */	cmpwi r3, 0
/* 8021D878 002194D8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8021D87C 002194DC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8021D880 002194E0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8021D884 002194E4  7C 9E 23 78 */	mr r30, r4
/* 8021D888 002194E8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8021D88C 002194EC  7C 7D 1B 78 */	mr r29, r3
/* 8021D890 002194F0  41 82 00 B4 */	beq lbl_8021D944
/* 8021D894 002194F4  88 03 00 08 */	lbz r0, 8(r3)
/* 8021D898 002194F8  3C 80 80 42 */	lis r4, lbl_80423B70@ha
/* 8021D89C 002194FC  38 84 3B 70 */	addi r4, r4, lbl_80423B70@l
/* 8021D8A0 00219500  2C 00 00 00 */	cmpwi r0, 0
/* 8021D8A4 00219504  90 83 00 0C */	stw r4, 0xc(r3)
/* 8021D8A8 00219508  41 82 00 3C */	beq lbl_8021D8E4
/* 8021D8AC 0021950C  83 E3 00 04 */	lwz r31, 4(r3)
/* 8021D8B0 00219510  57 E3 86 3E */	rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8021D8B4 00219514  48 01 D7 A5 */	bl func_8023B058
/* 8021D8B8 00219518  2C 03 00 00 */	cmpwi r3, 0
/* 8021D8BC 0021951C  41 82 00 0C */	beq lbl_8021D8C8
/* 8021D8C0 00219520  7F E4 FB 78 */	mr r4, r31
/* 8021D8C4 00219524  48 01 DB 5D */	bl func_8023B420
lbl_8021D8C8:
/* 8021D8C8 00219528  81 9D 00 0C */	lwz r12, 0xc(r29)
/* 8021D8CC 0021952C  7F A3 EB 78 */	mr r3, r29
/* 8021D8D0 00219530  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8021D8D4 00219534  7D 89 03 A6 */	mtctr r12
/* 8021D8D8 00219538  4E 80 04 21 */	bctrl
/* 8021D8DC 0021953C  38 00 00 00 */	li r0, 0
/* 8021D8E0 00219540  98 1D 00 08 */	stb r0, 8(r29)
lbl_8021D8E4:
/* 8021D8E4 00219544  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 8021D8E8 00219548  2C 03 00 00 */	cmpwi r3, 0
/* 8021D8EC 0021954C  41 82 00 10 */	beq lbl_8021D8FC
/* 8021D8F0 00219550  41 82 00 0C */	beq lbl_8021D8FC
/* 8021D8F4 00219554  38 63 FF F0 */	addi r3, r3, -16
/* 8021D8F8 00219558  4B FB D1 C5 */	bl __dla__FPv
lbl_8021D8FC:
/* 8021D8FC 0021955C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 8021D900 00219560  2C 03 00 00 */	cmpwi r3, 0
/* 8021D904 00219564  41 82 00 10 */	beq lbl_8021D914
/* 8021D908 00219568  41 82 00 0C */	beq lbl_8021D914
/* 8021D90C 0021956C  38 63 FF F0 */	addi r3, r3, -16
/* 8021D910 00219570  4B FB D1 AD */	bl __dla__FPv
lbl_8021D914:
/* 8021D914 00219574  38 00 00 00 */	li r0, 0
/* 8021D918 00219578  7F A3 EB 78 */	mr r3, r29
/* 8021D91C 0021957C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 8021D920 00219580  38 80 00 00 */	li r4, 0
/* 8021D924 00219584  90 1D 00 14 */	stw r0, 0x14(r29)
/* 8021D928 00219588  B0 1D 00 1C */	sth r0, 0x1c(r29)
/* 8021D92C 0021958C  4B FF F8 19 */	bl func_8021D144
/* 8021D930 00219590  2C 1E 00 00 */	cmpwi r30, 0
/* 8021D934 00219594  40 81 00 10 */	ble lbl_8021D944
/* 8021D938 00219598  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8021D93C 0021959C  7F A4 EB 78 */	mr r4, r29
/* 8021D940 002195A0  4B FB D4 09 */	bl func_801DAD48
lbl_8021D944:
/* 8021D944 002195A4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8021D948 002195A8  7F A3 EB 78 */	mr r3, r29
/* 8021D94C 002195AC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8021D950 002195B0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8021D954 002195B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8021D958 002195B8  7C 08 03 A6 */	mtlr r0
/* 8021D95C 002195BC  38 21 00 20 */	addi r1, r1, 0x20
/* 8021D960 002195C0  4E 80 00 20 */	blr
/* 8021D964 002195C4  94 21 FE 90 */	stwu r1, -0x170(r1)
/* 8021D968 002195C8  7C 08 02 A6 */	mflr r0
/* 8021D96C 002195CC  90 01 01 74 */	stw r0, 0x174(r1)
/* 8021D970 002195D0  DB E1 01 60 */	stfd f31, 0x160(r1)
/* 8021D974 002195D4  F3 E1 01 68 */	psq_st f31, 360(r1), 0, qr0
/* 8021D978 002195D8  DB C1 01 50 */	stfd f30, 0x150(r1)
/* 8021D97C 002195DC  F3 C1 01 58 */	psq_st f30, 344(r1), 0, qr0
/* 8021D980 002195E0  DB A1 01 40 */	stfd f29, 0x140(r1)
/* 8021D984 002195E4  F3 A1 01 48 */	psq_st f29, 328(r1), 0, qr0
/* 8021D988 002195E8  DB 81 01 30 */	stfd f28, 0x130(r1)
/* 8021D98C 002195EC  F3 81 01 38 */	psq_st f28, 312(r1), 0, qr0
/* 8021D990 002195F0  DB 61 01 20 */	stfd f27, 0x120(r1)
/* 8021D994 002195F4  F3 61 01 28 */	psq_st f27, 296(r1), 0, qr0
/* 8021D998 002195F8  DB 41 01 10 */	stfd f26, 0x110(r1)
/* 8021D99C 002195FC  F3 41 01 18 */	psq_st f26, 280(r1), 0, qr0
/* 8021D9A0 00219600  DB 21 01 00 */	stfd f25, 0x100(r1)
/* 8021D9A4 00219604  F3 21 01 08 */	psq_st f25, 264(r1), 0, qr0
/* 8021D9A8 00219608  DB 01 00 F0 */	stfd f24, 0xf0(r1)
/* 8021D9AC 0021960C  F3 01 00 F8 */	psq_st f24, 248(r1), 0, qr0
/* 8021D9B0 00219610  DA E1 00 E0 */	stfd f23, 0xe0(r1)
/* 8021D9B4 00219614  F2 E1 00 E8 */	psq_st f23, 232(r1), 0, qr0
/* 8021D9B8 00219618  DA C1 00 D0 */	stfd f22, 0xd0(r1)
/* 8021D9BC 0021961C  F2 C1 00 D8 */	psq_st f22, 216(r1), 0, qr0
/* 8021D9C0 00219620  39 61 00 D0 */	addi r11, r1, 0xd0
/* 8021D9C4 00219624  4B FA 97 41 */	bl _savegpr_18
/* 8021D9C8 00219628  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8021D9CC 0021962C  3C 80 43 30 */	lis r4, 0x4330
/* 8021D9D0 00219630  90 81 00 88 */	stw r4, 0x88(r1)
/* 8021D9D4 00219634  7C 72 1B 78 */	mr r18, r3
/* 8021D9D8 00219638  2C 00 00 00 */	cmpwi r0, 0
/* 8021D9DC 0021963C  90 81 00 90 */	stw r4, 0x90(r1)
/* 8021D9E0 00219640  41 82 00 10 */	beq lbl_8021D9F0
/* 8021D9E4 00219644  80 03 00 18 */	lwz r0, 0x18(r3)
/* 8021D9E8 00219648  2C 00 00 00 */	cmpwi r0, 0
/* 8021D9EC 0021964C  40 82 00 0C */	bne lbl_8021D9F8
lbl_8021D9F0:
/* 8021D9F0 00219650  38 60 00 00 */	li r3, 0
/* 8021D9F4 00219654  48 00 05 DC */	b lbl_8021DFD0
lbl_8021D9F8:
/* 8021D9F8 00219658  C0 02 9B 84 */	lfs f0, lbl_80642184-_SDA2_BASE_(r2)
/* 8021D9FC 0021965C  80 83 00 10 */	lwz r4, 0x10(r3)
/* 8021DA00 00219660  D0 03 00 68 */	stfs f0, 0x68(r3)
/* 8021DA04 00219664  38 61 00 60 */	addi r3, r1, 0x60
/* 8021DA08 00219668  3A 64 01 20 */	addi r19, r4, 0x120
/* 8021DA0C 0021966C  7E 64 9B 78 */	mr r4, r19
/* 8021DA10 00219670  48 00 2F 79 */	bl func_80220988
/* 8021DA14 00219674  88 12 00 21 */	lbz r0, 0x21(r18)
/* 8021DA18 00219678  2C 00 00 00 */	cmpwi r0, 0
/* 8021DA1C 0021967C  41 82 00 1C */	beq lbl_8021DA38
/* 8021DA20 00219680  38 61 00 60 */	addi r3, r1, 0x60
/* 8021DA24 00219684  48 05 F3 61 */	bl PSVECMag
/* 8021DA28 00219688  C0 02 9B 88 */	lfs f0, lbl_80642188-_SDA2_BASE_(r2)
/* 8021DA2C 0021968C  EC 00 00 72 */	fmuls f0, f0, f1
/* 8021DA30 00219690  D0 12 00 24 */	stfs f0, 0x24(r18)
/* 8021DA34 00219694  48 00 00 0C */	b lbl_8021DA40
lbl_8021DA38:
/* 8021DA38 00219698  C0 02 9B 80 */	lfs f0, lbl_80642180-_SDA2_BASE_(r2)
/* 8021DA3C 0021969C  D0 12 00 24 */	stfs f0, 0x24(r18)
lbl_8021DA40:
/* 8021DA40 002196A0  38 72 00 4C */	addi r3, r18, 0x4c
/* 8021DA44 002196A4  48 05 F3 41 */	bl PSVECMag
/* 8021DA48 002196A8  C0 12 00 24 */	lfs f0, 0x24(r18)
/* 8021DA4C 002196AC  88 12 00 20 */	lbz r0, 0x20(r18)
/* 8021DA50 002196B0  EE C0 00 72 */	fmuls f22, f0, f1
/* 8021DA54 002196B4  2C 00 00 00 */	cmpwi r0, 0
/* 8021DA58 002196B8  41 82 00 1C */	beq lbl_8021DA74
/* 8021DA5C 002196BC  C0 02 9B 8C */	lfs f0, lbl_8064218C-_SDA2_BASE_(r2)
/* 8021DA60 002196C0  FC 16 00 40 */	fcmpo cr0, f22, f0
/* 8021DA64 002196C4  40 80 00 30 */	bge lbl_8021DA94
/* 8021DA68 002196C8  C0 02 9B 90 */	lfs f0, lbl_80642190-_SDA2_BASE_(r2)
/* 8021DA6C 002196CC  FC 16 00 40 */	fcmpo cr0, f22, f0
/* 8021DA70 002196D0  40 81 00 24 */	ble lbl_8021DA94
lbl_8021DA74:
/* 8021DA74 002196D4  C2 E2 9B 84 */	lfs f23, lbl_80642184-_SDA2_BASE_(r2)
/* 8021DA78 002196D8  D2 E1 00 6C */	stfs f23, 0x6c(r1)
/* 8021DA7C 002196DC  D2 E1 00 70 */	stfs f23, 0x70(r1)
/* 8021DA80 002196E0  D2 E1 00 74 */	stfs f23, 0x74(r1)
/* 8021DA84 002196E4  D2 E1 00 78 */	stfs f23, 0x78(r1)
/* 8021DA88 002196E8  D2 E1 00 7C */	stfs f23, 0x7c(r1)
/* 8021DA8C 002196EC  D2 E1 00 80 */	stfs f23, 0x80(r1)
/* 8021DA90 002196F0  48 00 01 44 */	b lbl_8021DBD4
lbl_8021DA94:
/* 8021DA94 002196F4  FE E0 B0 90 */	fmr f23, f22
/* 8021DA98 002196F8  C0 32 00 24 */	lfs f1, 0x24(r18)
/* 8021DA9C 002196FC  38 72 00 4C */	addi r3, r18, 0x4c
/* 8021DAA0 00219700  38 81 00 48 */	addi r4, r1, 0x48
/* 8021DAA4 00219704  48 05 F2 69 */	bl PSVECScale
/* 8021DAA8 00219708  C0 22 9B 8C */	lfs f1, lbl_8064218C-_SDA2_BASE_(r2)
/* 8021DAAC 0021970C  38 61 00 48 */	addi r3, r1, 0x48
/* 8021DAB0 00219710  FC 16 08 40 */	fcmpo cr0, f22, f1
/* 8021DAB4 00219714  40 80 00 28 */	bge lbl_8021DADC
/* 8021DAB8 00219718  C0 42 9B 90 */	lfs f2, lbl_80642190-_SDA2_BASE_(r2)
/* 8021DABC 0021971C  FC 16 10 40 */	fcmpo cr0, f22, f2
/* 8021DAC0 00219720  40 81 00 1C */	ble lbl_8021DADC
/* 8021DAC4 00219724  C0 02 9B 84 */	lfs f0, lbl_80642184-_SDA2_BASE_(r2)
/* 8021DAC8 00219728  FC 16 00 40 */	fcmpo cr0, f22, f0
/* 8021DACC 0021972C  40 80 00 08 */	bge lbl_8021DAD4
/* 8021DAD0 00219730  48 00 00 08 */	b lbl_8021DAD8
lbl_8021DAD4:
/* 8021DAD4 00219734  FC 40 08 90 */	fmr f2, f1
lbl_8021DAD8:
/* 8021DAD8 00219738  FE E0 10 90 */	fmr f23, f2
lbl_8021DADC:
/* 8021DADC 0021973C  C0 02 9B 80 */	lfs f0, lbl_80642180-_SDA2_BASE_(r2)
/* 8021DAE0 00219740  38 81 00 54 */	addi r4, r1, 0x54
/* 8021DAE4 00219744  EC 20 B8 24 */	fdivs f1, f0, f23
/* 8021DAE8 00219748  48 05 F2 25 */	bl PSVECScale
/* 8021DAEC 0021974C  C0 41 00 54 */	lfs f2, 0x54(r1)
/* 8021DAF0 00219750  7E 63 9B 78 */	mr r3, r19
/* 8021DAF4 00219754  C0 21 00 58 */	lfs f1, 0x58(r1)
/* 8021DAF8 00219758  C0 01 00 5C */	lfs f0, 0x5c(r1)
/* 8021DAFC 0021975C  D0 41 00 6C */	stfs f2, 0x6c(r1)
/* 8021DB00 00219760  D0 21 00 70 */	stfs f1, 0x70(r1)
/* 8021DB04 00219764  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 8021DB08 00219768  48 00 2F E9 */	bl func_80220AF0
/* 8021DB0C 0021976C  C2 E2 9B 94 */	lfs f23, lbl_80642194-_SDA2_BASE_(r2)
/* 8021DB10 00219770  7C 73 1B 78 */	mr r19, r3
/* 8021DB14 00219774  3A 80 00 00 */	li r20, 0
lbl_8021DB18:
/* 8021DB18 00219778  7E 64 9B 78 */	mr r4, r19
/* 8021DB1C 0021977C  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021DB20 00219780  48 05 F2 A9 */	bl PSVECDotProduct
/* 8021DB24 00219784  FC 17 08 40 */	fcmpo cr0, f23, f1
/* 8021DB28 00219788  FF 00 08 90 */	fmr f24, f1
/* 8021DB2C 0021978C  40 81 00 2C */	ble lbl_8021DB58
/* 8021DB30 00219790  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021DB34 00219794  38 81 00 3C */	addi r4, r1, 0x3c
/* 8021DB38 00219798  48 05 F1 D5 */	bl PSVECScale
/* 8021DB3C 0021979C  C0 41 00 3C */	lfs f2, 0x3c(r1)
/* 8021DB40 002197A0  FE E0 C0 90 */	fmr f23, f24
/* 8021DB44 002197A4  C0 21 00 40 */	lfs f1, 0x40(r1)
/* 8021DB48 002197A8  C0 01 00 44 */	lfs f0, 0x44(r1)
/* 8021DB4C 002197AC  D0 41 00 78 */	stfs f2, 0x78(r1)
/* 8021DB50 002197B0  D0 21 00 7C */	stfs f1, 0x7c(r1)
/* 8021DB54 002197B4  D0 01 00 80 */	stfs f0, 0x80(r1)
lbl_8021DB58:
/* 8021DB58 002197B8  3A 94 00 01 */	addi r20, r20, 1
/* 8021DB5C 002197BC  3A 73 00 0C */	addi r19, r19, 0xc
/* 8021DB60 002197C0  2C 14 00 08 */	cmpwi r20, 8
/* 8021DB64 002197C4  41 80 FF B4 */	blt lbl_8021DB18
/* 8021DB68 002197C8  C0 22 9B 8C */	lfs f1, lbl_8064218C-_SDA2_BASE_(r2)
/* 8021DB6C 002197CC  FC 16 08 40 */	fcmpo cr0, f22, f1
/* 8021DB70 002197D0  40 80 00 28 */	bge lbl_8021DB98
/* 8021DB74 002197D4  C0 42 9B 90 */	lfs f2, lbl_80642190-_SDA2_BASE_(r2)
/* 8021DB78 002197D8  FC 16 10 40 */	fcmpo cr0, f22, f2
/* 8021DB7C 002197DC  40 81 00 1C */	ble lbl_8021DB98
/* 8021DB80 002197E0  C0 02 9B 84 */	lfs f0, lbl_80642184-_SDA2_BASE_(r2)
/* 8021DB84 002197E4  FC 16 00 40 */	fcmpo cr0, f22, f0
/* 8021DB88 002197E8  40 80 00 08 */	bge lbl_8021DB90
/* 8021DB8C 002197EC  48 00 00 08 */	b lbl_8021DB94
lbl_8021DB90:
/* 8021DB90 002197F0  FC 40 08 90 */	fmr f2, f1
lbl_8021DB94:
/* 8021DB94 002197F4  FE C0 10 90 */	fmr f22, f2
lbl_8021DB98:
/* 8021DB98 002197F8  C0 02 9B 80 */	lfs f0, lbl_80642180-_SDA2_BASE_(r2)
/* 8021DB9C 002197FC  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021DBA0 00219800  7C 64 1B 78 */	mr r4, r3
/* 8021DBA4 00219804  EC 20 B0 24 */	fdivs f1, f0, f22
/* 8021DBA8 00219808  48 05 F1 65 */	bl PSVECScale
/* 8021DBAC 0021980C  38 61 00 60 */	addi r3, r1, 0x60
/* 8021DBB0 00219810  38 81 00 6C */	addi r4, r1, 0x6c
/* 8021DBB4 00219814  48 05 F2 15 */	bl PSVECDotProduct
/* 8021DBB8 00219818  C0 42 9B 98 */	lfs f2, lbl_80642198-_SDA2_BASE_(r2)
/* 8021DBBC 0021981C  C0 02 9B 84 */	lfs f0, lbl_80642184-_SDA2_BASE_(r2)
/* 8021DBC0 00219820  EE E2 00 72 */	fmuls f23, f2, f1
/* 8021DBC4 00219824  FC 17 00 40 */	fcmpo cr0, f23, f0
/* 8021DBC8 00219828  40 81 00 08 */	ble lbl_8021DBD0
/* 8021DBCC 0021982C  48 00 00 08 */	b lbl_8021DBD4
lbl_8021DBD0:
/* 8021DBD0 00219830  FE E0 B8 50 */	fneg f23, f23
lbl_8021DBD4:
/* 8021DBD4 00219834  80 72 00 10 */	lwz r3, 0x10(r18)
/* 8021DBD8 00219838  3B 20 00 00 */	li r25, 0
/* 8021DBDC 0021983C  83 52 00 14 */	lwz r26, 0x14(r18)
/* 8021DBE0 00219840  3F E0 00 03 */	lis r31, 3
/* 8021DBE4 00219844  A3 C3 00 EC */	lhz r30, 0xec(r3)
/* 8021DBE8 00219848  C3 22 9B 84 */	lfs f25, lbl_80642184-_SDA2_BASE_(r2)
/* 8021DBEC 0021984C  C3 62 9B 90 */	lfs f27, lbl_80642190-_SDA2_BASE_(r2)
/* 8021DBF0 00219850  C3 42 9B 8C */	lfs f26, lbl_8064218C-_SDA2_BASE_(r2)
/* 8021DBF4 00219854  C3 82 9B 80 */	lfs f28, lbl_80642180-_SDA2_BASE_(r2)
/* 8021DBF8 00219858  CB A2 9B A8 */	lfd f29, lbl_806421A8-_SDA2_BASE_(r2)
/* 8021DBFC 0021985C  C3 C2 9B A0 */	lfs f30, lbl_806421A0-_SDA2_BASE_(r2)
/* 8021DC00 00219860  C3 E2 9B 98 */	lfs f31, lbl_80642198-_SDA2_BASE_(r2)
/* 8021DC04 00219864  48 00 03 BC */	b lbl_8021DFC0
lbl_8021DC08:
/* 8021DC08 00219868  80 92 00 10 */	lwz r4, 0x10(r18)
/* 8021DC0C 0021986C  80 A4 00 28 */	lwz r5, 0x28(r4)
/* 8021DC10 00219870  2C 05 00 00 */	cmpwi r5, 0
/* 8021DC14 00219874  40 82 00 0C */	bne lbl_8021DC20
/* 8021DC18 00219878  3A 60 00 00 */	li r19, 0
/* 8021DC1C 0021987C  48 00 00 54 */	b lbl_8021DC70
lbl_8021DC20:
/* 8021DC20 00219880  A0 04 00 EC */	lhz r0, 0xec(r4)
/* 8021DC24 00219884  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 8021DC28 00219888  7C 03 00 40 */	cmplw r3, r0
/* 8021DC2C 0021988C  41 80 00 0C */	blt lbl_8021DC38
/* 8021DC30 00219890  3A 60 00 00 */	li r19, 0
/* 8021DC34 00219894  48 00 00 3C */	b lbl_8021DC70
lbl_8021DC38:
/* 8021DC38 00219898  80 C4 00 08 */	lwz r6, 8(r4)
/* 8021DC3C 0021989C  57 20 0B FC */	rlwinm r0, r25, 1, 0xf, 0x1e
/* 8021DC40 002198A0  7C 65 02 2E */	lhzx r3, r5, r0
/* 8021DC44 002198A4  2C 06 00 00 */	cmpwi r6, 0
/* 8021DC48 002198A8  40 82 00 0C */	bne lbl_8021DC54
/* 8021DC4C 002198AC  3A 60 00 00 */	li r19, 0
/* 8021DC50 002198B0  48 00 00 20 */	b lbl_8021DC70
lbl_8021DC54:
/* 8021DC54 002198B4  A0 04 00 DE */	lhz r0, 0xde(r4)
/* 8021DC58 002198B8  7C 03 00 40 */	cmplw r3, r0
/* 8021DC5C 002198BC  41 80 00 0C */	blt lbl_8021DC68
/* 8021DC60 002198C0  3A 60 00 00 */	li r19, 0
/* 8021DC64 002198C4  48 00 00 0C */	b lbl_8021DC70
lbl_8021DC68:
/* 8021DC68 002198C8  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 8021DC6C 002198CC  7E 66 00 2E */	lwzx r19, r6, r0
lbl_8021DC70:
/* 8021DC70 002198D0  2C 13 00 00 */	cmpwi r19, 0
/* 8021DC74 002198D4  41 82 03 48 */	beq lbl_8021DFBC
/* 8021DC78 002198D8  80 93 01 44 */	lwz r4, 0x144(r19)
/* 8021DC7C 002198DC  7E 63 9B 78 */	mr r3, r19
/* 8021DC80 002198E0  3B 13 00 D0 */	addi r24, r19, 0xd0
/* 8021DC84 002198E4  A2 E4 00 34 */	lhz r23, 0x34(r4)
/* 8021DC88 002198E8  82 C4 00 40 */	lwz r22, 0x40(r4)
/* 8021DC8C 002198EC  4B FC 23 71 */	bl func_801DFFFC
/* 8021DC90 002198F0  83 B3 01 3C */	lwz r29, 0x13c(r19)
/* 8021DC94 002198F4  7E 63 9B 78 */	mr r3, r19
/* 8021DC98 002198F8  4B FC 23 65 */	bl func_801DFFFC
/* 8021DC9C 002198FC  83 93 01 40 */	lwz r28, 0x140(r19)
/* 8021DCA0 00219900  3A A0 00 00 */	li r21, 0
/* 8021DCA4 00219904  48 00 03 0C */	b lbl_8021DFB0
lbl_8021DCA8:
/* 8021DCA8 00219908  80 1A 00 0C */	lwz r0, 0xc(r26)
/* 8021DCAC 0021990C  2C 00 00 00 */	cmpwi r0, 0
/* 8021DCB0 00219910  41 82 02 F0 */	beq lbl_8021DFA0
/* 8021DCB4 00219914  A0 16 00 00 */	lhz r0, 0(r22)
/* 8021DCB8 00219918  7F 03 C3 78 */	mr r3, r24
/* 8021DCBC 0021991C  38 A1 00 30 */	addi r5, r1, 0x30
/* 8021DCC0 00219920  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021DCC4 00219924  7C 9C 02 14 */	add r4, r28, r0
/* 8021DCC8 00219928  48 05 ED 89 */	bl PSMTXMultVecSR
/* 8021DCCC 0021992C  C0 01 00 30 */	lfs f0, 0x30(r1)
/* 8021DCD0 00219930  3A 60 00 00 */	li r19, 0
/* 8021DCD4 00219934  D0 1A 00 00 */	stfs f0, 0(r26)
/* 8021DCD8 00219938  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 8021DCDC 0021993C  D0 1A 00 04 */	stfs f0, 4(r26)
/* 8021DCE0 00219940  C0 01 00 38 */	lfs f0, 0x38(r1)
/* 8021DCE4 00219944  D0 1A 00 08 */	stfs f0, 8(r26)
/* 8021DCE8 00219948  D3 3A 00 14 */	stfs f25, 0x14(r26)
/* 8021DCEC 0021994C  D3 3A 00 18 */	stfs f25, 0x18(r26)
/* 8021DCF0 00219950  D3 3A 00 1C */	stfs f25, 0x1c(r26)
/* 8021DCF4 00219954  8A 96 00 03 */	lbz r20, 3(r22)
/* 8021DCF8 00219958  48 00 00 88 */	b lbl_8021DD80
lbl_8021DCFC:
/* 8021DCFC 0021995C  80 96 00 04 */	lwz r4, 4(r22)
/* 8021DD00 00219960  56 60 0B FC */	rlwinm r0, r19, 1, 0xf, 0x1e
/* 8021DD04 00219964  7F 03 C3 78 */	mr r3, r24
/* 8021DD08 00219968  38 A1 00 24 */	addi r5, r1, 0x24
/* 8021DD0C 0021996C  7C 04 02 2E */	lhzx r0, r4, r0
/* 8021DD10 00219970  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021DD14 00219974  7C 9D 02 14 */	add r4, r29, r0
/* 8021DD18 00219978  48 05 EC E5 */	bl PSMTXMultVec
/* 8021DD1C 0021997C  56 63 04 3E */	clrlwi r3, r19, 0x10
/* 8021DD20 00219980  80 1A 00 0C */	lwz r0, 0xc(r26)
/* 8021DD24 00219984  1F 63 00 0C */	mulli r27, r3, 0xc
/* 8021DD28 00219988  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 8021DD2C 0021998C  C0 22 9B 9C */	lfs f1, lbl_8064219C-_SDA2_BASE_(r2)
/* 8021DD30 00219990  7F 43 D3 78 */	mr r3, r26
/* 8021DD34 00219994  38 81 00 18 */	addi r4, r1, 0x18
/* 8021DD38 00219998  7C 1B 05 2E */	stfsx f0, r27, r0
/* 8021DD3C 0021999C  7C A0 DA 14 */	add r5, r0, r27
/* 8021DD40 002199A0  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 8021DD44 002199A4  D0 05 00 04 */	stfs f0, 4(r5)
/* 8021DD48 002199A8  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 8021DD4C 002199AC  D0 05 00 08 */	stfs f0, 8(r5)
/* 8021DD50 002199B0  48 05 EF BD */	bl PSVECScale
/* 8021DD54 002199B4  80 1A 00 0C */	lwz r0, 0xc(r26)
/* 8021DD58 002199B8  38 81 00 18 */	addi r4, r1, 0x18
/* 8021DD5C 002199BC  7C 60 DA 14 */	add r3, r0, r27
/* 8021DD60 002199C0  7C 65 1B 78 */	mr r5, r3
/* 8021DD64 002199C4  48 05 EF 61 */	bl PSVECAdd
/* 8021DD68 002199C8  80 1A 00 0C */	lwz r0, 0xc(r26)
/* 8021DD6C 002199CC  38 7A 00 14 */	addi r3, r26, 0x14
/* 8021DD70 002199D0  7C 65 1B 78 */	mr r5, r3
/* 8021DD74 002199D4  7C 80 DA 14 */	add r4, r0, r27
/* 8021DD78 002199D8  48 05 EF 4D */	bl PSVECAdd
/* 8021DD7C 002199DC  3A 73 00 01 */	addi r19, r19, 1
lbl_8021DD80:
/* 8021DD80 002199E0  56 60 04 3E */	clrlwi r0, r19, 0x10
/* 8021DD84 002199E4  7C 00 A0 40 */	cmplw r0, r20
/* 8021DD88 002199E8  41 80 FF 74 */	blt lbl_8021DCFC
/* 8021DD8C 002199EC  B2 81 00 08 */	sth r20, 8(r1)
/* 8021DD90 002199F0  E0 01 B0 08 */	psq_l f0, 8(r1), 1, qr3
/* 8021DD94 002199F4  FC 00 D0 40 */	fcmpo cr0, f0, f26
/* 8021DD98 002199F8  40 80 00 20 */	bge lbl_8021DDB8
/* 8021DD9C 002199FC  FC 00 D8 40 */	fcmpo cr0, f0, f27
/* 8021DDA0 00219A00  40 81 00 18 */	ble lbl_8021DDB8
/* 8021DDA4 00219A04  FC 00 C8 40 */	fcmpo cr0, f0, f25
/* 8021DDA8 00219A08  40 80 00 0C */	bge lbl_8021DDB4
/* 8021DDAC 00219A0C  FC 00 D8 90 */	fmr f0, f27
/* 8021DDB0 00219A10  48 00 00 08 */	b lbl_8021DDB8
lbl_8021DDB4:
/* 8021DDB4 00219A14  FC 00 D0 90 */	fmr f0, f26
lbl_8021DDB8:
/* 8021DDB8 00219A18  EC 3C 00 24 */	fdivs f1, f28, f0
/* 8021DDBC 00219A1C  38 7A 00 14 */	addi r3, r26, 0x14
/* 8021DDC0 00219A20  7C 64 1B 78 */	mr r4, r3
/* 8021DDC4 00219A24  48 05 EF 49 */	bl PSVECScale
/* 8021DDC8 00219A28  38 7A 00 14 */	addi r3, r26, 0x14
/* 8021DDCC 00219A2C  38 81 00 78 */	addi r4, r1, 0x78
/* 8021DDD0 00219A30  38 A1 00 0C */	addi r5, r1, 0xc
/* 8021DDD4 00219A34  48 05 EF 15 */	bl PSVECSubtract
/* 8021DDD8 00219A38  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021DDDC 00219A3C  38 81 00 0C */	addi r4, r1, 0xc
/* 8021DDE0 00219A40  48 05 EF E9 */	bl PSVECDotProduct
/* 8021DDE4 00219A44  EC 17 00 72 */	fmuls f0, f23, f1
/* 8021DDE8 00219A48  D0 1A 00 38 */	stfs f0, 0x38(r26)
/* 8021DDEC 00219A4C  48 00 5A 45 */	bl func_80223830
/* 8021DDF0 00219A50  80 83 00 00 */	lwz r4, 0(r3)
/* 8021DDF4 00219A54  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8021DDF8 00219A58  7C 84 01 D6 */	mullw r4, r4, r0
/* 8021DDFC 00219A5C  3C 84 00 27 */	addis r4, r4, 0x27
/* 8021DE00 00219A60  38 84 9E C3 */	addi r4, r4, -24893
/* 8021DE04 00219A64  54 80 84 3E */	srwi r0, r4, 0x10
/* 8021DE08 00219A68  90 83 00 00 */	stw r4, 0(r3)
/* 8021DE0C 00219A6C  90 01 00 8C */	stw r0, 0x8c(r1)
/* 8021DE10 00219A70  C0 32 00 34 */	lfs f1, 0x34(r18)
/* 8021DE14 00219A74  C8 41 00 88 */	lfd f2, 0x88(r1)
/* 8021DE18 00219A78  C0 12 00 24 */	lfs f0, 0x24(r18)
/* 8021DE1C 00219A7C  EC 42 E8 28 */	fsubs f2, f2, f29
/* 8021DE20 00219A80  EC 01 00 32 */	fmuls f0, f1, f0
/* 8021DE24 00219A84  EC 22 F0 24 */	fdivs f1, f2, f30
/* 8021DE28 00219A88  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8021DE2C 00219A8C  EC 21 E0 28 */	fsubs f1, f1, f28
/* 8021DE30 00219A90  EF 00 00 72 */	fmuls f24, f0, f1
/* 8021DE34 00219A94  48 00 59 FD */	bl func_80223830
/* 8021DE38 00219A98  80 83 00 00 */	lwz r4, 0(r3)
/* 8021DE3C 00219A9C  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8021DE40 00219AA0  7C 84 01 D6 */	mullw r4, r4, r0
/* 8021DE44 00219AA4  3C 84 00 27 */	addis r4, r4, 0x27
/* 8021DE48 00219AA8  38 84 9E C3 */	addi r4, r4, -24893
/* 8021DE4C 00219AAC  54 80 84 3E */	srwi r0, r4, 0x10
/* 8021DE50 00219AB0  90 83 00 00 */	stw r4, 0(r3)
/* 8021DE54 00219AB4  90 01 00 94 */	stw r0, 0x94(r1)
/* 8021DE58 00219AB8  C0 32 00 30 */	lfs f1, 0x30(r18)
/* 8021DE5C 00219ABC  C8 41 00 90 */	lfd f2, 0x90(r1)
/* 8021DE60 00219AC0  C0 12 00 24 */	lfs f0, 0x24(r18)
/* 8021DE64 00219AC4  EC 42 E8 28 */	fsubs f2, f2, f29
/* 8021DE68 00219AC8  EC 01 00 32 */	fmuls f0, f1, f0
/* 8021DE6C 00219ACC  EC 22 F0 24 */	fdivs f1, f2, f30
/* 8021DE70 00219AD0  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8021DE74 00219AD4  EC 21 E0 28 */	fsubs f1, f1, f28
/* 8021DE78 00219AD8  EE C0 00 72 */	fmuls f22, f0, f1
/* 8021DE7C 00219ADC  48 00 59 B5 */	bl func_80223830
/* 8021DE80 00219AE0  80 83 00 00 */	lwz r4, 0(r3)
/* 8021DE84 00219AE4  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8021DE88 00219AE8  7C 84 01 D6 */	mullw r4, r4, r0
/* 8021DE8C 00219AEC  3C 84 00 27 */	addis r4, r4, 0x27
/* 8021DE90 00219AF0  38 84 9E C3 */	addi r4, r4, -24893
/* 8021DE94 00219AF4  54 80 84 3E */	srwi r0, r4, 0x10
/* 8021DE98 00219AF8  90 83 00 00 */	stw r4, 0(r3)
/* 8021DE9C 00219AFC  90 01 00 8C */	stw r0, 0x8c(r1)
/* 8021DEA0 00219B00  C0 32 00 2C */	lfs f1, 0x2c(r18)
/* 8021DEA4 00219B04  C8 41 00 88 */	lfd f2, 0x88(r1)
/* 8021DEA8 00219B08  C0 12 00 24 */	lfs f0, 0x24(r18)
/* 8021DEAC 00219B0C  EC 42 E8 28 */	fsubs f2, f2, f29
/* 8021DEB0 00219B10  EC 01 00 32 */	fmuls f0, f1, f0
/* 8021DEB4 00219B14  EC 22 F0 24 */	fdivs f1, f2, f30
/* 8021DEB8 00219B18  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8021DEBC 00219B1C  EC 21 E0 28 */	fsubs f1, f1, f28
/* 8021DEC0 00219B20  EC 00 00 72 */	fmuls f0, f0, f1
/* 8021DEC4 00219B24  D0 1A 00 20 */	stfs f0, 0x20(r26)
/* 8021DEC8 00219B28  D2 DA 00 24 */	stfs f22, 0x24(r26)
/* 8021DECC 00219B2C  D3 1A 00 28 */	stfs f24, 0x28(r26)
/* 8021DED0 00219B30  48 00 59 61 */	bl func_80223830
/* 8021DED4 00219B34  80 83 00 00 */	lwz r4, 0(r3)
/* 8021DED8 00219B38  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8021DEDC 00219B3C  7C 84 01 D6 */	mullw r4, r4, r0
/* 8021DEE0 00219B40  3C 84 00 27 */	addis r4, r4, 0x27
/* 8021DEE4 00219B44  38 84 9E C3 */	addi r4, r4, -24893
/* 8021DEE8 00219B48  54 80 84 3E */	srwi r0, r4, 0x10
/* 8021DEEC 00219B4C  90 83 00 00 */	stw r4, 0(r3)
/* 8021DEF0 00219B50  90 01 00 94 */	stw r0, 0x94(r1)
/* 8021DEF4 00219B54  C0 12 00 40 */	lfs f0, 0x40(r18)
/* 8021DEF8 00219B58  C8 21 00 90 */	lfd f1, 0x90(r1)
/* 8021DEFC 00219B5C  EC 21 E8 28 */	fsubs f1, f1, f29
/* 8021DF00 00219B60  EC 21 F0 24 */	fdivs f1, f1, f30
/* 8021DF04 00219B64  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8021DF08 00219B68  EC 21 E0 28 */	fsubs f1, f1, f28
/* 8021DF0C 00219B6C  EF 00 00 72 */	fmuls f24, f0, f1
/* 8021DF10 00219B70  48 00 59 21 */	bl func_80223830
/* 8021DF14 00219B74  80 83 00 00 */	lwz r4, 0(r3)
/* 8021DF18 00219B78  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8021DF1C 00219B7C  7C 84 01 D6 */	mullw r4, r4, r0
/* 8021DF20 00219B80  3C 84 00 27 */	addis r4, r4, 0x27
/* 8021DF24 00219B84  38 84 9E C3 */	addi r4, r4, -24893
/* 8021DF28 00219B88  54 80 84 3E */	srwi r0, r4, 0x10
/* 8021DF2C 00219B8C  90 83 00 00 */	stw r4, 0(r3)
/* 8021DF30 00219B90  90 01 00 8C */	stw r0, 0x8c(r1)
/* 8021DF34 00219B94  C0 12 00 3C */	lfs f0, 0x3c(r18)
/* 8021DF38 00219B98  C8 21 00 88 */	lfd f1, 0x88(r1)
/* 8021DF3C 00219B9C  EC 21 E8 28 */	fsubs f1, f1, f29
/* 8021DF40 00219BA0  EC 21 F0 24 */	fdivs f1, f1, f30
/* 8021DF44 00219BA4  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8021DF48 00219BA8  EC 21 E0 28 */	fsubs f1, f1, f28
/* 8021DF4C 00219BAC  EE C0 00 72 */	fmuls f22, f0, f1
/* 8021DF50 00219BB0  48 00 58 E1 */	bl func_80223830
/* 8021DF54 00219BB4  80 83 00 00 */	lwz r4, 0(r3)
/* 8021DF58 00219BB8  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8021DF5C 00219BBC  7C 84 01 D6 */	mullw r4, r4, r0
/* 8021DF60 00219BC0  3C 84 00 27 */	addis r4, r4, 0x27
/* 8021DF64 00219BC4  38 84 9E C3 */	addi r4, r4, -24893
/* 8021DF68 00219BC8  54 80 84 3E */	srwi r0, r4, 0x10
/* 8021DF6C 00219BCC  90 83 00 00 */	stw r4, 0(r3)
/* 8021DF70 00219BD0  90 01 00 94 */	stw r0, 0x94(r1)
/* 8021DF74 00219BD4  C0 12 00 38 */	lfs f0, 0x38(r18)
/* 8021DF78 00219BD8  C8 21 00 90 */	lfd f1, 0x90(r1)
/* 8021DF7C 00219BDC  EC 21 E8 28 */	fsubs f1, f1, f29
/* 8021DF80 00219BE0  EC 21 F0 24 */	fdivs f1, f1, f30
/* 8021DF84 00219BE4  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8021DF88 00219BE8  EC 21 E0 28 */	fsubs f1, f1, f28
/* 8021DF8C 00219BEC  EC 00 00 72 */	fmuls f0, f0, f1
/* 8021DF90 00219BF0  D0 1A 00 2C */	stfs f0, 0x2c(r26)
/* 8021DF94 00219BF4  D2 DA 00 30 */	stfs f22, 0x30(r26)
/* 8021DF98 00219BF8  D3 1A 00 34 */	stfs f24, 0x34(r26)
/* 8021DF9C 00219BFC  48 00 00 08 */	b lbl_8021DFA4
lbl_8021DFA0:
/* 8021DFA0 00219C00  D3 3A 00 38 */	stfs f25, 0x38(r26)
lbl_8021DFA4:
/* 8021DFA4 00219C04  3B 5A 00 3C */	addi r26, r26, 0x3c
/* 8021DFA8 00219C08  3A D6 00 08 */	addi r22, r22, 8
/* 8021DFAC 00219C0C  3A B5 00 01 */	addi r21, r21, 1
lbl_8021DFB0:
/* 8021DFB0 00219C10  56 A0 04 3E */	clrlwi r0, r21, 0x10
/* 8021DFB4 00219C14  7C 00 B8 40 */	cmplw r0, r23
/* 8021DFB8 00219C18  41 80 FC F0 */	blt lbl_8021DCA8
lbl_8021DFBC:
/* 8021DFBC 00219C1C  3B 39 00 01 */	addi r25, r25, 1
lbl_8021DFC0:
/* 8021DFC0 00219C20  57 20 04 3E */	clrlwi r0, r25, 0x10
/* 8021DFC4 00219C24  7C 00 F0 40 */	cmplw r0, r30
/* 8021DFC8 00219C28  41 80 FC 40 */	blt lbl_8021DC08
/* 8021DFCC 00219C2C  38 60 00 01 */	li r3, 1
lbl_8021DFD0:
/* 8021DFD0 00219C30  E3 E1 01 68 */	psq_l f31, 360(r1), 0, qr0
/* 8021DFD4 00219C34  CB E1 01 60 */	lfd f31, 0x160(r1)
/* 8021DFD8 00219C38  E3 C1 01 58 */	psq_l f30, 344(r1), 0, qr0
/* 8021DFDC 00219C3C  CB C1 01 50 */	lfd f30, 0x150(r1)
/* 8021DFE0 00219C40  E3 A1 01 48 */	psq_l f29, 328(r1), 0, qr0
/* 8021DFE4 00219C44  CB A1 01 40 */	lfd f29, 0x140(r1)
/* 8021DFE8 00219C48  E3 81 01 38 */	psq_l f28, 312(r1), 0, qr0
/* 8021DFEC 00219C4C  CB 81 01 30 */	lfd f28, 0x130(r1)
/* 8021DFF0 00219C50  E3 61 01 28 */	psq_l f27, 296(r1), 0, qr0
/* 8021DFF4 00219C54  CB 61 01 20 */	lfd f27, 0x120(r1)
/* 8021DFF8 00219C58  E3 41 01 18 */	psq_l f26, 280(r1), 0, qr0
/* 8021DFFC 00219C5C  CB 41 01 10 */	lfd f26, 0x110(r1)
/* 8021E000 00219C60  E3 21 01 08 */	psq_l f25, 264(r1), 0, qr0
/* 8021E004 00219C64  CB 21 01 00 */	lfd f25, 0x100(r1)
/* 8021E008 00219C68  E3 01 00 F8 */	psq_l f24, 248(r1), 0, qr0
/* 8021E00C 00219C6C  CB 01 00 F0 */	lfd f24, 0xf0(r1)
/* 8021E010 00219C70  E2 E1 00 E8 */	psq_l f23, 232(r1), 0, qr0
/* 8021E014 00219C74  CA E1 00 E0 */	lfd f23, 0xe0(r1)
/* 8021E018 00219C78  E2 C1 00 D8 */	psq_l f22, 216(r1), 0, qr0
/* 8021E01C 00219C7C  39 61 00 D0 */	addi r11, r1, 0xd0
/* 8021E020 00219C80  CA C1 00 D0 */	lfd f22, 0xd0(r1)
/* 8021E024 00219C84  4B FA 91 2D */	bl _restgpr_18
/* 8021E028 00219C88  80 01 01 74 */	lwz r0, 0x174(r1)
/* 8021E02C 00219C8C  7C 08 03 A6 */	mtlr r0
/* 8021E030 00219C90  38 21 01 70 */	addi r1, r1, 0x170
/* 8021E034 00219C94  4E 80 00 20 */	blr
/* 8021E038 00219C98  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 8021E03C 00219C9C  7C 08 02 A6 */	mflr r0
/* 8021E040 00219CA0  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 8021E044 00219CA4  DB E1 00 B0 */	stfd f31, 0xb0(r1)
/* 8021E048 00219CA8  F3 E1 00 B8 */	psq_st f31, 184(r1), 0, qr0
/* 8021E04C 00219CAC  DB C1 00 A0 */	stfd f30, 0xa0(r1)
/* 8021E050 00219CB0  F3 C1 00 A8 */	psq_st f30, 168(r1), 0, qr0
/* 8021E054 00219CB4  39 61 00 A0 */	addi r11, r1, 0xa0
/* 8021E058 00219CB8  4B FA 90 CD */	bl _savegpr_26
/* 8021E05C 00219CBC  C0 43 00 68 */	lfs f2, 0x68(r3)
/* 8021E060 00219CC0  FF C0 08 90 */	fmr f30, f1
/* 8021E064 00219CC4  C0 03 00 6C */	lfs f0, 0x6c(r3)
/* 8021E068 00219CC8  7C 7A 1B 78 */	mr r26, r3
/* 8021E06C 00219CCC  EC 22 08 2A */	fadds f1, f2, f1
/* 8021E070 00219CD0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8021E074 00219CD4  D0 23 00 68 */	stfs f1, 0x68(r3)
/* 8021E078 00219CD8  4C 41 13 82 */	cror 2, 1, 2
/* 8021E07C 00219CDC  40 82 00 0C */	bne lbl_8021E088
/* 8021E080 00219CE0  38 60 00 00 */	li r3, 0
/* 8021E084 00219CE4  48 00 02 10 */	b lbl_8021E294
lbl_8021E088:
/* 8021E088 00219CE8  83 E3 00 14 */	lwz r31, 0x14(r3)
/* 8021E08C 00219CEC  3B C0 00 00 */	li r30, 0
/* 8021E090 00219CF0  C3 E2 9B 84 */	lfs f31, lbl_80642184-_SDA2_BASE_(r2)
/* 8021E094 00219CF4  48 00 01 EC */	b lbl_8021E280
lbl_8021E098:
/* 8021E098 00219CF8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8021E09C 00219CFC  2C 00 00 00 */	cmpwi r0, 0
/* 8021E0A0 00219D00  41 82 01 D8 */	beq lbl_8021E278
/* 8021E0A4 00219D04  C0 3F 00 38 */	lfs f1, 0x38(r31)
/* 8021E0A8 00219D08  C0 1A 00 68 */	lfs f0, 0x68(r26)
/* 8021E0AC 00219D0C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8021E0B0 00219D10  41 81 01 C8 */	bgt lbl_8021E278
/* 8021E0B4 00219D14  C0 3A 00 24 */	lfs f1, 0x24(r26)
/* 8021E0B8 00219D18  38 7A 00 4C */	addi r3, r26, 0x4c
/* 8021E0BC 00219D1C  38 81 00 44 */	addi r4, r1, 0x44
/* 8021E0C0 00219D20  48 05 EC 4D */	bl PSVECScale
/* 8021E0C4 00219D24  38 61 00 44 */	addi r3, r1, 0x44
/* 8021E0C8 00219D28  38 9F 00 20 */	addi r4, r31, 0x20
/* 8021E0CC 00219D2C  38 A1 00 78 */	addi r5, r1, 0x78
/* 8021E0D0 00219D30  48 05 EC 19 */	bl PSVECSubtract
/* 8021E0D4 00219D34  C0 21 00 78 */	lfs f1, 0x78(r1)
/* 8021E0D8 00219D38  C0 1A 00 4C */	lfs f0, 0x4c(r26)
/* 8021E0DC 00219D3C  EC 01 00 32 */	fmuls f0, f1, f0
/* 8021E0E0 00219D40  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 8021E0E4 00219D44  40 80 00 08 */	bge lbl_8021E0EC
/* 8021E0E8 00219D48  D3 E1 00 78 */	stfs f31, 0x78(r1)
lbl_8021E0EC:
/* 8021E0EC 00219D4C  C0 21 00 7C */	lfs f1, 0x7c(r1)
/* 8021E0F0 00219D50  C0 1A 00 50 */	lfs f0, 0x50(r26)
/* 8021E0F4 00219D54  EC 01 00 32 */	fmuls f0, f1, f0
/* 8021E0F8 00219D58  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 8021E0FC 00219D5C  40 80 00 08 */	bge lbl_8021E104
/* 8021E100 00219D60  D3 E1 00 7C */	stfs f31, 0x7c(r1)
lbl_8021E104:
/* 8021E104 00219D64  C0 21 00 80 */	lfs f1, 0x80(r1)
/* 8021E108 00219D68  C0 1A 00 54 */	lfs f0, 0x54(r26)
/* 8021E10C 00219D6C  EC 01 00 32 */	fmuls f0, f1, f0
/* 8021E110 00219D70  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 8021E114 00219D74  40 80 00 08 */	bge lbl_8021E11C
/* 8021E118 00219D78  D3 E1 00 80 */	stfs f31, 0x80(r1)
lbl_8021E11C:
/* 8021E11C 00219D7C  38 61 00 78 */	addi r3, r1, 0x78
/* 8021E120 00219D80  C0 3A 00 58 */	lfs f1, 0x58(r26)
/* 8021E124 00219D84  7C 64 1B 78 */	mr r4, r3
/* 8021E128 00219D88  48 05 EB E5 */	bl PSVECScale
/* 8021E12C 00219D8C  C0 3A 00 24 */	lfs f1, 0x24(r26)
/* 8021E130 00219D90  38 7A 00 5C */	addi r3, r26, 0x5c
/* 8021E134 00219D94  38 81 00 38 */	addi r4, r1, 0x38
/* 8021E138 00219D98  48 05 EB D5 */	bl PSVECScale
/* 8021E13C 00219D9C  38 61 00 78 */	addi r3, r1, 0x78
/* 8021E140 00219DA0  38 81 00 38 */	addi r4, r1, 0x38
/* 8021E144 00219DA4  7C 65 1B 78 */	mr r5, r3
/* 8021E148 00219DA8  48 05 EB 7D */	bl PSVECAdd
/* 8021E14C 00219DAC  FC 20 F0 90 */	fmr f1, f30
/* 8021E150 00219DB0  38 61 00 78 */	addi r3, r1, 0x78
/* 8021E154 00219DB4  38 81 00 2C */	addi r4, r1, 0x2c
/* 8021E158 00219DB8  48 05 EB B5 */	bl PSVECScale
/* 8021E15C 00219DBC  38 7F 00 20 */	addi r3, r31, 0x20
/* 8021E160 00219DC0  38 81 00 2C */	addi r4, r1, 0x2c
/* 8021E164 00219DC4  7C 65 1B 78 */	mr r5, r3
/* 8021E168 00219DC8  48 05 EB 5D */	bl PSVECAdd
/* 8021E16C 00219DCC  C0 3A 00 48 */	lfs f1, 0x48(r26)
/* 8021E170 00219DD0  7F E3 FB 78 */	mr r3, r31
/* 8021E174 00219DD4  C0 1A 00 24 */	lfs f0, 0x24(r26)
/* 8021E178 00219DD8  38 81 00 20 */	addi r4, r1, 0x20
/* 8021E17C 00219DDC  EC 21 00 32 */	fmuls f1, f1, f0
/* 8021E180 00219DE0  48 05 EB 8D */	bl PSVECScale
/* 8021E184 00219DE4  38 7F 00 20 */	addi r3, r31, 0x20
/* 8021E188 00219DE8  38 81 00 20 */	addi r4, r1, 0x20
/* 8021E18C 00219DEC  38 A1 00 6C */	addi r5, r1, 0x6c
/* 8021E190 00219DF0  48 05 EB 35 */	bl PSVECAdd
/* 8021E194 00219DF4  C0 1F 00 14 */	lfs f0, 0x14(r31)
/* 8021E198 00219DF8  FC 20 F0 90 */	fmr f1, f30
/* 8021E19C 00219DFC  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021E1A0 00219E00  38 81 00 14 */	addi r4, r1, 0x14
/* 8021E1A4 00219E04  D0 01 00 60 */	stfs f0, 0x60(r1)
/* 8021E1A8 00219E08  C0 1F 00 18 */	lfs f0, 0x18(r31)
/* 8021E1AC 00219E0C  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 8021E1B0 00219E10  C0 1F 00 1C */	lfs f0, 0x1c(r31)
/* 8021E1B4 00219E14  D0 01 00 68 */	stfs f0, 0x68(r1)
/* 8021E1B8 00219E18  48 05 EB 55 */	bl PSVECScale
/* 8021E1BC 00219E1C  38 7F 00 14 */	addi r3, r31, 0x14
/* 8021E1C0 00219E20  38 81 00 14 */	addi r4, r1, 0x14
/* 8021E1C4 00219E24  7C 65 1B 78 */	mr r5, r3
/* 8021E1C8 00219E28  48 05 EA FD */	bl PSVECAdd
/* 8021E1CC 00219E2C  88 1A 00 1E */	lbz r0, 0x1e(r26)
/* 8021E1D0 00219E30  2C 00 00 00 */	cmpwi r0, 0
/* 8021E1D4 00219E34  41 82 00 38 */	beq lbl_8021E20C
/* 8021E1D8 00219E38  C0 3F 00 18 */	lfs f1, 0x18(r31)
/* 8021E1DC 00219E3C  C0 1A 00 44 */	lfs f0, 0x44(r26)
/* 8021E1E0 00219E40  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8021E1E4 00219E44  4C 40 13 82 */	cror 2, 0, 2
/* 8021E1E8 00219E48  40 82 00 24 */	bne lbl_8021E20C
/* 8021E1EC 00219E4C  EC 00 08 28 */	fsubs f0, f0, f1
/* 8021E1F0 00219E50  D0 1F 00 18 */	stfs f0, 0x18(r31)
/* 8021E1F4 00219E54  C0 1F 00 24 */	lfs f0, 0x24(r31)
/* 8021E1F8 00219E58  FC 00 00 50 */	fneg f0, f0
/* 8021E1FC 00219E5C  D0 1F 00 24 */	stfs f0, 0x24(r31)
/* 8021E200 00219E60  C0 1F 00 04 */	lfs f0, 4(r31)
/* 8021E204 00219E64  FC 00 00 50 */	fneg f0, f0
/* 8021E208 00219E68  D0 1F 00 04 */	stfs f0, 4(r31)
lbl_8021E20C:
/* 8021E20C 00219E6C  FC 20 F0 90 */	fmr f1, f30
/* 8021E210 00219E70  38 7F 00 2C */	addi r3, r31, 0x2c
/* 8021E214 00219E74  38 81 00 08 */	addi r4, r1, 8
/* 8021E218 00219E78  48 05 EA F5 */	bl PSVECScale
/* 8021E21C 00219E7C  38 61 00 50 */	addi r3, r1, 0x50
/* 8021E220 00219E80  38 81 00 08 */	addi r4, r1, 8
/* 8021E224 00219E84  48 00 54 9D */	bl func_802236C0
/* 8021E228 00219E88  A3 BF 00 10 */	lhz r29, 0x10(r31)
/* 8021E22C 00219E8C  3B 60 00 00 */	li r27, 0
/* 8021E230 00219E90  83 9F 00 0C */	lwz r28, 0xc(r31)
/* 8021E234 00219E94  48 00 00 38 */	b lbl_8021E26C
lbl_8021E238:
/* 8021E238 00219E98  7F 83 E3 78 */	mr r3, r28
/* 8021E23C 00219E9C  7F 85 E3 78 */	mr r5, r28
/* 8021E240 00219EA0  38 81 00 60 */	addi r4, r1, 0x60
/* 8021E244 00219EA4  48 05 EA A5 */	bl PSVECSubtract
/* 8021E248 00219EA8  7F 83 E3 78 */	mr r3, r28
/* 8021E24C 00219EAC  38 81 00 50 */	addi r4, r1, 0x50
/* 8021E250 00219EB0  48 00 57 BD */	bl func_80223A0C
/* 8021E254 00219EB4  7F 83 E3 78 */	mr r3, r28
/* 8021E258 00219EB8  7F 85 E3 78 */	mr r5, r28
/* 8021E25C 00219EBC  38 9F 00 14 */	addi r4, r31, 0x14
/* 8021E260 00219EC0  48 05 EA 65 */	bl PSVECAdd
/* 8021E264 00219EC4  3B 7B 00 01 */	addi r27, r27, 1
/* 8021E268 00219EC8  3B 9C 00 0C */	addi r28, r28, 0xc
lbl_8021E26C:
/* 8021E26C 00219ECC  57 60 04 3E */	clrlwi r0, r27, 0x10
/* 8021E270 00219ED0  7C 00 E8 40 */	cmplw r0, r29
/* 8021E274 00219ED4  41 80 FF C4 */	blt lbl_8021E238
lbl_8021E278:
/* 8021E278 00219ED8  3B DE 00 01 */	addi r30, r30, 1
/* 8021E27C 00219EDC  3B FF 00 3C */	addi r31, r31, 0x3c
lbl_8021E280:
/* 8021E280 00219EE0  A0 1A 00 1C */	lhz r0, 0x1c(r26)
/* 8021E284 00219EE4  57 C3 04 3E */	clrlwi r3, r30, 0x10
/* 8021E288 00219EE8  7C 03 00 40 */	cmplw r3, r0
/* 8021E28C 00219EEC  41 80 FE 0C */	blt lbl_8021E098
/* 8021E290 00219EF0  38 60 00 01 */	li r3, 1
lbl_8021E294:
/* 8021E294 00219EF4  E3 E1 00 B8 */	psq_l f31, 184(r1), 0, qr0
/* 8021E298 00219EF8  CB E1 00 B0 */	lfd f31, 0xb0(r1)
/* 8021E29C 00219EFC  E3 C1 00 A8 */	psq_l f30, 168(r1), 0, qr0
/* 8021E2A0 00219F00  39 61 00 A0 */	addi r11, r1, 0xa0
/* 8021E2A4 00219F04  CB C1 00 A0 */	lfd f30, 0xa0(r1)
/* 8021E2A8 00219F08  4B FA 8E C9 */	bl _restgpr_26
/* 8021E2AC 00219F0C  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 8021E2B0 00219F10  7C 08 03 A6 */	mtlr r0
/* 8021E2B4 00219F14  38 21 00 C0 */	addi r1, r1, 0xc0
/* 8021E2B8 00219F18  4E 80 00 20 */	blr
/* 8021E2BC 00219F1C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8021E2C0 00219F20  7C 08 02 A6 */	mflr r0
/* 8021E2C4 00219F24  90 01 00 44 */	stw r0, 0x44(r1)
/* 8021E2C8 00219F28  39 61 00 40 */	addi r11, r1, 0x40
/* 8021E2CC 00219F2C  4B FA 8E 55 */	bl _savegpr_25
/* 8021E2D0 00219F30  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021E2D4 00219F34  7C 7A 1B 78 */	mr r26, r3
/* 8021E2D8 00219F38  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021E2DC 00219F3C  88 85 0A 87 */	lbz r4, 0xa87(r5)
/* 8021E2E0 00219F40  7C 04 00 D0 */	neg r0, r4
/* 8021E2E4 00219F44  7C 00 23 78 */	or r0, r0, r4
/* 8021E2E8 00219F48  54 1B 0F FF */	rlwinm. r27, r0, 1, 0x1f, 0x1f
/* 8021E2EC 00219F4C  41 82 00 2C */	beq lbl_8021E318
/* 8021E2F0 00219F50  38 00 00 00 */	li r0, 0
/* 8021E2F4 00219F54  98 05 0A 87 */	stb r0, 0xa87(r5)
/* 8021E2F8 00219F58  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021E2FC 00219F5C  80 04 00 64 */	lwz r0, 0x64(r4)
/* 8021E300 00219F60  60 00 00 40 */	ori r0, r0, 0x40
/* 8021E304 00219F64  90 04 00 64 */	stw r0, 0x64(r4)
/* 8021E308 00219F68  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021E30C 00219F6C  80 04 00 00 */	lwz r0, 0(r4)
/* 8021E310 00219F70  60 00 00 40 */	ori r0, r0, 0x40
/* 8021E314 00219F74  90 04 00 00 */	stw r0, 0(r4)
lbl_8021E318:
/* 8021E318 00219F78  88 03 00 1F */	lbz r0, 0x1f(r3)
/* 8021E31C 00219F7C  88 C3 00 28 */	lbz r6, 0x28(r3)
/* 8021E320 00219F80  88 A3 00 29 */	lbz r5, 0x29(r3)
/* 8021E324 00219F84  2C 00 00 00 */	cmpwi r0, 0
/* 8021E328 00219F88  88 83 00 2A */	lbz r4, 0x2a(r3)
/* 8021E32C 00219F8C  88 03 00 2B */	lbz r0, 0x2b(r3)
/* 8021E330 00219F90  98 C1 00 18 */	stb r6, 0x18(r1)
/* 8021E334 00219F94  98 A1 00 19 */	stb r5, 0x19(r1)
/* 8021E338 00219F98  98 81 00 1A */	stb r4, 0x1a(r1)
/* 8021E33C 00219F9C  98 01 00 1B */	stb r0, 0x1b(r1)
/* 8021E340 00219FA0  41 82 00 38 */	beq lbl_8021E378
/* 8021E344 00219FA4  98 01 00 10 */	stb r0, 0x10(r1)
/* 8021E348 00219FA8  E0 61 A0 10 */	psq_l f3, 16(r1), 1, qr2
/* 8021E34C 00219FAC  C0 43 00 68 */	lfs f2, 0x68(r3)
/* 8021E350 00219FB0  C0 03 00 6C */	lfs f0, 0x6c(r3)
/* 8021E354 00219FB4  C0 22 9B 80 */	lfs f1, lbl_80642180-_SDA2_BASE_(r2)
/* 8021E358 00219FB8  EC 42 00 24 */	fdivs f2, f2, f0
/* 8021E35C 00219FBC  C0 02 9B B0 */	lfs f0, lbl_806421B0-_SDA2_BASE_(r2)
/* 8021E360 00219FC0  EC 21 10 28 */	fsubs f1, f1, f2
/* 8021E364 00219FC4  EC 23 00 72 */	fmuls f1, f3, f1
/* 8021E368 00219FC8  EC 00 08 2A */	fadds f0, f0, f1
/* 8021E36C 00219FCC  F0 01 A0 14 */	psq_st f0, 20(r1), 1, qr2
/* 8021E370 00219FD0  88 01 00 14 */	lbz r0, 0x14(r1)
/* 8021E374 00219FD4  98 01 00 1B */	stb r0, 0x1b(r1)
lbl_8021E378:
/* 8021E378 00219FD8  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021E37C 00219FDC  3B 80 00 00 */	li r28, 0
/* 8021E380 00219FE0  3B A0 00 01 */	li r29, 1
/* 8021E384 00219FE4  3B C0 00 04 */	li r30, 4
/* 8021E388 00219FE8  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021E38C 00219FEC  38 A0 00 05 */	li r5, 5
/* 8021E390 00219FF0  38 80 00 03 */	li r4, 3
/* 8021E394 00219FF4  38 00 00 07 */	li r0, 7
/* 8021E398 00219FF8  93 83 01 84 */	stw r28, 0x184(r3)
/* 8021E39C 00219FFC  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E3A0 0021A000  80 66 00 10 */	lwz r3, 0x10(r6)
/* 8021E3A4 0021A004  60 63 00 02 */	ori r3, r3, 2
/* 8021E3A8 0021A008  90 66 00 10 */	stw r3, 0x10(r6)
/* 8021E3AC 0021A00C  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E3B0 0021A010  80 66 00 00 */	lwz r3, 0(r6)
/* 8021E3B4 0021A014  60 63 00 02 */	ori r3, r3, 2
/* 8021E3B8 0021A018  90 66 00 00 */	stw r3, 0(r6)
/* 8021E3BC 0021A01C  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021E3C0 0021A020  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021E3C4 0021A024  93 83 01 88 */	stw r28, 0x188(r3)
/* 8021E3C8 0021A028  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E3CC 0021A02C  80 66 00 10 */	lwz r3, 0x10(r6)
/* 8021E3D0 0021A030  60 63 00 04 */	ori r3, r3, 4
/* 8021E3D4 0021A034  90 66 00 10 */	stw r3, 0x10(r6)
/* 8021E3D8 0021A038  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E3DC 0021A03C  80 66 00 00 */	lwz r3, 0(r6)
/* 8021E3E0 0021A040  60 63 00 02 */	ori r3, r3, 2
/* 8021E3E4 0021A044  90 66 00 00 */	stw r3, 0(r6)
/* 8021E3E8 0021A048  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021E3EC 0021A04C  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021E3F0 0021A050  9B A3 0A 36 */	stb r29, 0xa36(r3)
/* 8021E3F4 0021A054  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021E3F8 0021A058  9B 83 0A 37 */	stb r28, 0xa37(r3)
/* 8021E3FC 0021A05C  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021E400 0021A060  9B 83 0A 38 */	stb r28, 0xa38(r3)
/* 8021E404 0021A064  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E408 0021A068  80 66 00 64 */	lwz r3, 0x64(r6)
/* 8021E40C 0021A06C  60 63 00 04 */	ori r3, r3, 4
/* 8021E410 0021A070  90 66 00 64 */	stw r3, 0x64(r6)
/* 8021E414 0021A074  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E418 0021A078  80 66 00 00 */	lwz r3, 0(r6)
/* 8021E41C 0021A07C  60 63 00 40 */	ori r3, r3, 0x40
/* 8021E420 0021A080  90 66 00 00 */	stw r3, 0(r6)
/* 8021E424 0021A084  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021E428 0021A088  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021E42C 0021A08C  93 A3 0A 24 */	stw r29, 0xa24(r3)
/* 8021E430 0021A090  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021E434 0021A094  93 C3 0A 28 */	stw r30, 0xa28(r3)
/* 8021E438 0021A098  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021E43C 0021A09C  90 A3 0A 2C */	stw r5, 0xa2c(r3)
/* 8021E440 0021A0A0  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021E444 0021A0A4  90 A3 0A 30 */	stw r5, 0xa30(r3)
/* 8021E448 0021A0A8  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021E44C 0021A0AC  80 65 00 64 */	lwz r3, 0x64(r5)
/* 8021E450 0021A0B0  60 63 00 01 */	ori r3, r3, 1
/* 8021E454 0021A0B4  90 65 00 64 */	stw r3, 0x64(r5)
/* 8021E458 0021A0B8  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021E45C 0021A0BC  80 65 00 00 */	lwz r3, 0(r5)
/* 8021E460 0021A0C0  60 63 00 40 */	ori r3, r3, 0x40
/* 8021E464 0021A0C4  90 65 00 00 */	stw r3, 0(r5)
/* 8021E468 0021A0C8  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021E46C 0021A0CC  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E470 0021A0D0  9B A3 0A 3C */	stb r29, 0xa3c(r3)
/* 8021E474 0021A0D4  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E478 0021A0D8  90 83 0A 40 */	stw r4, 0xa40(r3)
/* 8021E47C 0021A0DC  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E480 0021A0E0  80 64 00 64 */	lwz r3, 0x64(r4)
/* 8021E484 0021A0E4  60 63 00 08 */	ori r3, r3, 8
/* 8021E488 0021A0E8  90 64 00 64 */	stw r3, 0x64(r4)
/* 8021E48C 0021A0EC  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E490 0021A0F0  80 64 00 00 */	lwz r3, 0(r4)
/* 8021E494 0021A0F4  60 63 00 40 */	ori r3, r3, 0x40
/* 8021E498 0021A0F8  90 64 00 00 */	stw r3, 0(r4)
/* 8021E49C 0021A0FC  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021E4A0 0021A100  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E4A4 0021A104  90 03 0A 44 */	stw r0, 0xa44(r3)
/* 8021E4A8 0021A108  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E4AC 0021A10C  9B 83 0A 50 */	stb r28, 0xa50(r3)
/* 8021E4B0 0021A110  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E4B4 0021A114  93 83 0A 48 */	stw r28, 0xa48(r3)
/* 8021E4B8 0021A118  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E4BC 0021A11C  90 03 0A 4C */	stw r0, 0xa4c(r3)
/* 8021E4C0 0021A120  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E4C4 0021A124  9B 83 0A 51 */	stb r28, 0xa51(r3)
/* 8021E4C8 0021A128  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021E4CC 0021A12C  9B A3 0A 52 */	stb r29, 0xa52(r3)
/* 8021E4D0 0021A130  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E4D4 0021A134  3B E0 00 FF */	li r31, 0xff
/* 8021E4D8 0021A138  38 60 00 00 */	li r3, 0
/* 8021E4DC 0021A13C  80 04 00 64 */	lwz r0, 0x64(r4)
/* 8021E4E0 0021A140  60 00 00 10 */	ori r0, r0, 0x10
/* 8021E4E4 0021A144  90 04 00 64 */	stw r0, 0x64(r4)
/* 8021E4E8 0021A148  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E4EC 0021A14C  80 04 00 00 */	lwz r0, 0(r4)
/* 8021E4F0 0021A150  60 00 00 40 */	ori r0, r0, 0x40
/* 8021E4F4 0021A154  90 04 00 00 */	stw r0, 0(r4)
/* 8021E4F8 0021A158  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021E4FC 0021A15C  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E500 0021A160  9B 84 0A 34 */	stb r28, 0xa34(r4)
/* 8021E504 0021A164  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E508 0021A168  9B E4 0A 35 */	stb r31, 0xa35(r4)
/* 8021E50C 0021A16C  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E510 0021A170  80 04 00 64 */	lwz r0, 0x64(r4)
/* 8021E514 0021A174  60 00 00 02 */	ori r0, r0, 2
/* 8021E518 0021A178  90 04 00 64 */	stw r0, 0x64(r4)
/* 8021E51C 0021A17C  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021E520 0021A180  80 04 00 00 */	lwz r0, 0(r4)
/* 8021E524 0021A184  60 00 00 40 */	ori r0, r0, 0x40
/* 8021E528 0021A188  90 04 00 00 */	stw r0, 0(r4)
/* 8021E52C 0021A18C  48 01 E9 F1 */	bl func_8023CF1C
/* 8021E530 0021A190  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021E534 0021A194  38 80 00 00 */	li r4, 0
/* 8021E538 0021A198  80 01 00 18 */	lwz r0, 0x18(r1)
/* 8021E53C 0021A19C  38 C0 00 00 */	li r6, 0
/* 8021E540 0021A1A0  90 65 17 3C */	stw r3, 0x173c(r5)
/* 8021E544 0021A1A4  38 A0 00 03 */	li r5, 3
/* 8021E548 0021A1A8  38 E0 00 00 */	li r7, 0
/* 8021E54C 0021A1AC  39 00 00 00 */	li r8, 0
/* 8021E550 0021A1B0  81 6D A3 D8 */	lwz r11, render_context_ptr-_SDA_BASE_(r13)
/* 8021E554 0021A1B4  39 20 00 00 */	li r9, 0
/* 8021E558 0021A1B8  39 40 00 02 */	li r10, 2
/* 8021E55C 0021A1BC  80 6B 16 38 */	lwz r3, 0x1638(r11)
/* 8021E560 0021A1C0  90 03 02 70 */	stw r0, 0x270(r3)
/* 8021E564 0021A1C4  80 6B 16 38 */	lwz r3, 0x1638(r11)
/* 8021E568 0021A1C8  90 03 02 78 */	stw r0, 0x278(r3)
/* 8021E56C 0021A1CC  80 6B 16 38 */	lwz r3, 0x1638(r11)
/* 8021E570 0021A1D0  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 8021E574 0021A1D4  60 00 00 01 */	ori r0, r0, 1
/* 8021E578 0021A1D8  90 03 00 1C */	stw r0, 0x1c(r3)
/* 8021E57C 0021A1DC  80 6B 16 38 */	lwz r3, 0x1638(r11)
/* 8021E580 0021A1E0  80 03 00 20 */	lwz r0, 0x20(r3)
/* 8021E584 0021A1E4  60 00 00 01 */	ori r0, r0, 1
/* 8021E588 0021A1E8  90 03 00 20 */	stw r0, 0x20(r3)
/* 8021E58C 0021A1EC  80 6B 16 38 */	lwz r3, 0x1638(r11)
/* 8021E590 0021A1F0  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E594 0021A1F4  60 00 00 04 */	ori r0, r0, 4
/* 8021E598 0021A1F8  90 03 00 00 */	stw r0, 0(r3)
/* 8021E59C 0021A1FC  93 81 00 08 */	stw r28, 8(r1)
/* 8021E5A0 0021A200  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021E5A4 0021A204  48 01 51 E9 */	bl func_8023378C
/* 8021E5A8 0021A208  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E5AC 0021A20C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E5B0 0021A210  9B A3 01 8C */	stb r29, 0x18c(r3)
/* 8021E5B4 0021A214  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E5B8 0021A218  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8021E5BC 0021A21C  60 00 00 01 */	ori r0, r0, 1
/* 8021E5C0 0021A220  90 03 00 14 */	stw r0, 0x14(r3)
/* 8021E5C4 0021A224  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E5C8 0021A228  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E5CC 0021A22C  60 00 00 04 */	ori r0, r0, 4
/* 8021E5D0 0021A230  90 03 00 00 */	stw r0, 0(r3)
/* 8021E5D4 0021A234  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E5D8 0021A238  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E5DC 0021A23C  9B 83 00 68 */	stb r28, 0x68(r3)
/* 8021E5E0 0021A240  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E5E4 0021A244  80 03 00 04 */	lwz r0, 4(r3)
/* 8021E5E8 0021A248  60 00 00 01 */	ori r0, r0, 1
/* 8021E5EC 0021A24C  90 03 00 04 */	stw r0, 4(r3)
/* 8021E5F0 0021A250  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E5F4 0021A254  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E5F8 0021A258  60 00 00 01 */	ori r0, r0, 1
/* 8021E5FC 0021A25C  90 03 00 00 */	stw r0, 0(r3)
/* 8021E600 0021A260  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E604 0021A264  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E608 0021A268  9B A3 02 80 */	stb r29, 0x280(r3)
/* 8021E60C 0021A26C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E610 0021A270  80 03 00 24 */	lwz r0, 0x24(r3)
/* 8021E614 0021A274  60 00 00 01 */	ori r0, r0, 1
/* 8021E618 0021A278  90 03 00 24 */	stw r0, 0x24(r3)
/* 8021E61C 0021A27C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E620 0021A280  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E624 0021A284  60 00 00 08 */	ori r0, r0, 8
/* 8021E628 0021A288  90 03 00 00 */	stw r0, 0(r3)
/* 8021E62C 0021A28C  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E630 0021A290  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E634 0021A294  9B 83 08 90 */	stb r28, 0x890(r3)
/* 8021E638 0021A298  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E63C 0021A29C  80 03 00 44 */	lwz r0, 0x44(r3)
/* 8021E640 0021A2A0  60 00 00 01 */	ori r0, r0, 1
/* 8021E644 0021A2A4  90 03 00 44 */	stw r0, 0x44(r3)
/* 8021E648 0021A2A8  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E64C 0021A2AC  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E650 0021A2B0  60 00 00 80 */	ori r0, r0, 0x80
/* 8021E654 0021A2B4  90 03 00 00 */	stw r0, 0(r3)
/* 8021E658 0021A2B8  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E65C 0021A2BC  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E660 0021A2C0  93 83 09 64 */	stw r28, 0x964(r3)
/* 8021E664 0021A2C4  93 83 09 68 */	stw r28, 0x968(r3)
/* 8021E668 0021A2C8  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E66C 0021A2CC  80 03 00 5C */	lwz r0, 0x5c(r3)
/* 8021E670 0021A2D0  60 00 00 01 */	ori r0, r0, 1
/* 8021E674 0021A2D4  90 03 00 5C */	stw r0, 0x5c(r3)
/* 8021E678 0021A2D8  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E67C 0021A2DC  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E680 0021A2E0  60 00 00 20 */	ori r0, r0, 0x20
/* 8021E684 0021A2E4  90 03 00 00 */	stw r0, 0(r3)
/* 8021E688 0021A2E8  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E68C 0021A2EC  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E690 0021A2F0  93 E3 02 84 */	stw r31, 0x284(r3)
/* 8021E694 0021A2F4  93 E3 02 88 */	stw r31, 0x288(r3)
/* 8021E698 0021A2F8  93 C3 02 8C */	stw r30, 0x28c(r3)
/* 8021E69C 0021A2FC  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E6A0 0021A300  80 03 00 28 */	lwz r0, 0x28(r3)
/* 8021E6A4 0021A304  60 00 00 01 */	ori r0, r0, 1
/* 8021E6A8 0021A308  90 03 00 28 */	stw r0, 0x28(r3)
/* 8021E6AC 0021A30C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E6B0 0021A310  80 03 00 00 */	lwz r0, 0(r3)
/* 8021E6B4 0021A314  60 00 00 08 */	ori r0, r0, 8
/* 8021E6B8 0021A318  90 03 00 00 */	stw r0, 0(r3)
/* 8021E6BC 0021A31C  81 6D A3 D8 */	lwz r11, render_context_ptr-_SDA_BASE_(r13)
/* 8021E6C0 0021A320  80 6B 16 38 */	lwz r3, 0x1638(r11)
/* 8021E6C4 0021A324  80 03 07 F4 */	lwz r0, 0x7f4(r3)
/* 8021E6C8 0021A328  2C 00 00 07 */	cmpwi r0, 7
/* 8021E6CC 0021A32C  41 82 00 08 */	beq lbl_8021E6D4
/* 8021E6D0 0021A330  93 83 07 F4 */	stw r28, 0x7f4(r3)
lbl_8021E6D4:
/* 8021E6D4 0021A334  81 0B 16 38 */	lwz r8, 0x1638(r11)
/* 8021E6D8 0021A338  39 40 00 00 */	li r10, 0
/* 8021E6DC 0021A33C  39 20 00 01 */	li r9, 1
/* 8021E6E0 0021A340  38 C0 00 0F */	li r6, 0xf
/* 8021E6E4 0021A344  80 08 00 40 */	lwz r0, 0x40(r8)
/* 8021E6E8 0021A348  38 A0 00 0A */	li r5, 0xa
/* 8021E6EC 0021A34C  38 80 00 07 */	li r4, 7
/* 8021E6F0 0021A350  38 60 00 05 */	li r3, 5
/* 8021E6F4 0021A354  60 07 00 01 */	ori r7, r0, 1
/* 8021E6F8 0021A358  38 00 00 A0 */	li r0, 0xa0
/* 8021E6FC 0021A35C  90 E8 00 40 */	stw r7, 0x40(r8)
/* 8021E700 0021A360  3B 80 00 00 */	li r28, 0
/* 8021E704 0021A364  3F C0 CC 01 */	lis r30, 0xcc01
/* 8021E708 0021A368  3B A0 FF FF */	li r29, -1
/* 8021E70C 0021A36C  81 0B 16 38 */	lwz r8, 0x1638(r11)
/* 8021E710 0021A370  80 E8 00 00 */	lwz r7, 0(r8)
/* 8021E714 0021A374  60 E7 00 08 */	ori r7, r7, 8
/* 8021E718 0021A378  90 E8 00 00 */	stw r7, 0(r8)
/* 8021E71C 0021A37C  81 6D A3 D8 */	lwz r11, render_context_ptr-_SDA_BASE_(r13)
/* 8021E720 0021A380  80 EB 16 38 */	lwz r7, 0x1638(r11)
/* 8021E724 0021A384  91 47 05 44 */	stw r10, 0x544(r7)
/* 8021E728 0021A388  91 47 05 48 */	stw r10, 0x548(r7)
/* 8021E72C 0021A38C  91 47 05 4C */	stw r10, 0x54c(r7)
/* 8021E730 0021A390  99 27 05 50 */	stb r9, 0x550(r7)
/* 8021E734 0021A394  91 47 05 54 */	stw r10, 0x554(r7)
/* 8021E738 0021A398  81 0B 16 38 */	lwz r8, 0x1638(r11)
/* 8021E73C 0021A39C  80 E8 00 34 */	lwz r7, 0x34(r8)
/* 8021E740 0021A3A0  60 E7 00 01 */	ori r7, r7, 1
/* 8021E744 0021A3A4  90 E8 00 34 */	stw r7, 0x34(r8)
/* 8021E748 0021A3A8  81 0B 16 38 */	lwz r8, 0x1638(r11)
/* 8021E74C 0021A3AC  80 E8 00 00 */	lwz r7, 0(r8)
/* 8021E750 0021A3B0  60 E7 00 08 */	ori r7, r7, 8
/* 8021E754 0021A3B4  90 E8 00 00 */	stw r7, 0(r8)
/* 8021E758 0021A3B8  81 0D A3 D8 */	lwz r8, render_context_ptr-_SDA_BASE_(r13)
/* 8021E75C 0021A3BC  80 E8 16 38 */	lwz r7, 0x1638(r8)
/* 8021E760 0021A3C0  90 C7 03 44 */	stw r6, 0x344(r7)
/* 8021E764 0021A3C4  90 C7 03 48 */	stw r6, 0x348(r7)
/* 8021E768 0021A3C8  90 C7 03 4C */	stw r6, 0x34c(r7)
/* 8021E76C 0021A3CC  90 A7 03 50 */	stw r5, 0x350(r7)
/* 8021E770 0021A3D0  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021E774 0021A3D4  80 A6 00 2C */	lwz r5, 0x2c(r6)
/* 8021E778 0021A3D8  60 A5 00 01 */	ori r5, r5, 1
/* 8021E77C 0021A3DC  90 A6 00 2C */	stw r5, 0x2c(r6)
/* 8021E780 0021A3E0  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021E784 0021A3E4  80 A6 00 00 */	lwz r5, 0(r6)
/* 8021E788 0021A3E8  60 A5 00 08 */	ori r5, r5, 8
/* 8021E78C 0021A3EC  90 A6 00 00 */	stw r5, 0(r6)
/* 8021E790 0021A3F0  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021E794 0021A3F4  80 A7 16 38 */	lwz r5, 0x1638(r7)
/* 8021E798 0021A3F8  91 45 06 84 */	stw r10, 0x684(r5)
/* 8021E79C 0021A3FC  91 45 06 88 */	stw r10, 0x688(r5)
/* 8021E7A0 0021A400  91 45 06 8C */	stw r10, 0x68c(r5)
/* 8021E7A4 0021A404  99 25 06 90 */	stb r9, 0x690(r5)
/* 8021E7A8 0021A408  91 45 06 94 */	stw r10, 0x694(r5)
/* 8021E7AC 0021A40C  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E7B0 0021A410  80 A6 00 38 */	lwz r5, 0x38(r6)
/* 8021E7B4 0021A414  60 A5 00 01 */	ori r5, r5, 1
/* 8021E7B8 0021A418  90 A6 00 38 */	stw r5, 0x38(r6)
/* 8021E7BC 0021A41C  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021E7C0 0021A420  80 A6 00 00 */	lwz r5, 0(r6)
/* 8021E7C4 0021A424  60 A5 00 08 */	ori r5, r5, 8
/* 8021E7C8 0021A428  90 A6 00 00 */	stw r5, 0(r6)
/* 8021E7CC 0021A42C  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021E7D0 0021A430  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021E7D4 0021A434  90 85 04 44 */	stw r4, 0x444(r5)
/* 8021E7D8 0021A438  90 85 04 48 */	stw r4, 0x448(r5)
/* 8021E7DC 0021A43C  90 85 04 4C */	stw r4, 0x44c(r5)
/* 8021E7E0 0021A440  90 65 04 50 */	stw r3, 0x450(r5)
/* 8021E7E4 0021A444  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021E7E8 0021A448  80 64 00 30 */	lwz r3, 0x30(r4)
/* 8021E7EC 0021A44C  60 63 00 01 */	ori r3, r3, 1
/* 8021E7F0 0021A450  90 64 00 30 */	stw r3, 0x30(r4)
/* 8021E7F4 0021A454  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021E7F8 0021A458  80 64 00 00 */	lwz r3, 0(r4)
/* 8021E7FC 0021A45C  60 63 00 08 */	ori r3, r3, 8
/* 8021E800 0021A460  90 64 00 00 */	stw r3, 0(r4)
/* 8021E804 0021A464  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021E808 0021A468  90 03 17 38 */	stw r0, 0x1738(r3)
/* 8021E80C 0021A46C  83 FA 00 14 */	lwz r31, 0x14(r26)
/* 8021E810 0021A470  48 00 01 88 */	b lbl_8021E998
lbl_8021E814:
/* 8021E814 0021A474  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8021E818 0021A478  2C 00 00 00 */	cmpwi r0, 0
/* 8021E81C 0021A47C  41 82 01 74 */	beq lbl_8021E990
/* 8021E820 0021A480  A3 3F 00 10 */	lhz r25, 0x10(r31)
/* 8021E824 0021A484  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021E828 0021A488  7F 24 CB 78 */	mr r4, r25
/* 8021E82C 0021A48C  48 01 4D 01 */	bl begin_drawing
/* 8021E830 0021A490  2C 19 00 00 */	cmpwi r25, 0
/* 8021E834 0021A494  80 9F 00 0C */	lwz r4, 0xc(r31)
/* 8021E838 0021A498  38 A0 00 00 */	li r5, 0
/* 8021E83C 0021A49C  41 82 01 4C */	beq lbl_8021E988
/* 8021E840 0021A4A0  28 19 00 08 */	cmplwi r25, 8
/* 8021E844 0021A4A4  3C 79 00 01 */	addis r3, r25, 1
/* 8021E848 0021A4A8  38 63 FF F8 */	addi r3, r3, -8
/* 8021E84C 0021A4AC  40 81 01 30 */	ble lbl_8021E97C
/* 8021E850 0021A4B0  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8021E854 0021A4B4  38 03 00 07 */	addi r0, r3, 7
/* 8021E858 0021A4B8  54 00 E8 FE */	srwi r0, r0, 3
/* 8021E85C 0021A4BC  7C 09 03 A6 */	mtctr r0
/* 8021E860 0021A4C0  28 03 00 00 */	cmplwi r3, 0
/* 8021E864 0021A4C4  40 81 01 18 */	ble lbl_8021E97C
lbl_8021E868:
/* 8021E868 0021A4C8  C0 04 00 08 */	lfs f0, 8(r4)
/* 8021E86C 0021A4CC  38 A5 00 08 */	addi r5, r5, 8
/* 8021E870 0021A4D0  C0 24 00 04 */	lfs f1, 4(r4)
/* 8021E874 0021A4D4  C0 44 00 00 */	lfs f2, 0(r4)
/* 8021E878 0021A4D8  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E87C 0021A4DC  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E880 0021A4E0  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E884 0021A4E4  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E888 0021A4E8  C0 04 00 14 */	lfs f0, 0x14(r4)
/* 8021E88C 0021A4EC  C0 24 00 10 */	lfs f1, 0x10(r4)
/* 8021E890 0021A4F0  C0 44 00 0C */	lfs f2, 0xc(r4)
/* 8021E894 0021A4F4  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E898 0021A4F8  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E89C 0021A4FC  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E8A0 0021A500  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E8A4 0021A504  C0 04 00 20 */	lfs f0, 0x20(r4)
/* 8021E8A8 0021A508  C0 24 00 1C */	lfs f1, 0x1c(r4)
/* 8021E8AC 0021A50C  C0 44 00 18 */	lfs f2, 0x18(r4)
/* 8021E8B0 0021A510  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E8B4 0021A514  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E8B8 0021A518  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E8BC 0021A51C  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E8C0 0021A520  C0 04 00 2C */	lfs f0, 0x2c(r4)
/* 8021E8C4 0021A524  C0 24 00 28 */	lfs f1, 0x28(r4)
/* 8021E8C8 0021A528  C0 44 00 24 */	lfs f2, 0x24(r4)
/* 8021E8CC 0021A52C  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E8D0 0021A530  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E8D4 0021A534  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E8D8 0021A538  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E8DC 0021A53C  C0 04 00 38 */	lfs f0, 0x38(r4)
/* 8021E8E0 0021A540  C0 24 00 34 */	lfs f1, 0x34(r4)
/* 8021E8E4 0021A544  C0 44 00 30 */	lfs f2, 0x30(r4)
/* 8021E8E8 0021A548  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E8EC 0021A54C  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E8F0 0021A550  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E8F4 0021A554  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E8F8 0021A558  C0 04 00 44 */	lfs f0, 0x44(r4)
/* 8021E8FC 0021A55C  C0 24 00 40 */	lfs f1, 0x40(r4)
/* 8021E900 0021A560  C0 44 00 3C */	lfs f2, 0x3c(r4)
/* 8021E904 0021A564  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E908 0021A568  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E90C 0021A56C  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E910 0021A570  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E914 0021A574  C0 04 00 50 */	lfs f0, 0x50(r4)
/* 8021E918 0021A578  C0 24 00 4C */	lfs f1, 0x4c(r4)
/* 8021E91C 0021A57C  C0 44 00 48 */	lfs f2, 0x48(r4)
/* 8021E920 0021A580  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E924 0021A584  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E928 0021A588  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E92C 0021A58C  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E930 0021A590  C0 04 00 5C */	lfs f0, 0x5c(r4)
/* 8021E934 0021A594  C0 24 00 58 */	lfs f1, 0x58(r4)
/* 8021E938 0021A598  C0 44 00 54 */	lfs f2, 0x54(r4)
/* 8021E93C 0021A59C  38 84 00 60 */	addi r4, r4, 0x60
/* 8021E940 0021A5A0  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E944 0021A5A4  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E948 0021A5A8  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E94C 0021A5AC  93 BE 80 00 */	stw r29, -0x8000(r30)
/* 8021E950 0021A5B0  42 00 FF 18 */	bdnz lbl_8021E868
/* 8021E954 0021A5B4  48 00 00 28 */	b lbl_8021E97C
lbl_8021E958:
/* 8021E958 0021A5B8  C0 04 00 08 */	lfs f0, 8(r4)
/* 8021E95C 0021A5BC  38 A5 00 01 */	addi r5, r5, 1
/* 8021E960 0021A5C0  C0 24 00 04 */	lfs f1, 4(r4)
/* 8021E964 0021A5C4  C0 44 00 00 */	lfs f2, 0(r4)
/* 8021E968 0021A5C8  38 84 00 0C */	addi r4, r4, 0xc
/* 8021E96C 0021A5CC  D0 5E 80 00 */	stfs f2, -0x8000(r30)
/* 8021E970 0021A5D0  D0 3E 80 00 */	stfs f1, -0x8000(r30)
/* 8021E974 0021A5D4  D0 1E 80 00 */	stfs f0, -0x8000(r30)
/* 8021E978 0021A5D8  93 BE 80 00 */	stw r29, -0x8000(r30)
lbl_8021E97C:
/* 8021E97C 0021A5DC  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 8021E980 0021A5E0  7C 00 C8 40 */	cmplw r0, r25
/* 8021E984 0021A5E4  41 80 FF D4 */	blt lbl_8021E958
lbl_8021E988:
/* 8021E988 0021A5E8  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021E98C 0021A5EC  48 01 4B F5 */	bl end_drawing
lbl_8021E990:
/* 8021E990 0021A5F0  3B 9C 00 01 */	addi r28, r28, 1
/* 8021E994 0021A5F4  3B FF 00 3C */	addi r31, r31, 0x3c
lbl_8021E998:
/* 8021E998 0021A5F8  A0 1A 00 1C */	lhz r0, 0x1c(r26)
/* 8021E99C 0021A5FC  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 8021E9A0 0021A600  7C 03 00 40 */	cmplw r3, r0
/* 8021E9A4 0021A604  41 80 FE 70 */	blt lbl_8021E814
/* 8021E9A8 0021A608  2C 1B 00 00 */	cmpwi r27, 0
/* 8021E9AC 0021A60C  41 82 00 60 */	beq lbl_8021EA0C
/* 8021E9B0 0021A610  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021E9B4 0021A614  38 00 00 01 */	li r0, 1
/* 8021E9B8 0021A618  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E9BC 0021A61C  98 03 0A 87 */	stb r0, 0xa87(r3)
/* 8021E9C0 0021A620  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E9C4 0021A624  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021E9C8 0021A628  60 00 00 40 */	ori r0, r0, 0x40
/* 8021E9CC 0021A62C  90 03 00 64 */	stw r0, 0x64(r3)
/* 8021E9D0 0021A630  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E9D4 0021A634  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021E9D8 0021A638  60 00 02 00 */	ori r0, r0, 0x200
/* 8021E9DC 0021A63C  90 03 00 64 */	stw r0, 0x64(r3)
/* 8021E9E0 0021A640  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021E9E4 0021A644  88 03 0A 86 */	lbz r0, 0xa86(r3)
/* 8021E9E8 0021A648  2C 00 00 00 */	cmpwi r0, 0
/* 8021E9EC 0021A64C  41 82 00 10 */	beq lbl_8021E9FC
/* 8021E9F0 0021A650  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021E9F4 0021A654  60 00 01 00 */	ori r0, r0, 0x100
/* 8021E9F8 0021A658  90 03 00 64 */	stw r0, 0x64(r3)
lbl_8021E9FC:
/* 8021E9FC 0021A65C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021EA00 0021A660  80 03 00 00 */	lwz r0, 0(r3)
/* 8021EA04 0021A664  60 00 00 40 */	ori r0, r0, 0x40
/* 8021EA08 0021A668  90 03 00 00 */	stw r0, 0(r3)
lbl_8021EA0C:
/* 8021EA0C 0021A66C  39 61 00 40 */	addi r11, r1, 0x40
/* 8021EA10 0021A670  4B FA 87 5D */	bl _restgpr_25
/* 8021EA14 0021A674  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8021EA18 0021A678  7C 08 03 A6 */	mtlr r0
/* 8021EA1C 0021A67C  38 21 00 40 */	addi r1, r1, 0x40
/* 8021EA20 0021A680  4E 80 00 20 */	blr
lbl_8021EA24:
/* 8021EA24 0021A684  4E 80 00 20 */	blr

.global func_8021EA28
func_8021EA28:
/* 8021EA28 0021A688  38 A0 00 01 */	li r5, 1
/* 8021EA2C 0021A68C  38 6D A2 98 */	addi r3, r13, lbl_8063F558-_SDA_BASE_
/* 8021EA30 0021A690  38 80 00 04 */	li r4, 4
/* 8021EA34 0021A694  38 00 00 00 */	li r0, 0
/* 8021EA38 0021A698  98 AD A2 98 */	stb r5, lbl_8063F558-_SDA_BASE_(r13)
/* 8021EA3C 0021A69C  B0 83 00 02 */	sth r4, 2(r3)
/* 8021EA40 0021A6A0  98 03 00 04 */	stb r0, 4(r3)
/* 8021EA44 0021A6A4  4E 80 00 20 */	blr