summaryrefslogtreecommitdiff
path: root/asm/code_8020D250.s
blob: 7debc42d755a967aab26265b93e14f4daf82ddef (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
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
.include "macros.inc"

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

.global func_8020D250
func_8020D250:
/* 8020D250 00208EB0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 8020D254 00208EB4  7C 08 02 A6 */	mflr r0
/* 8020D258 00208EB8  90 01 00 64 */	stw r0, 0x64(r1)
/* 8020D25C 00208EBC  DB E1 00 50 */	stfd f31, 0x50(r1)
/* 8020D260 00208EC0  F3 E1 00 58 */	psq_st f31, 88(r1), 0, qr0
/* 8020D264 00208EC4  FF E0 08 90 */	fmr f31, f1
/* 8020D268 00208EC8  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 8020D26C 00208ECC  93 C1 00 48 */	stw r30, 0x48(r1)
/* 8020D270 00208ED0  7C BE 2B 78 */	mr r30, r5
/* 8020D274 00208ED4  93 A1 00 44 */	stw r29, 0x44(r1)
/* 8020D278 00208ED8  7C 9D 23 78 */	mr r29, r4
/* 8020D27C 00208EDC  93 81 00 40 */	stw r28, 0x40(r1)
/* 8020D280 00208EE0  7C 7C 1B 78 */	mr r28, r3
/* 8020D284 00208EE4  80 C3 00 20 */	lwz r6, 0x20(r3)
/* 8020D288 00208EE8  C0 83 00 10 */	lfs f4, 0x10(r3)
/* 8020D28C 00208EEC  C0 06 00 24 */	lfs f0, 0x24(r6)
/* 8020D290 00208EF0  38 86 00 0C */	addi r4, r6, 0xc
/* 8020D294 00208EF4  C0 63 00 0C */	lfs f3, 0xc(r3)
/* 8020D298 00208EF8  EC 84 00 32 */	fmuls f4, f4, f0
/* 8020D29C 00208EFC  C0 46 00 20 */	lfs f2, 0x20(r6)
/* 8020D2A0 00208F00  C0 23 00 08 */	lfs f1, 8(r3)
/* 8020D2A4 00208F04  C0 06 00 1C */	lfs f0, 0x1c(r6)
/* 8020D2A8 00208F08  EC 43 00 B2 */	fmuls f2, f3, f2
/* 8020D2AC 00208F0C  83 E5 00 00 */	lwz r31, 0(r5)
/* 8020D2B0 00208F10  EC 01 00 32 */	fmuls f0, f1, f0
/* 8020D2B4 00208F14  D0 81 00 34 */	stfs f4, 0x34(r1)
/* 8020D2B8 00208F18  D0 41 00 30 */	stfs f2, 0x30(r1)
/* 8020D2BC 00208F1C  D0 01 00 2C */	stfs f0, 0x2c(r1)
/* 8020D2C0 00208F20  D0 03 00 48 */	stfs f0, 0x48(r3)
/* 8020D2C4 00208F24  D0 43 00 4C */	stfs f2, 0x4c(r3)
/* 8020D2C8 00208F28  D0 83 00 50 */	stfs f4, 0x50(r3)
/* 8020D2CC 00208F2C  38 63 00 48 */	addi r3, r3, 0x48
/* 8020D2D0 00208F30  48 01 67 3D */	bl func_80223A0C
/* 8020D2D4 00208F34  38 7C 00 48 */	addi r3, r28, 0x48
/* 8020D2D8 00208F38  80 9C 00 20 */	lwz r4, 0x20(r28)
/* 8020D2DC 00208F3C  7C 65 1B 78 */	mr r5, r3
/* 8020D2E0 00208F40  48 06 F9 E5 */	bl PSVECAdd
/* 8020D2E4 00208F44  57 E0 05 AD */	rlwinm. r0, r31, 0, 0x16, 0x16
/* 8020D2E8 00208F48  41 82 00 10 */	beq lbl_8020D2F8
/* 8020D2EC 00208F4C  C0 1E 00 24 */	lfs f0, 0x24(r30)
/* 8020D2F0 00208F50  D0 1C 00 54 */	stfs f0, 0x54(r28)
/* 8020D2F4 00208F54  48 00 00 0C */	b lbl_8020D300
lbl_8020D2F8:
/* 8020D2F8 00208F58  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020D2FC 00208F5C  D0 1C 00 54 */	stfs f0, 0x54(r28)
lbl_8020D300:
/* 8020D300 00208F60  A0 1C 00 30 */	lhz r0, 0x30(r28)
/* 8020D304 00208F64  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8020D308 00208F68  41 82 00 20 */	beq lbl_8020D328
/* 8020D30C 00208F6C  C0 5C 00 3C */	lfs f2, 0x3c(r28)
/* 8020D310 00208F70  C0 3C 00 40 */	lfs f1, 0x40(r28)
/* 8020D314 00208F74  C0 1C 00 54 */	lfs f0, 0x54(r28)
/* 8020D318 00208F78  EC 22 08 2A */	fadds f1, f2, f1
/* 8020D31C 00208F7C  EC 00 08 28 */	fsubs f0, f0, f1
/* 8020D320 00208F80  D0 1C 00 54 */	stfs f0, 0x54(r28)
/* 8020D324 00208F84  48 00 00 1C */	b lbl_8020D340
lbl_8020D328:
/* 8020D328 00208F88  C0 5C 00 3C */	lfs f2, 0x3c(r28)
/* 8020D32C 00208F8C  C0 3C 00 40 */	lfs f1, 0x40(r28)
/* 8020D330 00208F90  C0 1C 00 54 */	lfs f0, 0x54(r28)
/* 8020D334 00208F94  EC 22 08 2A */	fadds f1, f2, f1
/* 8020D338 00208F98  EC 00 08 2A */	fadds f0, f0, f1
/* 8020D33C 00208F9C  D0 1C 00 54 */	stfs f0, 0x54(r28)
lbl_8020D340:
/* 8020D340 00208FA0  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 8020D344 00208FA4  2C 03 00 00 */	cmpwi r3, 0
/* 8020D348 00208FA8  41 82 00 10 */	beq lbl_8020D358
/* 8020D34C 00208FAC  88 03 00 00 */	lbz r0, 0(r3)
/* 8020D350 00208FB0  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 8020D354 00208FB4  40 82 00 0C */	bne lbl_8020D360
lbl_8020D358:
/* 8020D358 00208FB8  C0 22 9A 14 */	lfs f1, lbl_80642014-_SDA2_BASE_(r2)
/* 8020D35C 00208FBC  48 00 00 40 */	b lbl_8020D39C
lbl_8020D360:
/* 8020D360 00208FC0  C0 23 00 08 */	lfs f1, 8(r3)
/* 8020D364 00208FC4  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020D368 00208FC8  EC 21 F8 28 */	fsubs f1, f1, f31
/* 8020D36C 00208FCC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D370 00208FD0  40 81 00 08 */	ble lbl_8020D378
/* 8020D374 00208FD4  48 00 00 08 */	b lbl_8020D37C
lbl_8020D378:
/* 8020D378 00208FD8  FC 20 08 50 */	fneg f1, f1
lbl_8020D37C:
/* 8020D37C 00208FDC  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020D380 00208FE0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D384 00208FE4  4C 40 13 82 */	cror 2, 0, 2
/* 8020D388 00208FE8  40 82 00 0C */	bne lbl_8020D394
/* 8020D38C 00208FEC  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020D390 00208FF0  48 00 00 0C */	b lbl_8020D39C
lbl_8020D394:
/* 8020D394 00208FF4  FC 20 F8 90 */	fmr f1, f31
/* 8020D398 00208FF8  48 00 41 CD */	bl func_80211564
lbl_8020D39C:
/* 8020D39C 00208FFC  C0 1C 00 34 */	lfs f0, 0x34(r28)
/* 8020D3A0 00209000  EC 00 00 72 */	fmuls f0, f0, f1
/* 8020D3A4 00209004  D0 1C 00 58 */	stfs f0, 0x58(r28)
/* 8020D3A8 00209008  80 7E 00 18 */	lwz r3, 0x18(r30)
/* 8020D3AC 0020900C  2C 03 00 00 */	cmpwi r3, 0
/* 8020D3B0 00209010  41 82 00 10 */	beq lbl_8020D3C0
/* 8020D3B4 00209014  88 03 00 00 */	lbz r0, 0(r3)
/* 8020D3B8 00209018  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 8020D3BC 0020901C  40 82 00 0C */	bne lbl_8020D3C8
lbl_8020D3C0:
/* 8020D3C0 00209020  C0 42 9A 14 */	lfs f2, lbl_80642014-_SDA2_BASE_(r2)
/* 8020D3C4 00209024  48 00 00 44 */	b lbl_8020D408
lbl_8020D3C8:
/* 8020D3C8 00209028  C0 23 00 08 */	lfs f1, 8(r3)
/* 8020D3CC 0020902C  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020D3D0 00209030  EC 21 F8 28 */	fsubs f1, f1, f31
/* 8020D3D4 00209034  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D3D8 00209038  40 81 00 08 */	ble lbl_8020D3E0
/* 8020D3DC 0020903C  48 00 00 08 */	b lbl_8020D3E4
lbl_8020D3E0:
/* 8020D3E0 00209040  FC 20 08 50 */	fneg f1, f1
lbl_8020D3E4:
/* 8020D3E4 00209044  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020D3E8 00209048  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D3EC 0020904C  4C 40 13 82 */	cror 2, 0, 2
/* 8020D3F0 00209050  40 82 00 0C */	bne lbl_8020D3FC
/* 8020D3F4 00209054  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020D3F8 00209058  48 00 00 0C */	b lbl_8020D404
lbl_8020D3FC:
/* 8020D3FC 0020905C  FC 20 F8 90 */	fmr f1, f31
/* 8020D400 00209060  48 00 41 65 */	bl func_80211564
lbl_8020D404:
/* 8020D404 00209064  FC 40 08 90 */	fmr f2, f1
lbl_8020D408:
/* 8020D408 00209068  C0 1C 00 38 */	lfs f0, 0x38(r28)
/* 8020D40C 0020906C  FC 20 F8 90 */	fmr f1, f31
/* 8020D410 00209070  38 7C 00 60 */	addi r3, r28, 0x60
/* 8020D414 00209074  EC 00 00 B2 */	fmuls f0, f0, f2
/* 8020D418 00209078  D0 1C 00 5C */	stfs f0, 0x5c(r28)
/* 8020D41C 0020907C  80 9E 00 40 */	lwz r4, 0x40(r30)
/* 8020D420 00209080  48 00 43 41 */	bl func_80211760
/* 8020D424 00209084  88 1C 00 60 */	lbz r0, 0x60(r28)
/* 8020D428 00209088  20 00 00 FF */	subfic r0, r0, 0xff
/* 8020D42C 0020908C  98 01 00 0D */	stb r0, 0xd(r1)
/* 8020D430 00209090  E0 41 A0 0D */	psq_l f2, 13(r1), 1, qr2
/* 8020D434 00209094  C0 1D 00 3C */	lfs f0, 0x3c(r29)
/* 8020D438 00209098  C0 22 9A 1C */	lfs f1, lbl_8064201C-_SDA2_BASE_(r2)
/* 8020D43C 0020909C  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020D440 002090A0  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D444 002090A4  F0 01 A0 28 */	psq_st f0, 40(r1), 1, qr2
/* 8020D448 002090A8  88 81 00 28 */	lbz r4, 0x28(r1)
/* 8020D44C 002090AC  88 7C 00 60 */	lbz r3, 0x60(r28)
/* 8020D450 002090B0  88 1C 00 61 */	lbz r0, 0x61(r28)
/* 8020D454 002090B4  7C 63 22 14 */	add r3, r3, r4
/* 8020D458 002090B8  98 7C 00 60 */	stb r3, 0x60(r28)
/* 8020D45C 002090BC  20 00 00 FF */	subfic r0, r0, 0xff
/* 8020D460 002090C0  98 01 00 0C */	stb r0, 0xc(r1)
/* 8020D464 002090C4  E0 41 A0 0C */	psq_l f2, 12(r1), 1, qr2
/* 8020D468 002090C8  C0 1D 00 40 */	lfs f0, 0x40(r29)
/* 8020D46C 002090CC  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020D470 002090D0  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D474 002090D4  F0 01 A0 24 */	psq_st f0, 36(r1), 1, qr2
/* 8020D478 002090D8  88 1C 00 62 */	lbz r0, 0x62(r28)
/* 8020D47C 002090DC  88 81 00 24 */	lbz r4, 0x24(r1)
/* 8020D480 002090E0  88 7C 00 61 */	lbz r3, 0x61(r28)
/* 8020D484 002090E4  20 00 00 FF */	subfic r0, r0, 0xff
/* 8020D488 002090E8  7C 63 22 14 */	add r3, r3, r4
/* 8020D48C 002090EC  98 7C 00 61 */	stb r3, 0x61(r28)
/* 8020D490 002090F0  98 01 00 0B */	stb r0, 0xb(r1)
/* 8020D494 002090F4  E0 41 A0 0B */	psq_l f2, 11(r1), 1, qr2
/* 8020D498 002090F8  C0 1D 00 44 */	lfs f0, 0x44(r29)
/* 8020D49C 002090FC  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020D4A0 00209100  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D4A4 00209104  F0 01 A0 20 */	psq_st f0, 32(r1), 1, qr2
/* 8020D4A8 00209108  88 61 00 20 */	lbz r3, 0x20(r1)
/* 8020D4AC 0020910C  88 1C 00 62 */	lbz r0, 0x62(r28)
/* 8020D4B0 00209110  7C 00 1A 14 */	add r0, r0, r3
/* 8020D4B4 00209114  98 1C 00 62 */	stb r0, 0x62(r28)
/* 8020D4B8 00209118  80 7E 00 48 */	lwz r3, 0x48(r30)
/* 8020D4BC 0020911C  2C 03 00 00 */	cmpwi r3, 0
/* 8020D4C0 00209120  41 82 00 10 */	beq lbl_8020D4D0
/* 8020D4C4 00209124  88 03 00 00 */	lbz r0, 0(r3)
/* 8020D4C8 00209128  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 8020D4CC 0020912C  40 82 00 0C */	bne lbl_8020D4D8
lbl_8020D4D0:
/* 8020D4D0 00209130  C0 22 9A 14 */	lfs f1, lbl_80642014-_SDA2_BASE_(r2)
/* 8020D4D4 00209134  48 00 00 40 */	b lbl_8020D514
lbl_8020D4D8:
/* 8020D4D8 00209138  C0 23 00 08 */	lfs f1, 8(r3)
/* 8020D4DC 0020913C  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020D4E0 00209140  EC 21 F8 28 */	fsubs f1, f1, f31
/* 8020D4E4 00209144  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D4E8 00209148  40 81 00 08 */	ble lbl_8020D4F0
/* 8020D4EC 0020914C  48 00 00 08 */	b lbl_8020D4F4
lbl_8020D4F0:
/* 8020D4F0 00209150  FC 20 08 50 */	fneg f1, f1
lbl_8020D4F4:
/* 8020D4F4 00209154  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020D4F8 00209158  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D4FC 0020915C  4C 40 13 82 */	cror 2, 0, 2
/* 8020D500 00209160  40 82 00 0C */	bne lbl_8020D50C
/* 8020D504 00209164  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020D508 00209168  48 00 00 0C */	b lbl_8020D514
lbl_8020D50C:
/* 8020D50C 0020916C  FC 20 F8 90 */	fmr f1, f31
/* 8020D510 00209170  48 00 40 55 */	bl func_80211564
lbl_8020D514:
/* 8020D514 00209174  C0 1D 00 48 */	lfs f0, 0x48(r29)
/* 8020D518 00209178  C0 42 9A 20 */	lfs f2, lbl_80642020-_SDA2_BASE_(r2)
/* 8020D51C 0020917C  EC 21 00 32 */	fmuls f1, f1, f0
/* 8020D520 00209180  C0 02 9A 1C */	lfs f0, lbl_8064201C-_SDA2_BASE_(r2)
/* 8020D524 00209184  EC 22 00 72 */	fmuls f1, f2, f1
/* 8020D528 00209188  EC 00 08 2A */	fadds f0, f0, f1
/* 8020D52C 0020918C  F0 01 A0 1C */	psq_st f0, 28(r1), 1, qr2
/* 8020D530 00209190  57 E0 01 8D */	rlwinm. r0, r31, 0, 6, 6
/* 8020D534 00209194  88 01 00 1C */	lbz r0, 0x1c(r1)
/* 8020D538 00209198  98 1C 00 63 */	stb r0, 0x63(r28)
/* 8020D53C 0020919C  41 82 00 B0 */	beq lbl_8020D5EC
/* 8020D540 002091A0  FC 20 F8 90 */	fmr f1, f31
/* 8020D544 002091A4  80 9E 00 44 */	lwz r4, 0x44(r30)
/* 8020D548 002091A8  38 7C 00 64 */	addi r3, r28, 0x64
/* 8020D54C 002091AC  48 00 42 15 */	bl func_80211760
/* 8020D550 002091B0  88 1C 00 64 */	lbz r0, 0x64(r28)
/* 8020D554 002091B4  20 00 00 FF */	subfic r0, r0, 0xff
/* 8020D558 002091B8  98 01 00 0A */	stb r0, 0xa(r1)
/* 8020D55C 002091BC  E0 41 A0 0A */	psq_l f2, 10(r1), 1, qr2
/* 8020D560 002091C0  C0 1D 00 3C */	lfs f0, 0x3c(r29)
/* 8020D564 002091C4  C0 22 9A 1C */	lfs f1, lbl_8064201C-_SDA2_BASE_(r2)
/* 8020D568 002091C8  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020D56C 002091CC  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D570 002091D0  F0 01 A0 18 */	psq_st f0, 24(r1), 1, qr2
/* 8020D574 002091D4  88 81 00 18 */	lbz r4, 0x18(r1)
/* 8020D578 002091D8  88 7C 00 64 */	lbz r3, 0x64(r28)
/* 8020D57C 002091DC  88 1C 00 65 */	lbz r0, 0x65(r28)
/* 8020D580 002091E0  7C 63 22 14 */	add r3, r3, r4
/* 8020D584 002091E4  98 7C 00 64 */	stb r3, 0x64(r28)
/* 8020D588 002091E8  20 00 00 FF */	subfic r0, r0, 0xff
/* 8020D58C 002091EC  98 01 00 09 */	stb r0, 9(r1)
/* 8020D590 002091F0  E0 41 A0 09 */	psq_l f2, 9(r1), 1, qr2
/* 8020D594 002091F4  C0 1D 00 40 */	lfs f0, 0x40(r29)
/* 8020D598 002091F8  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020D59C 002091FC  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D5A0 00209200  F0 01 A0 14 */	psq_st f0, 20(r1), 1, qr2
/* 8020D5A4 00209204  88 1C 00 66 */	lbz r0, 0x66(r28)
/* 8020D5A8 00209208  88 81 00 14 */	lbz r4, 0x14(r1)
/* 8020D5AC 0020920C  88 7C 00 65 */	lbz r3, 0x65(r28)
/* 8020D5B0 00209210  20 00 00 FF */	subfic r0, r0, 0xff
/* 8020D5B4 00209214  7C 63 22 14 */	add r3, r3, r4
/* 8020D5B8 00209218  98 7C 00 65 */	stb r3, 0x65(r28)
/* 8020D5BC 0020921C  98 01 00 08 */	stb r0, 8(r1)
/* 8020D5C0 00209220  E0 41 A0 08 */	psq_l f2, 8(r1), 1, qr2
/* 8020D5C4 00209224  C0 1D 00 44 */	lfs f0, 0x44(r29)
/* 8020D5C8 00209228  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020D5CC 0020922C  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D5D0 00209230  F0 01 A0 10 */	psq_st f0, 16(r1), 1, qr2
/* 8020D5D4 00209234  88 81 00 10 */	lbz r4, 0x10(r1)
/* 8020D5D8 00209238  88 7C 00 66 */	lbz r3, 0x66(r28)
/* 8020D5DC 0020923C  88 1C 00 63 */	lbz r0, 0x63(r28)
/* 8020D5E0 00209240  7C 63 22 14 */	add r3, r3, r4
/* 8020D5E4 00209244  98 7C 00 66 */	stb r3, 0x66(r28)
/* 8020D5E8 00209248  98 1C 00 67 */	stb r0, 0x67(r28)
lbl_8020D5EC:
/* 8020D5EC 0020924C  E3 E1 00 58 */	psq_l f31, 88(r1), 0, qr0
/* 8020D5F0 00209250  80 01 00 64 */	lwz r0, 0x64(r1)
/* 8020D5F4 00209254  CB E1 00 50 */	lfd f31, 0x50(r1)
/* 8020D5F8 00209258  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 8020D5FC 0020925C  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 8020D600 00209260  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 8020D604 00209264  83 81 00 40 */	lwz r28, 0x40(r1)
/* 8020D608 00209268  7C 08 03 A6 */	mtlr r0
/* 8020D60C 0020926C  38 21 00 60 */	addi r1, r1, 0x60
/* 8020D610 00209270  4E 80 00 20 */	blr

.global func_8020D614
func_8020D614:
/* 8020D614 00209274  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8020D618 00209278  7C 08 02 A6 */	mflr r0
/* 8020D61C 0020927C  90 01 00 44 */	stw r0, 0x44(r1)
/* 8020D620 00209280  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 8020D624 00209284  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 8020D628 00209288  3C 00 43 30 */	lis r0, 0x4330
/* 8020D62C 0020928C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8020D630 00209290  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8020D634 00209294  7C BE 2B 78 */	mr r30, r5
/* 8020D638 00209298  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8020D63C 0020929C  7C 7D 1B 78 */	mr r29, r3
/* 8020D640 002092A0  93 81 00 20 */	stw r28, 0x20(r1)
/* 8020D644 002092A4  83 E5 00 00 */	lwz r31, 0(r5)
/* 8020D648 002092A8  7C C5 33 78 */	mr r5, r6
/* 8020D64C 002092AC  90 01 00 10 */	stw r0, 0x10(r1)
/* 8020D650 002092B0  90 01 00 18 */	stw r0, 0x18(r1)
/* 8020D654 002092B4  4B FF F3 E5 */	bl func_8020CA38
/* 8020D658 002092B8  38 00 00 00 */	li r0, 0
/* 8020D65C 002092BC  B0 1D 00 30 */	sth r0, 0x30(r29)
/* 8020D660 002092C0  48 01 61 D1 */	bl func_80223830
/* 8020D664 002092C4  3F 80 00 03 */	lis r28, 0x000343FD@ha
/* 8020D668 002092C8  80 A3 00 00 */	lwz r5, 0(r3)
/* 8020D66C 002092CC  38 9C 43 FD */	addi r4, r28, 0x000343FD@l
/* 8020D670 002092D0  57 E0 06 73 */	rlwinm. r0, r31, 0, 0x19, 0x19
/* 8020D674 002092D4  7C 85 21 D6 */	mullw r4, r5, r4
/* 8020D678 002092D8  C8 62 9A 30 */	lfd f3, lbl_80642030-_SDA2_BASE_(r2)
/* 8020D67C 002092DC  C0 22 9A 24 */	lfs f1, lbl_80642024-_SDA2_BASE_(r2)
/* 8020D680 002092E0  3C 84 00 27 */	addis r4, r4, 0x27
/* 8020D684 002092E4  38 84 9E C3 */	addi r4, r4, -24893
/* 8020D688 002092E8  54 80 84 3E */	srwi r0, r4, 0x10
/* 8020D68C 002092EC  90 83 00 00 */	stw r4, 0(r3)
/* 8020D690 002092F0  90 01 00 14 */	stw r0, 0x14(r1)
/* 8020D694 002092F4  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 8020D698 002092F8  C8 41 00 10 */	lfd f2, 0x10(r1)
/* 8020D69C 002092FC  EC 42 18 28 */	fsubs f2, f2, f3
/* 8020D6A0 00209300  EC 22 08 24 */	fdivs f1, f2, f1
/* 8020D6A4 00209304  EC 40 00 72 */	fmuls f2, f0, f1
/* 8020D6A8 00209308  D0 5D 00 34 */	stfs f2, 0x34(r29)
/* 8020D6AC 0020930C  C0 1E 00 10 */	lfs f0, 0x10(r30)
/* 8020D6B0 00209310  EC 20 00 72 */	fmuls f1, f0, f1
/* 8020D6B4 00209314  D0 3D 00 38 */	stfs f1, 0x38(r29)
/* 8020D6B8 00209318  C0 1E 00 04 */	lfs f0, 4(r30)
/* 8020D6BC 0020931C  EC 02 00 2A */	fadds f0, f2, f0
/* 8020D6C0 00209320  D0 1D 00 34 */	stfs f0, 0x34(r29)
/* 8020D6C4 00209324  C0 1E 00 08 */	lfs f0, 8(r30)
/* 8020D6C8 00209328  EC 01 00 2A */	fadds f0, f1, f0
/* 8020D6CC 0020932C  D0 1D 00 38 */	stfs f0, 0x38(r29)
/* 8020D6D0 00209330  41 82 00 4C */	beq lbl_8020D71C
/* 8020D6D4 00209334  48 01 61 5D */	bl func_80223830
/* 8020D6D8 00209338  80 83 00 00 */	lwz r4, 0(r3)
/* 8020D6DC 0020933C  38 1C 43 FD */	addi r0, r28, 0x43fd
/* 8020D6E0 00209340  C8 62 9A 30 */	lfd f3, lbl_80642030-_SDA2_BASE_(r2)
/* 8020D6E4 00209344  7C 84 01 D6 */	mullw r4, r4, r0
/* 8020D6E8 00209348  C0 22 9A 24 */	lfs f1, lbl_80642024-_SDA2_BASE_(r2)
/* 8020D6EC 0020934C  C0 02 9A 28 */	lfs f0, lbl_80642028-_SDA2_BASE_(r2)
/* 8020D6F0 00209350  3C 84 00 27 */	addis r4, r4, 0x27
/* 8020D6F4 00209354  38 84 9E C3 */	addi r4, r4, -24893
/* 8020D6F8 00209358  54 80 84 3E */	srwi r0, r4, 0x10
/* 8020D6FC 0020935C  90 83 00 00 */	stw r4, 0(r3)
/* 8020D700 00209360  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8020D704 00209364  C8 41 00 18 */	lfd f2, 0x18(r1)
/* 8020D708 00209368  EC 42 18 28 */	fsubs f2, f2, f3
/* 8020D70C 0020936C  EC 22 08 24 */	fdivs f1, f2, f1
/* 8020D710 00209370  EC 00 00 72 */	fmuls f0, f0, f1
/* 8020D714 00209374  D0 1D 00 3C */	stfs f0, 0x3c(r29)
/* 8020D718 00209378  48 00 00 0C */	b lbl_8020D724
lbl_8020D71C:
/* 8020D71C 0020937C  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020D720 00209380  D0 1D 00 3C */	stfs f0, 0x3c(r29)
lbl_8020D724:
/* 8020D724 00209384  57 E0 06 B5 */	rlwinm. r0, r31, 0, 0x1a, 0x1a
/* 8020D728 00209388  41 82 00 58 */	beq lbl_8020D780
/* 8020D72C 0020938C  48 01 61 05 */	bl func_80223830
/* 8020D730 00209390  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 8020D734 00209394  80 A3 00 00 */	lwz r5, 0(r3)
/* 8020D738 00209398  38 04 43 FD */	addi r0, r4, 0x000343FD@l
/* 8020D73C 0020939C  C8 62 9A 30 */	lfd f3, lbl_80642030-_SDA2_BASE_(r2)
/* 8020D740 002093A0  7C 85 01 D6 */	mullw r4, r5, r0
/* 8020D744 002093A4  C0 22 9A 24 */	lfs f1, lbl_80642024-_SDA2_BASE_(r2)
/* 8020D748 002093A8  C0 02 9A 1C */	lfs f0, lbl_8064201C-_SDA2_BASE_(r2)
/* 8020D74C 002093AC  3C 84 00 27 */	addis r4, r4, 0x27
/* 8020D750 002093B0  38 84 9E C3 */	addi r4, r4, -24893
/* 8020D754 002093B4  54 80 84 3E */	srwi r0, r4, 0x10
/* 8020D758 002093B8  90 83 00 00 */	stw r4, 0(r3)
/* 8020D75C 002093BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8020D760 002093C0  C8 41 00 10 */	lfd f2, 0x10(r1)
/* 8020D764 002093C4  EC 42 18 28 */	fsubs f2, f2, f3
/* 8020D768 002093C8  EC 22 08 24 */	fdivs f1, f2, f1
/* 8020D76C 002093CC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D770 002093D0  40 80 00 10 */	bge lbl_8020D780
/* 8020D774 002093D4  A0 1D 00 30 */	lhz r0, 0x30(r29)
/* 8020D778 002093D8  60 00 00 01 */	ori r0, r0, 1
/* 8020D77C 002093DC  B0 1D 00 30 */	sth r0, 0x30(r29)
lbl_8020D780:
/* 8020D780 002093E0  C0 1E 00 2C */	lfs f0, 0x2c(r30)
/* 8020D784 002093E4  D0 1D 00 40 */	stfs f0, 0x40(r29)
/* 8020D788 002093E8  48 01 60 A9 */	bl func_80223830
/* 8020D78C 002093EC  3F 80 00 03 */	lis r28, 0x000343FD@ha
/* 8020D790 002093F0  80 A3 00 00 */	lwz r5, 0(r3)
/* 8020D794 002093F4  38 9C 43 FD */	addi r4, r28, 0x000343FD@l
/* 8020D798 002093F8  57 E0 02 D7 */	rlwinm. r0, r31, 0, 0xb, 0xb
/* 8020D79C 002093FC  7C 85 21 D6 */	mullw r4, r5, r4
/* 8020D7A0 00209400  C8 82 9A 30 */	lfd f4, lbl_80642030-_SDA2_BASE_(r2)
/* 8020D7A4 00209404  C0 42 9A 24 */	lfs f2, lbl_80642024-_SDA2_BASE_(r2)
/* 8020D7A8 00209408  38 00 00 00 */	li r0, 0
/* 8020D7AC 0020940C  3C 84 00 27 */	addis r4, r4, 0x27
/* 8020D7B0 00209410  38 A4 9E C3 */	addi r5, r4, -24893
/* 8020D7B4 00209414  54 A4 84 3E */	srwi r4, r5, 0x10
/* 8020D7B8 00209418  90 A3 00 00 */	stw r5, 0(r3)
/* 8020D7BC 0020941C  90 81 00 1C */	stw r4, 0x1c(r1)
/* 8020D7C0 00209420  C0 3E 00 34 */	lfs f1, 0x34(r30)
/* 8020D7C4 00209424  C8 61 00 18 */	lfd f3, 0x18(r1)
/* 8020D7C8 00209428  C0 1E 00 30 */	lfs f0, 0x30(r30)
/* 8020D7CC 0020942C  EC 63 20 28 */	fsubs f3, f3, f4
/* 8020D7D0 00209430  98 1D 00 32 */	stb r0, 0x32(r29)
/* 8020D7D4 00209434  EC 43 10 24 */	fdivs f2, f3, f2
/* 8020D7D8 00209438  EC 21 00 B2 */	fmuls f1, f1, f2
/* 8020D7DC 0020943C  EC 00 08 2A */	fadds f0, f0, f1
/* 8020D7E0 00209440  D0 1D 00 44 */	stfs f0, 0x44(r29)
/* 8020D7E4 00209444  41 82 00 B8 */	beq lbl_8020D89C
/* 8020D7E8 00209448  48 01 60 49 */	bl func_80223830
/* 8020D7EC 0020944C  80 83 00 00 */	lwz r4, 0(r3)
/* 8020D7F0 00209450  38 1C 43 FD */	addi r0, r28, 0x43fd
/* 8020D7F4 00209454  C8 62 9A 30 */	lfd f3, lbl_80642030-_SDA2_BASE_(r2)
/* 8020D7F8 00209458  7C 84 01 D6 */	mullw r4, r4, r0
/* 8020D7FC 0020945C  C0 22 9A 24 */	lfs f1, lbl_80642024-_SDA2_BASE_(r2)
/* 8020D800 00209460  3C 84 00 27 */	addis r4, r4, 0x27
/* 8020D804 00209464  38 84 9E C3 */	addi r4, r4, -24893
/* 8020D808 00209468  54 80 84 3E */	srwi r0, r4, 0x10
/* 8020D80C 0020946C  90 83 00 00 */	stw r4, 0(r3)
/* 8020D810 00209470  90 01 00 14 */	stw r0, 0x14(r1)
/* 8020D814 00209474  C0 1E 00 58 */	lfs f0, 0x58(r30)
/* 8020D818 00209478  C8 41 00 10 */	lfd f2, 0x10(r1)
/* 8020D81C 0020947C  EC 42 18 28 */	fsubs f2, f2, f3
/* 8020D820 00209480  EC 22 08 24 */	fdivs f1, f2, f1
/* 8020D824 00209484  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D828 00209488  40 81 00 10 */	ble lbl_8020D838
/* 8020D82C 0020948C  A0 1D 00 30 */	lhz r0, 0x30(r29)
/* 8020D830 00209490  60 00 00 02 */	ori r0, r0, 2
/* 8020D834 00209494  B0 1D 00 30 */	sth r0, 0x30(r29)
lbl_8020D838:
/* 8020D838 00209498  57 E0 02 95 */	rlwinm. r0, r31, 0, 0xa, 0xa
/* 8020D83C 0020949C  41 82 00 60 */	beq lbl_8020D89C
/* 8020D840 002094A0  80 7E 00 54 */	lwz r3, 0x54(r30)
/* 8020D844 002094A4  80 03 00 00 */	lwz r0, 0(r3)
/* 8020D848 002094A8  B0 01 00 08 */	sth r0, 8(r1)
/* 8020D84C 002094AC  E3 E1 B0 08 */	psq_l f31, 8(r1), 1, qr3
/* 8020D850 002094B0  48 01 5F E1 */	bl func_80223830
/* 8020D854 002094B4  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 8020D858 002094B8  80 A3 00 00 */	lwz r5, 0(r3)
/* 8020D85C 002094BC  38 04 43 FD */	addi r0, r4, 0x000343FD@l
/* 8020D860 002094C0  C8 42 9A 30 */	lfd f2, lbl_80642030-_SDA2_BASE_(r2)
/* 8020D864 002094C4  7C 85 01 D6 */	mullw r4, r5, r0
/* 8020D868 002094C8  C0 02 9A 24 */	lfs f0, lbl_80642024-_SDA2_BASE_(r2)
/* 8020D86C 002094CC  3C 84 00 27 */	addis r4, r4, 0x27
/* 8020D870 002094D0  38 84 9E C3 */	addi r4, r4, -24893
/* 8020D874 002094D4  54 80 84 3E */	srwi r0, r4, 0x10
/* 8020D878 002094D8  90 83 00 00 */	stw r4, 0(r3)
/* 8020D87C 002094DC  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8020D880 002094E0  C8 21 00 18 */	lfd f1, 0x18(r1)
/* 8020D884 002094E4  EC 21 10 28 */	fsubs f1, f1, f2
/* 8020D888 002094E8  EC 01 00 24 */	fdivs f0, f1, f0
/* 8020D88C 002094EC  EC 1F 00 32 */	fmuls f0, f31, f0
/* 8020D890 002094F0  F0 01 A0 0C */	psq_st f0, 12(r1), 1, qr2
/* 8020D894 002094F4  88 01 00 0C */	lbz r0, 0xc(r1)
/* 8020D898 002094F8  98 1D 00 32 */	stb r0, 0x32(r29)
lbl_8020D89C:
/* 8020D89C 002094FC  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 8020D8A0 00209500  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8020D8A4 00209504  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 8020D8A8 00209508  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8020D8AC 0020950C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8020D8B0 00209510  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8020D8B4 00209514  83 81 00 20 */	lwz r28, 0x20(r1)
/* 8020D8B8 00209518  7C 08 03 A6 */	mtlr r0
/* 8020D8BC 0020951C  38 21 00 40 */	addi r1, r1, 0x40
/* 8020D8C0 00209520  4E 80 00 20 */	blr

.global func_8020D8C4
func_8020D8C4:
/* 8020D8C4 00209524  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8020D8C8 00209528  7C 08 02 A6 */	mflr r0
/* 8020D8CC 0020952C  90 01 00 44 */	stw r0, 0x44(r1)
/* 8020D8D0 00209530  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 8020D8D4 00209534  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 8020D8D8 00209538  DB C1 00 20 */	stfd f30, 0x20(r1)
/* 8020D8DC 0020953C  F3 C1 00 28 */	psq_st f30, 40(r1), 0, qr0
/* 8020D8E0 00209540  FF C0 08 90 */	fmr f30, f1
/* 8020D8E4 00209544  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8020D8E8 00209548  7C BF 2B 78 */	mr r31, r5
/* 8020D8EC 0020954C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8020D8F0 00209550  7C 9E 23 78 */	mr r30, r4
/* 8020D8F4 00209554  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8020D8F8 00209558  7C 7D 1B 78 */	mr r29, r3
/* 8020D8FC 0020955C  4B FF F2 2D */	bl func_8020CB28
/* 8020D900 00209560  2C 03 00 00 */	cmpwi r3, 0
/* 8020D904 00209564  41 81 00 0C */	bgt lbl_8020D910
/* 8020D908 00209568  38 60 00 00 */	li r3, 0
/* 8020D90C 0020956C  48 00 00 B8 */	b lbl_8020D9C4
lbl_8020D910:
/* 8020D910 00209570  C0 3D 00 04 */	lfs f1, 4(r29)
/* 8020D914 00209574  C0 1D 00 00 */	lfs f0, 0(r29)
/* 8020D918 00209578  80 1F 00 00 */	lwz r0, 0(r31)
/* 8020D91C 0020957C  EC 21 00 24 */	fdivs f1, f1, f0
/* 8020D920 00209580  C0 02 9A 14 */	lfs f0, lbl_80642014-_SDA2_BASE_(r2)
/* 8020D924 00209584  54 00 03 DF */	rlwinm. r0, r0, 0, 0xf, 0xf
/* 8020D928 00209588  EF E0 08 28 */	fsubs f31, f0, f1
/* 8020D92C 0020958C  41 82 00 6C */	beq lbl_8020D998
/* 8020D930 00209590  80 7F 00 3C */	lwz r3, 0x3c(r31)
/* 8020D934 00209594  2C 03 00 00 */	cmpwi r3, 0
/* 8020D938 00209598  41 82 00 10 */	beq lbl_8020D948
/* 8020D93C 0020959C  88 03 00 00 */	lbz r0, 0(r3)
/* 8020D940 002095A0  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 8020D944 002095A4  40 82 00 0C */	bne lbl_8020D950
lbl_8020D948:
/* 8020D948 002095A8  C0 22 9A 14 */	lfs f1, lbl_80642014-_SDA2_BASE_(r2)
/* 8020D94C 002095AC  48 00 00 40 */	b lbl_8020D98C
lbl_8020D950:
/* 8020D950 002095B0  C0 23 00 08 */	lfs f1, 8(r3)
/* 8020D954 002095B4  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020D958 002095B8  EC 21 F8 28 */	fsubs f1, f1, f31
/* 8020D95C 002095BC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D960 002095C0  40 81 00 08 */	ble lbl_8020D968
/* 8020D964 002095C4  48 00 00 08 */	b lbl_8020D96C
lbl_8020D968:
/* 8020D968 002095C8  FC 20 08 50 */	fneg f1, f1
lbl_8020D96C:
/* 8020D96C 002095CC  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020D970 002095D0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D974 002095D4  4C 40 13 82 */	cror 2, 0, 2
/* 8020D978 002095D8  40 82 00 0C */	bne lbl_8020D984
/* 8020D97C 002095DC  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020D980 002095E0  48 00 00 0C */	b lbl_8020D98C
lbl_8020D984:
/* 8020D984 002095E4  FC 20 F8 90 */	fmr f1, f31
/* 8020D988 002095E8  48 00 3B DD */	bl func_80211564
lbl_8020D98C:
/* 8020D98C 002095EC  C0 1F 00 2C */	lfs f0, 0x2c(r31)
/* 8020D990 002095F0  EC 00 00 72 */	fmuls f0, f0, f1
/* 8020D994 002095F4  D0 1D 00 40 */	stfs f0, 0x40(r29)
lbl_8020D998:
/* 8020D998 002095F8  C0 5D 00 44 */	lfs f2, 0x44(r29)
/* 8020D99C 002095FC  FC 20 F8 90 */	fmr f1, f31
/* 8020D9A0 00209600  C0 1D 00 40 */	lfs f0, 0x40(r29)
/* 8020D9A4 00209604  7F A3 EB 78 */	mr r3, r29
/* 8020D9A8 00209608  EC 42 07 B2 */	fmuls f2, f2, f30
/* 8020D9AC 0020960C  7F C4 F3 78 */	mr r4, r30
/* 8020D9B0 00209610  7F E5 FB 78 */	mr r5, r31
/* 8020D9B4 00209614  EC 00 10 2A */	fadds f0, f0, f2
/* 8020D9B8 00209618  D0 1D 00 40 */	stfs f0, 0x40(r29)
/* 8020D9BC 0020961C  4B FF F8 95 */	bl func_8020D250
/* 8020D9C0 00209620  38 60 00 01 */	li r3, 1
lbl_8020D9C4:
/* 8020D9C4 00209624  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 8020D9C8 00209628  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 8020D9CC 0020962C  E3 C1 00 28 */	psq_l f30, 40(r1), 0, qr0
/* 8020D9D0 00209630  CB C1 00 20 */	lfd f30, 0x20(r1)
/* 8020D9D4 00209634  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8020D9D8 00209638  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8020D9DC 0020963C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8020D9E0 00209640  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8020D9E4 00209644  7C 08 03 A6 */	mtlr r0
/* 8020D9E8 00209648  38 21 00 40 */	addi r1, r1, 0x40
/* 8020D9EC 0020964C  4E 80 00 20 */	blr

.global func_8020D9F0
func_8020D9F0:
/* 8020D9F0 00209650  94 21 FE C0 */	stwu r1, -0x140(r1)
/* 8020D9F4 00209654  7C 08 02 A6 */	mflr r0
/* 8020D9F8 00209658  90 01 01 44 */	stw r0, 0x144(r1)
/* 8020D9FC 0020965C  39 61 01 40 */	addi r11, r1, 0x140
/* 8020DA00 00209660  4B FB 97 19 */	bl _savegpr_23
/* 8020DA04 00209664  83 E5 00 00 */	lwz r31, 0(r5)
/* 8020DA08 00209668  7C 78 1B 78 */	mr r24, r3
/* 8020DA0C 0020966C  7C 99 23 78 */	mr r25, r4
/* 8020DA10 00209670  7C BA 2B 78 */	mr r26, r5
/* 8020DA14 00209674  57 E0 05 6C */	rlwinm r0, r31, 0, 0x15, 0x16
/* 8020DA18 00209678  57 FE 3F FE */	rlwinm r30, r31, 7, 0x1f, 0x1f
/* 8020DA1C 0020967C  28 00 02 00 */	cmplwi r0, 0x200
/* 8020DA20 00209680  57 FB 67 FE */	rlwinm r27, r31, 0xc, 0x1f, 0x1f
/* 8020DA24 00209684  40 82 00 40 */	bne lbl_8020DA64
/* 8020DA28 00209688  3C 80 80 49 */	lis r4, lbl_80492230@ha
/* 8020DA2C 0020968C  38 A1 00 90 */	addi r5, r1, 0x90
/* 8020DA30 00209690  38 84 22 30 */	addi r4, r4, lbl_80492230@l
/* 8020DA34 00209694  38 63 00 48 */	addi r3, r3, 0x48
/* 8020DA38 00209698  48 06 F2 B1 */	bl PSVECSubtract
/* 8020DA3C 0020969C  3C 60 80 49 */	lis r3, lbl_8049223C@ha
/* 8020DA40 002096A0  38 81 00 90 */	addi r4, r1, 0x90
/* 8020DA44 002096A4  38 63 22 3C */	addi r3, r3, lbl_8049223C@l
/* 8020DA48 002096A8  48 06 F3 81 */	bl PSVECDotProduct
/* 8020DA4C 002096AC  C0 42 9A 38 */	lfs f2, lbl_80642038-_SDA2_BASE_(r2)
/* 8020DA50 002096B0  C0 0D A1 CC */	lfs f0, lbl_8063F48C-_SDA_BASE_(r13)
/* 8020DA54 002096B4  EC 02 00 2A */	fadds f0, f2, f0
/* 8020DA58 002096B8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DA5C 002096BC  4C 40 13 82 */	cror 2, 0, 2
/* 8020DA60 002096C0  41 82 09 74 */	beq lbl_8020E3D4
lbl_8020DA64:
/* 8020DA64 002096C4  80 78 00 20 */	lwz r3, 0x20(r24)
/* 8020DA68 002096C8  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DA6C 002096CC  C0 23 00 1C */	lfs f1, 0x1c(r3)
/* 8020DA70 002096D0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DA74 002096D4  40 80 00 10 */	bge lbl_8020DA84
/* 8020DA78 002096D8  C0 02 9A 3C */	lfs f0, lbl_8064203C-_SDA2_BASE_(r2)
/* 8020DA7C 002096DC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DA80 002096E0  41 81 09 54 */	bgt lbl_8020E3D4
lbl_8020DA84:
/* 8020DA84 002096E4  C0 23 00 20 */	lfs f1, 0x20(r3)
/* 8020DA88 002096E8  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DA8C 002096EC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DA90 002096F0  40 80 00 10 */	bge lbl_8020DAA0
/* 8020DA94 002096F4  C0 02 9A 3C */	lfs f0, lbl_8064203C-_SDA2_BASE_(r2)
/* 8020DA98 002096F8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DA9C 002096FC  41 81 09 38 */	bgt lbl_8020E3D4
lbl_8020DAA0:
/* 8020DAA0 00209700  C0 23 00 24 */	lfs f1, 0x24(r3)
/* 8020DAA4 00209704  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DAA8 00209708  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DAAC 0020970C  40 80 00 10 */	bge lbl_8020DABC
/* 8020DAB0 00209710  C0 02 9A 3C */	lfs f0, lbl_8064203C-_SDA2_BASE_(r2)
/* 8020DAB4 00209714  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DAB8 00209718  41 81 09 1C */	bgt lbl_8020E3D4
lbl_8020DABC:
/* 8020DABC 0020971C  C0 38 00 58 */	lfs f1, 0x58(r24)
/* 8020DAC0 00209720  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DAC4 00209724  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DAC8 00209728  40 80 00 10 */	bge lbl_8020DAD8
/* 8020DACC 0020972C  C0 02 9A 3C */	lfs f0, lbl_8064203C-_SDA2_BASE_(r2)
/* 8020DAD0 00209730  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DAD4 00209734  41 81 09 00 */	bgt lbl_8020E3D4
lbl_8020DAD8:
/* 8020DAD8 00209738  C0 38 00 5C */	lfs f1, 0x5c(r24)
/* 8020DADC 0020973C  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DAE0 00209740  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DAE4 00209744  40 80 00 14 */	bge lbl_8020DAF8
/* 8020DAE8 00209748  C0 02 9A 3C */	lfs f0, lbl_8064203C-_SDA2_BASE_(r2)
/* 8020DAEC 0020974C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DAF0 00209750  40 81 00 08 */	ble lbl_8020DAF8
/* 8020DAF4 00209754  48 00 08 E0 */	b lbl_8020E3D4
lbl_8020DAF8:
/* 8020DAF8 00209758  2C 1B 00 00 */	cmpwi r27, 0
/* 8020DAFC 0020975C  41 82 01 E4 */	beq lbl_8020DCE0
/* 8020DB00 00209760  83 BA 00 54 */	lwz r29, 0x54(r26)
/* 8020DB04 00209764  57 E0 02 53 */	rlwinm. r0, r31, 0, 9, 9
/* 8020DB08 00209768  8B 78 00 32 */	lbz r27, 0x32(r24)
/* 8020DB0C 0020976C  80 1D 00 00 */	lwz r0, 0(r29)
/* 8020DB10 00209770  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 8020DB14 00209774  41 82 01 90 */	beq lbl_8020DCA4
/* 8020DB18 00209778  B3 81 00 0C */	sth r28, 0xc(r1)
/* 8020DB1C 0020977C  E0 41 B0 0C */	psq_l f2, 12(r1), 1, qr3
/* 8020DB20 00209780  57 F7 4F FF */	rlwinm. r23, r31, 9, 0x1f, 0x1f
/* 8020DB24 00209784  41 82 00 0C */	beq lbl_8020DB30
/* 8020DB28 00209788  C0 02 9A 14 */	lfs f0, lbl_80642014-_SDA2_BASE_(r2)
/* 8020DB2C 0020978C  EC 42 00 28 */	fsubs f2, f2, f0
lbl_8020DB30:
/* 8020DB30 00209790  57 E0 01 CF */	rlwinm. r0, r31, 0, 7, 7
/* 8020DB34 00209794  41 82 00 54 */	beq lbl_8020DB88
/* 8020DB38 00209798  C0 7A 00 38 */	lfs f3, 0x38(r26)
/* 8020DB3C 0020979C  C0 22 9A 18 */	lfs f1, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DB40 002097A0  FC 03 08 40 */	fcmpo cr0, f3, f1
/* 8020DB44 002097A4  40 80 00 28 */	bge lbl_8020DB6C
/* 8020DB48 002097A8  C0 82 9A 3C */	lfs f4, lbl_8064203C-_SDA2_BASE_(r2)
/* 8020DB4C 002097AC  FC 03 20 40 */	fcmpo cr0, f3, f4
/* 8020DB50 002097B0  40 81 00 1C */	ble lbl_8020DB6C
/* 8020DB54 002097B4  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020DB58 002097B8  FC 03 00 40 */	fcmpo cr0, f3, f0
/* 8020DB5C 002097BC  40 80 00 08 */	bge lbl_8020DB64
/* 8020DB60 002097C0  48 00 00 10 */	b lbl_8020DB70
lbl_8020DB64:
/* 8020DB64 002097C4  FC 80 08 90 */	fmr f4, f1
/* 8020DB68 002097C8  48 00 00 08 */	b lbl_8020DB70
lbl_8020DB6C:
/* 8020DB6C 002097CC  C0 9A 00 38 */	lfs f4, 0x38(r26)
lbl_8020DB70:
/* 8020DB70 002097D0  C0 38 00 00 */	lfs f1, 0(r24)
/* 8020DB74 002097D4  C0 18 00 04 */	lfs f0, 4(r24)
/* 8020DB78 002097D8  EC 01 00 28 */	fsubs f0, f1, f0
/* 8020DB7C 002097DC  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020DB80 002097E0  EC 20 20 24 */	fdivs f1, f0, f4
/* 8020DB84 002097E4  48 00 00 24 */	b lbl_8020DBA8
lbl_8020DB88:
/* 8020DB88 002097E8  C0 78 00 04 */	lfs f3, 4(r24)
/* 8020DB8C 002097EC  C0 18 00 00 */	lfs f0, 0(r24)
/* 8020DB90 002097F0  C0 22 9A 14 */	lfs f1, lbl_80642014-_SDA2_BASE_(r2)
/* 8020DB94 002097F4  EC 63 00 24 */	fdivs f3, f3, f0
/* 8020DB98 002097F8  C0 1A 00 38 */	lfs f0, 0x38(r26)
/* 8020DB9C 002097FC  EC 21 18 28 */	fsubs f1, f1, f3
/* 8020DBA0 00209800  EC 22 00 72 */	fmuls f1, f2, f1
/* 8020DBA4 00209804  EC 20 00 72 */	fmuls f1, f0, f1
lbl_8020DBA8:
/* 8020DBA8 00209808  B3 61 00 0A */	sth r27, 0xa(r1)
/* 8020DBAC 0020980C  E0 01 B0 0A */	psq_l f0, 10(r1), 1, qr3
/* 8020DBB0 00209810  EC 21 00 2A */	fadds f1, f1, f0
/* 8020DBB4 00209814  4B FC 6A 2D */	bl fmod
/* 8020DBB8 00209818  FC 40 08 18 */	frsp f2, f1
/* 8020DBBC 0020981C  F0 41 B0 14 */	psq_st f2, 20(r1), 1, qr3
/* 8020DBC0 00209820  2C 17 00 00 */	cmpwi r23, 0
/* 8020DBC4 00209824  A3 61 00 14 */	lhz r27, 0x14(r1)
/* 8020DBC8 00209828  7C 1B E3 D6 */	divw r0, r27, r28
/* 8020DBCC 0020982C  7C 00 E1 D6 */	mullw r0, r0, r28
/* 8020DBD0 00209830  7C 00 D8 50 */	subf r0, r0, r27
/* 8020DBD4 00209834  54 1B 04 3E */	clrlwi r27, r0, 0x10
/* 8020DBD8 00209838  41 82 00 CC */	beq lbl_8020DCA4
/* 8020DBDC 0020983C  B3 61 00 08 */	sth r27, 8(r1)
/* 8020DBE0 00209840  E0 21 B0 08 */	psq_l f1, 8(r1), 1, qr3
/* 8020DBE4 00209844  C0 02 9A 20 */	lfs f0, lbl_80642020-_SDA2_BASE_(r2)
/* 8020DBE8 00209848  EC 22 08 28 */	fsubs f1, f2, f1
/* 8020DBEC 0020984C  EC 00 00 72 */	fmuls f0, f0, f1
/* 8020DBF0 00209850  F0 01 A0 10 */	psq_st f0, 16(r1), 1, qr2
/* 8020DBF4 00209854  88 01 00 10 */	lbz r0, 0x10(r1)
/* 8020DBF8 00209858  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020DBFC 0020985C  98 01 00 1B */	stb r0, 0x1b(r1)
/* 8020DC00 00209860  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020DC04 00209864  98 01 00 1A */	stb r0, 0x1a(r1)
/* 8020DC08 00209868  98 01 00 19 */	stb r0, 0x19(r1)
/* 8020DC0C 0020986C  98 01 00 18 */	stb r0, 0x18(r1)
/* 8020DC10 00209870  80 01 00 18 */	lwz r0, 0x18(r1)
/* 8020DC14 00209874  90 03 08 D4 */	stw r0, 0x8d4(r3)
/* 8020DC18 00209878  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020DC1C 0020987C  80 03 00 50 */	lwz r0, 0x50(r3)
/* 8020DC20 00209880  60 00 00 01 */	ori r0, r0, 1
/* 8020DC24 00209884  90 03 00 50 */	stw r0, 0x50(r3)
/* 8020DC28 00209888  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020DC2C 0020988C  80 03 00 00 */	lwz r0, 0(r3)
/* 8020DC30 00209890  60 00 00 10 */	ori r0, r0, 0x10
/* 8020DC34 00209894  90 03 00 00 */	stw r0, 0(r3)
/* 8020DC38 00209898  A0 18 00 30 */	lhz r0, 0x30(r24)
/* 8020DC3C 0020989C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8020DC40 002098A0  41 82 00 24 */	beq lbl_8020DC64
/* 8020DC44 002098A4  7C 9B E0 50 */	subf r4, r27, r28
/* 8020DC48 002098A8  38 04 FF FE */	addi r0, r4, -2
/* 8020DC4C 002098AC  54 03 10 3A */	slwi r3, r0, 2
/* 8020DC50 002098B0  7C 7D 1A 14 */	add r3, r29, r3
/* 8020DC54 002098B4  38 04 FF FF */	addi r0, r4, -1
/* 8020DC58 002098B8  80 83 00 04 */	lwz r4, 4(r3)
/* 8020DC5C 002098BC  54 1B 04 3E */	clrlwi r27, r0, 0x10
/* 8020DC60 002098C0  48 00 00 14 */	b lbl_8020DC74
lbl_8020DC64:
/* 8020DC64 002098C4  38 1B 00 01 */	addi r0, r27, 1
/* 8020DC68 002098C8  54 00 10 3A */	slwi r0, r0, 2
/* 8020DC6C 002098CC  7C 7D 02 14 */	add r3, r29, r0
/* 8020DC70 002098D0  80 83 00 04 */	lwz r4, 4(r3)
lbl_8020DC74:
/* 8020DC74 002098D4  57 E0 05 EF */	rlwinm. r0, r31, 0, 0x17, 0x17
/* 8020DC78 002098D8  39 00 00 00 */	li r8, 0
/* 8020DC7C 002098DC  41 82 00 08 */	beq lbl_8020DC84
/* 8020DC80 002098E0  39 00 00 02 */	li r8, 2
lbl_8020DC84:
/* 8020DC84 002098E4  57 E0 06 31 */	rlwinm. r0, r31, 0, 0x18, 0x18
/* 8020DC88 002098E8  57 E5 A7 BE */	rlwinm r5, r31, 0x14, 0x1e, 0x1f
/* 8020DC8C 002098EC  57 E6 97 BE */	rlwinm r6, r31, 0x12, 0x1e, 0x1f
/* 8020DC90 002098F0  38 60 00 01 */	li r3, 1
/* 8020DC94 002098F4  38 E0 00 00 */	li r7, 0
/* 8020DC98 002098F8  41 82 00 08 */	beq lbl_8020DCA0
/* 8020DC9C 002098FC  38 E0 00 02 */	li r7, 2
lbl_8020DCA0:
/* 8020DCA0 00209900  4B FF 77 81 */	bl func_80205420
lbl_8020DCA4:
/* 8020DCA4 00209904  57 63 13 BA */	rlwinm r3, r27, 2, 0xe, 0x1d
/* 8020DCA8 00209908  57 E0 05 EF */	rlwinm. r0, r31, 0, 0x17, 0x17
/* 8020DCAC 0020990C  7C 7D 1A 14 */	add r3, r29, r3
/* 8020DCB0 00209910  39 00 00 00 */	li r8, 0
/* 8020DCB4 00209914  80 83 00 04 */	lwz r4, 4(r3)
/* 8020DCB8 00209918  41 82 00 08 */	beq lbl_8020DCC0
/* 8020DCBC 0020991C  39 00 00 02 */	li r8, 2
lbl_8020DCC0:
/* 8020DCC0 00209920  57 E0 06 31 */	rlwinm. r0, r31, 0, 0x18, 0x18
/* 8020DCC4 00209924  57 E5 A7 BE */	rlwinm r5, r31, 0x14, 0x1e, 0x1f
/* 8020DCC8 00209928  57 E6 97 BE */	rlwinm r6, r31, 0x12, 0x1e, 0x1f
/* 8020DCCC 0020992C  38 60 00 00 */	li r3, 0
/* 8020DCD0 00209930  38 E0 00 00 */	li r7, 0
/* 8020DCD4 00209934  41 82 00 08 */	beq lbl_8020DCDC
/* 8020DCD8 00209938  38 E0 00 02 */	li r7, 2
lbl_8020DCDC:
/* 8020DCDC 0020993C  4B FF 77 45 */	bl func_80205420
lbl_8020DCE0:
/* 8020DCE0 00209940  57 E0 05 AD */	rlwinm. r0, r31, 0, 0x16, 0x16
/* 8020DCE4 00209944  41 82 00 B8 */	beq lbl_8020DD9C
/* 8020DCE8 00209948  57 E0 05 6B */	rlwinm. r0, r31, 0, 0x15, 0x15
/* 8020DCEC 0020994C  41 82 00 28 */	beq lbl_8020DD14
/* 8020DCF0 00209950  3C 80 80 49 */	lis r4, lbl_80493614@ha
/* 8020DCF4 00209954  38 64 36 14 */	addi r3, r4, lbl_80493614@l
/* 8020DCF8 00209958  C0 44 36 14 */	lfs f2, 0x3614(r4)
/* 8020DCFC 0020995C  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020DD00 00209960  C0 03 00 08 */	lfs f0, 8(r3)
/* 8020DD04 00209964  D0 41 00 FC */	stfs f2, 0xfc(r1)
/* 8020DD08 00209968  D0 21 01 00 */	stfs f1, 0x100(r1)
/* 8020DD0C 0020996C  D0 01 01 04 */	stfs f0, 0x104(r1)
/* 8020DD10 00209970  48 00 00 24 */	b lbl_8020DD34
lbl_8020DD14:
/* 8020DD14 00209974  3C 80 80 49 */	lis r4, lbl_80492248@ha
/* 8020DD18 00209978  38 64 22 48 */	addi r3, r4, lbl_80492248@l
/* 8020DD1C 0020997C  C0 44 22 48 */	lfs f2, 0x2248(r4)
/* 8020DD20 00209980  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020DD24 00209984  C0 03 00 08 */	lfs f0, 8(r3)
/* 8020DD28 00209988  D0 41 00 FC */	stfs f2, 0xfc(r1)
/* 8020DD2C 0020998C  D0 21 01 00 */	stfs f1, 0x100(r1)
/* 8020DD30 00209990  D0 01 01 04 */	stfs f0, 0x104(r1)
lbl_8020DD34:
/* 8020DD34 00209994  3C 80 80 49 */	lis r4, lbl_8049223C@ha
/* 8020DD38 00209998  3C A0 80 49 */	lis r5, lbl_80492254@ha
/* 8020DD3C 0020999C  38 64 22 3C */	addi r3, r4, lbl_8049223C@l
/* 8020DD40 002099A0  C0 04 22 3C */	lfs f0, 0x223c(r4)
/* 8020DD44 002099A4  C0 43 00 08 */	lfs f2, 8(r3)
/* 8020DD48 002099A8  38 85 22 54 */	addi r4, r5, lbl_80492254@l
/* 8020DD4C 002099AC  C0 23 00 04 */	lfs f1, 4(r3)
/* 8020DD50 002099B0  FD 00 00 50 */	fneg f8, f0
/* 8020DD54 002099B4  FC C0 10 50 */	fneg f6, f2
/* 8020DD58 002099B8  C0 A5 22 54 */	lfs f5, 0x2254(r5)
/* 8020DD5C 002099BC  FC E0 08 50 */	fneg f7, f1
/* 8020DD60 002099C0  C0 84 00 04 */	lfs f4, 4(r4)
/* 8020DD64 002099C4  FC 40 40 18 */	frsp f2, f8
/* 8020DD68 002099C8  FC 00 30 18 */	frsp f0, f6
/* 8020DD6C 002099CC  FC 20 38 18 */	frsp f1, f7
/* 8020DD70 002099D0  C0 64 00 08 */	lfs f3, 8(r4)
/* 8020DD74 002099D4  D0 A1 01 08 */	stfs f5, 0x108(r1)
/* 8020DD78 002099D8  D0 81 01 0C */	stfs f4, 0x10c(r1)
/* 8020DD7C 002099DC  D0 61 01 10 */	stfs f3, 0x110(r1)
/* 8020DD80 002099E0  D1 01 00 84 */	stfs f8, 0x84(r1)
/* 8020DD84 002099E4  D0 E1 00 88 */	stfs f7, 0x88(r1)
/* 8020DD88 002099E8  D0 C1 00 8C */	stfs f6, 0x8c(r1)
/* 8020DD8C 002099EC  D0 41 00 F0 */	stfs f2, 0xf0(r1)
/* 8020DD90 002099F0  D0 21 00 F4 */	stfs f1, 0xf4(r1)
/* 8020DD94 002099F4  D0 01 00 F8 */	stfs f0, 0xf8(r1)
/* 8020DD98 002099F8  48 00 01 AC */	b lbl_8020DF44
lbl_8020DD9C:
/* 8020DD9C 002099FC  3F 60 80 49 */	lis r27, lbl_80493614@ha
/* 8020DDA0 00209A00  C0 3A 00 24 */	lfs f1, 0x24(r26)
/* 8020DDA4 00209A04  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8020DDA8 00209A08  38 9B 36 14 */	addi r4, r27, lbl_80493614@l
/* 8020DDAC 00209A0C  48 06 F3 79 */	bl C_QUATRotAxisRad
/* 8020DDB0 00209A10  3C 80 80 49 */	lis r4, lbl_80493620@ha
/* 8020DDB4 00209A14  C0 3A 00 28 */	lfs f1, 0x28(r26)
/* 8020DDB8 00209A18  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8020DDBC 00209A1C  38 84 36 20 */	addi r4, r4, lbl_80493620@l
/* 8020DDC0 00209A20  48 06 F3 65 */	bl C_QUATRotAxisRad
/* 8020DDC4 00209A24  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8020DDC8 00209A28  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020DDCC 00209A2C  7C 65 1B 78 */	mr r5, r3
/* 8020DDD0 00209A30  48 06 F2 55 */	bl PSQUATMultiply
/* 8020DDD4 00209A34  3C 80 80 49 */	lis r4, lbl_80493608@ha
/* 8020DDD8 00209A38  38 61 00 78 */	addi r3, r1, 0x78
/* 8020DDDC 00209A3C  38 A4 36 08 */	addi r5, r4, lbl_80493608@l
/* 8020DDE0 00209A40  C0 44 36 08 */	lfs f2, 0x3608(r4)
/* 8020DDE4 00209A44  C0 25 00 04 */	lfs f1, 4(r5)
/* 8020DDE8 00209A48  38 81 00 B8 */	addi r4, r1, 0xb8
/* 8020DDEC 00209A4C  C0 05 00 08 */	lfs f0, 8(r5)
/* 8020DDF0 00209A50  D0 41 00 78 */	stfs f2, 0x78(r1)
/* 8020DDF4 00209A54  D0 21 00 7C */	stfs f1, 0x7c(r1)
/* 8020DDF8 00209A58  D0 01 00 80 */	stfs f0, 0x80(r1)
/* 8020DDFC 00209A5C  48 01 5C 11 */	bl func_80223A0C
/* 8020DE00 00209A60  38 BB 36 14 */	addi r5, r27, 0x3614
/* 8020DE04 00209A64  C0 A1 00 78 */	lfs f5, 0x78(r1)
/* 8020DE08 00209A68  C0 81 00 7C */	lfs f4, 0x7c(r1)
/* 8020DE0C 00209A6C  38 61 00 6C */	addi r3, r1, 0x6c
/* 8020DE10 00209A70  C0 61 00 80 */	lfs f3, 0x80(r1)
/* 8020DE14 00209A74  38 81 00 B8 */	addi r4, r1, 0xb8
/* 8020DE18 00209A78  C0 5B 36 14 */	lfs f2, 0x3614(r27)
/* 8020DE1C 00209A7C  C0 25 00 04 */	lfs f1, 4(r5)
/* 8020DE20 00209A80  C0 05 00 08 */	lfs f0, 8(r5)
/* 8020DE24 00209A84  D0 A1 01 08 */	stfs f5, 0x108(r1)
/* 8020DE28 00209A88  D0 81 01 0C */	stfs f4, 0x10c(r1)
/* 8020DE2C 00209A8C  D0 61 01 10 */	stfs f3, 0x110(r1)
/* 8020DE30 00209A90  D0 41 00 6C */	stfs f2, 0x6c(r1)
/* 8020DE34 00209A94  D0 21 00 70 */	stfs f1, 0x70(r1)
/* 8020DE38 00209A98  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 8020DE3C 00209A9C  48 01 5B D1 */	bl func_80223A0C
/* 8020DE40 00209AA0  C0 41 00 6C */	lfs f2, 0x6c(r1)
/* 8020DE44 00209AA4  C0 21 00 70 */	lfs f1, 0x70(r1)
/* 8020DE48 00209AA8  C0 01 00 74 */	lfs f0, 0x74(r1)
/* 8020DE4C 00209AAC  D0 41 00 FC */	stfs f2, 0xfc(r1)
/* 8020DE50 00209AB0  D0 21 01 00 */	stfs f1, 0x100(r1)
/* 8020DE54 00209AB4  D0 01 01 04 */	stfs f0, 0x104(r1)
/* 8020DE58 00209AB8  80 79 00 FC */	lwz r3, 0xfc(r25)
/* 8020DE5C 00209ABC  80 03 00 00 */	lwz r0, 0(r3)
/* 8020DE60 00209AC0  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 8020DE64 00209AC4  41 82 00 98 */	beq lbl_8020DEFC
/* 8020DE68 00209AC8  C0 B8 00 14 */	lfs f5, 0x14(r24)
/* 8020DE6C 00209ACC  C0 78 00 1C */	lfs f3, 0x1c(r24)
/* 8020DE70 00209AD0  EC 25 01 72 */	fmuls f1, f5, f5
/* 8020DE74 00209AD4  C0 98 00 18 */	lfs f4, 0x18(r24)
/* 8020DE78 00209AD8  EC 03 00 F2 */	fmuls f0, f3, f3
/* 8020DE7C 00209ADC  C0 42 9A 10 */	lfs f2, lbl_80642010-_SDA2_BASE_(r2)
/* 8020DE80 00209AE0  D0 A1 00 9C */	stfs f5, 0x9c(r1)
/* 8020DE84 00209AE4  EC 21 00 2A */	fadds f1, f1, f0
/* 8020DE88 00209AE8  D0 81 00 A0 */	stfs f4, 0xa0(r1)
/* 8020DE8C 00209AEC  D0 61 00 A4 */	stfs f3, 0xa4(r1)
/* 8020DE90 00209AF0  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 8020DE94 00209AF4  4C 40 13 82 */	cror 2, 0, 2
/* 8020DE98 00209AF8  40 82 00 08 */	bne lbl_8020DEA0
/* 8020DE9C 00209AFC  48 00 00 0C */	b lbl_8020DEA8
lbl_8020DEA0:
/* 8020DEA0 00209B00  4B FC 69 95 */	bl sqrt
/* 8020DEA4 00209B04  FC 40 08 18 */	frsp f2, f1
lbl_8020DEA8:
/* 8020DEA8 00209B08  C0 01 00 A0 */	lfs f0, 0xa0(r1)
/* 8020DEAC 00209B0C  FC 20 00 50 */	fneg f1, f0
/* 8020DEB0 00209B10  4B FC 67 2D */	bl atan2
/* 8020DEB4 00209B14  FC 00 08 18 */	frsp f0, f1
/* 8020DEB8 00209B18  C0 41 00 A4 */	lfs f2, 0xa4(r1)
/* 8020DEBC 00209B1C  C0 21 00 9C */	lfs f1, 0x9c(r1)
/* 8020DEC0 00209B20  D0 01 00 A8 */	stfs f0, 0xa8(r1)
/* 8020DEC4 00209B24  4B FC 67 19 */	bl atan2
/* 8020DEC8 00209B28  FC 20 08 18 */	frsp f1, f1
/* 8020DECC 00209B2C  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020DED0 00209B30  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8020DED4 00209B34  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8020DED8 00209B38  D0 01 00 B0 */	stfs f0, 0xb0(r1)
/* 8020DEDC 00209B3C  D0 21 00 AC */	stfs f1, 0xac(r1)
/* 8020DEE0 00209B40  48 01 57 E1 */	bl func_802236C0
/* 8020DEE4 00209B44  38 61 01 08 */	addi r3, r1, 0x108
/* 8020DEE8 00209B48  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020DEEC 00209B4C  48 01 5B 21 */	bl func_80223A0C
/* 8020DEF0 00209B50  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020DEF4 00209B54  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020DEF8 00209B58  48 01 5B 15 */	bl func_80223A0C
lbl_8020DEFC:
/* 8020DEFC 00209B5C  80 98 00 20 */	lwz r4, 0x20(r24)
/* 8020DF00 00209B60  38 61 01 08 */	addi r3, r1, 0x108
/* 8020DF04 00209B64  38 84 00 0C */	addi r4, r4, 0xc
/* 8020DF08 00209B68  48 01 5B 05 */	bl func_80223A0C
/* 8020DF0C 00209B6C  80 98 00 20 */	lwz r4, 0x20(r24)
/* 8020DF10 00209B70  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020DF14 00209B74  38 84 00 0C */	addi r4, r4, 0xc
/* 8020DF18 00209B78  48 01 5A F5 */	bl func_80223A0C
/* 8020DF1C 00209B7C  38 61 01 08 */	addi r3, r1, 0x108
/* 8020DF20 00209B80  38 81 00 FC */	addi r4, r1, 0xfc
/* 8020DF24 00209B84  38 A1 00 60 */	addi r5, r1, 0x60
/* 8020DF28 00209B88  48 06 EE C1 */	bl PSVECCrossProduct
/* 8020DF2C 00209B8C  C0 41 00 60 */	lfs f2, 0x60(r1)
/* 8020DF30 00209B90  C0 21 00 64 */	lfs f1, 0x64(r1)
/* 8020DF34 00209B94  C0 01 00 68 */	lfs f0, 0x68(r1)
/* 8020DF38 00209B98  D0 41 00 F0 */	stfs f2, 0xf0(r1)
/* 8020DF3C 00209B9C  D0 21 00 F4 */	stfs f1, 0xf4(r1)
/* 8020DF40 00209BA0  D0 01 00 F8 */	stfs f0, 0xf8(r1)
lbl_8020DF44:
/* 8020DF44 00209BA4  57 F9 06 F7 */	rlwinm. r25, r31, 0, 0x1b, 0x1b
/* 8020DF48 00209BA8  41 82 00 50 */	beq lbl_8020DF98
/* 8020DF4C 00209BAC  C0 38 00 54 */	lfs f1, 0x54(r24)
/* 8020DF50 00209BB0  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020DF54 00209BB4  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DF58 00209BB8  40 81 00 08 */	ble lbl_8020DF60
/* 8020DF5C 00209BBC  48 00 00 08 */	b lbl_8020DF64
lbl_8020DF60:
/* 8020DF60 00209BC0  FC 20 08 50 */	fneg f1, f1
lbl_8020DF64:
/* 8020DF64 00209BC4  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020DF68 00209BC8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020DF6C 00209BCC  40 81 00 2C */	ble lbl_8020DF98
/* 8020DF70 00209BD0  C0 38 00 54 */	lfs f1, 0x54(r24)
/* 8020DF74 00209BD4  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8020DF78 00209BD8  38 81 00 F0 */	addi r4, r1, 0xf0
/* 8020DF7C 00209BDC  48 06 F1 A9 */	bl C_QUATRotAxisRad
/* 8020DF80 00209BE0  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020DF84 00209BE4  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020DF88 00209BE8  48 01 5A 85 */	bl func_80223A0C
/* 8020DF8C 00209BEC  38 61 01 08 */	addi r3, r1, 0x108
/* 8020DF90 00209BF0  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020DF94 00209BF4  48 01 5A 79 */	bl func_80223A0C
lbl_8020DF98:
/* 8020DF98 00209BF8  80 78 00 20 */	lwz r3, 0x20(r24)
/* 8020DF9C 00209BFC  38 81 00 50 */	addi r4, r1, 0x50
/* 8020DFA0 00209C00  38 63 00 0C */	addi r3, r3, 0xc
/* 8020DFA4 00209C04  48 06 F0 DD */	bl PSQUATInverse
/* 8020DFA8 00209C08  C0 C1 00 50 */	lfs f6, 0x50(r1)
/* 8020DFAC 00209C0C  38 61 00 40 */	addi r3, r1, 0x40
/* 8020DFB0 00209C10  C0 A1 00 54 */	lfs f5, 0x54(r1)
/* 8020DFB4 00209C14  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020DFB8 00209C18  C0 81 00 58 */	lfs f4, 0x58(r1)
/* 8020DFBC 00209C1C  C0 61 00 5C */	lfs f3, 0x5c(r1)
/* 8020DFC0 00209C20  C0 41 01 08 */	lfs f2, 0x108(r1)
/* 8020DFC4 00209C24  C0 21 01 0C */	lfs f1, 0x10c(r1)
/* 8020DFC8 00209C28  C0 01 01 10 */	lfs f0, 0x110(r1)
/* 8020DFCC 00209C2C  D0 C1 00 C8 */	stfs f6, 0xc8(r1)
/* 8020DFD0 00209C30  D0 A1 00 CC */	stfs f5, 0xcc(r1)
/* 8020DFD4 00209C34  D0 81 00 D0 */	stfs f4, 0xd0(r1)
/* 8020DFD8 00209C38  D0 61 00 D4 */	stfs f3, 0xd4(r1)
/* 8020DFDC 00209C3C  D0 41 00 40 */	stfs f2, 0x40(r1)
/* 8020DFE0 00209C40  D0 21 00 44 */	stfs f1, 0x44(r1)
/* 8020DFE4 00209C44  D0 01 00 48 */	stfs f0, 0x48(r1)
/* 8020DFE8 00209C48  48 01 5A 25 */	bl func_80223A0C
/* 8020DFEC 00209C4C  C0 61 00 40 */	lfs f3, 0x40(r1)
/* 8020DFF0 00209C50  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020DFF4 00209C54  C0 41 00 44 */	lfs f2, 0x44(r1)
/* 8020DFF8 00209C58  C0 21 00 48 */	lfs f1, 0x48(r1)
/* 8020DFFC 00209C5C  D0 61 00 D8 */	stfs f3, 0xd8(r1)
/* 8020E000 00209C60  D0 41 00 DC */	stfs f2, 0xdc(r1)
/* 8020E004 00209C64  D0 21 00 E0 */	stfs f1, 0xe0(r1)
/* 8020E008 00209C68  80 98 00 20 */	lwz r4, 0x20(r24)
/* 8020E00C 00209C6C  C0 04 00 1C */	lfs f0, 0x1c(r4)
/* 8020E010 00209C70  EC 03 00 32 */	fmuls f0, f3, f0
/* 8020E014 00209C74  D0 01 00 D8 */	stfs f0, 0xd8(r1)
/* 8020E018 00209C78  C0 04 00 20 */	lfs f0, 0x20(r4)
/* 8020E01C 00209C7C  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020E020 00209C80  D0 01 00 DC */	stfs f0, 0xdc(r1)
/* 8020E024 00209C84  C0 04 00 24 */	lfs f0, 0x24(r4)
/* 8020E028 00209C88  EC 01 00 32 */	fmuls f0, f1, f0
/* 8020E02C 00209C8C  D0 01 00 E0 */	stfs f0, 0xe0(r1)
/* 8020E030 00209C90  80 98 00 20 */	lwz r4, 0x20(r24)
/* 8020E034 00209C94  38 84 00 0C */	addi r4, r4, 0xc
/* 8020E038 00209C98  48 01 59 D5 */	bl func_80223A0C
/* 8020E03C 00209C9C  38 61 01 08 */	addi r3, r1, 0x108
/* 8020E040 00209CA0  38 81 00 D8 */	addi r4, r1, 0xd8
/* 8020E044 00209CA4  48 06 ED 85 */	bl PSVECDotProduct
/* 8020E048 00209CA8  38 61 01 08 */	addi r3, r1, 0x108
/* 8020E04C 00209CAC  7C 64 1B 78 */	mr r4, r3
/* 8020E050 00209CB0  48 06 EC BD */	bl PSVECScale
/* 8020E054 00209CB4  C0 41 00 FC */	lfs f2, 0xfc(r1)
/* 8020E058 00209CB8  38 61 00 34 */	addi r3, r1, 0x34
/* 8020E05C 00209CBC  C0 21 01 00 */	lfs f1, 0x100(r1)
/* 8020E060 00209CC0  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020E064 00209CC4  C0 01 01 04 */	lfs f0, 0x104(r1)
/* 8020E068 00209CC8  D0 41 00 34 */	stfs f2, 0x34(r1)
/* 8020E06C 00209CCC  D0 21 00 38 */	stfs f1, 0x38(r1)
/* 8020E070 00209CD0  D0 01 00 3C */	stfs f0, 0x3c(r1)
/* 8020E074 00209CD4  48 01 59 99 */	bl func_80223A0C
/* 8020E078 00209CD8  C0 61 00 34 */	lfs f3, 0x34(r1)
/* 8020E07C 00209CDC  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E080 00209CE0  C0 41 00 38 */	lfs f2, 0x38(r1)
/* 8020E084 00209CE4  C0 21 00 3C */	lfs f1, 0x3c(r1)
/* 8020E088 00209CE8  D0 61 00 D8 */	stfs f3, 0xd8(r1)
/* 8020E08C 00209CEC  D0 41 00 DC */	stfs f2, 0xdc(r1)
/* 8020E090 00209CF0  D0 21 00 E0 */	stfs f1, 0xe0(r1)
/* 8020E094 00209CF4  80 98 00 20 */	lwz r4, 0x20(r24)
/* 8020E098 00209CF8  C0 04 00 1C */	lfs f0, 0x1c(r4)
/* 8020E09C 00209CFC  EC 03 00 32 */	fmuls f0, f3, f0
/* 8020E0A0 00209D00  D0 01 00 D8 */	stfs f0, 0xd8(r1)
/* 8020E0A4 00209D04  C0 04 00 20 */	lfs f0, 0x20(r4)
/* 8020E0A8 00209D08  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020E0AC 00209D0C  D0 01 00 DC */	stfs f0, 0xdc(r1)
/* 8020E0B0 00209D10  C0 04 00 24 */	lfs f0, 0x24(r4)
/* 8020E0B4 00209D14  EC 01 00 32 */	fmuls f0, f1, f0
/* 8020E0B8 00209D18  D0 01 00 E0 */	stfs f0, 0xe0(r1)
/* 8020E0BC 00209D1C  80 98 00 20 */	lwz r4, 0x20(r24)
/* 8020E0C0 00209D20  38 84 00 0C */	addi r4, r4, 0xc
/* 8020E0C4 00209D24  48 01 59 49 */	bl func_80223A0C
/* 8020E0C8 00209D28  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020E0CC 00209D2C  38 81 00 D8 */	addi r4, r1, 0xd8
/* 8020E0D0 00209D30  48 06 EC F9 */	bl PSVECDotProduct
/* 8020E0D4 00209D34  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020E0D8 00209D38  7C 64 1B 78 */	mr r4, r3
/* 8020E0DC 00209D3C  48 06 EC 31 */	bl PSVECScale
/* 8020E0E0 00209D40  38 61 01 08 */	addi r3, r1, 0x108
/* 8020E0E4 00209D44  C0 38 00 58 */	lfs f1, 0x58(r24)
/* 8020E0E8 00209D48  7C 64 1B 78 */	mr r4, r3
/* 8020E0EC 00209D4C  48 06 EC 21 */	bl PSVECScale
/* 8020E0F0 00209D50  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020E0F4 00209D54  C0 38 00 5C */	lfs f1, 0x5c(r24)
/* 8020E0F8 00209D58  7C 64 1B 78 */	mr r4, r3
/* 8020E0FC 00209D5C  48 06 EC 11 */	bl PSVECScale
/* 8020E100 00209D60  2C 19 00 00 */	cmpwi r25, 0
/* 8020E104 00209D64  40 82 00 50 */	bne lbl_8020E154
/* 8020E108 00209D68  C0 38 00 54 */	lfs f1, 0x54(r24)
/* 8020E10C 00209D6C  C0 02 9A 10 */	lfs f0, lbl_80642010-_SDA2_BASE_(r2)
/* 8020E110 00209D70  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020E114 00209D74  40 81 00 08 */	ble lbl_8020E11C
/* 8020E118 00209D78  48 00 00 08 */	b lbl_8020E120
lbl_8020E11C:
/* 8020E11C 00209D7C  FC 20 08 50 */	fneg f1, f1
lbl_8020E120:
/* 8020E120 00209D80  C0 02 9A 18 */	lfs f0, lbl_80642018-_SDA2_BASE_(r2)
/* 8020E124 00209D84  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020E128 00209D88  40 81 00 2C */	ble lbl_8020E154
/* 8020E12C 00209D8C  C0 38 00 54 */	lfs f1, 0x54(r24)
/* 8020E130 00209D90  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8020E134 00209D94  38 81 00 F0 */	addi r4, r1, 0xf0
/* 8020E138 00209D98  48 06 EF ED */	bl C_QUATRotAxisRad
/* 8020E13C 00209D9C  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020E140 00209DA0  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020E144 00209DA4  48 01 58 C9 */	bl func_80223A0C
/* 8020E148 00209DA8  38 61 01 08 */	addi r3, r1, 0x108
/* 8020E14C 00209DAC  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020E150 00209DB0  48 01 58 BD */	bl func_80223A0C
lbl_8020E154:
/* 8020E154 00209DB4  C0 18 00 48 */	lfs f0, 0x48(r24)
/* 8020E158 00209DB8  57 E0 03 5B */	rlwinm. r0, r31, 0, 0xd, 0xd
/* 8020E15C 00209DBC  D0 01 00 E4 */	stfs f0, 0xe4(r1)
/* 8020E160 00209DC0  C0 18 00 4C */	lfs f0, 0x4c(r24)
/* 8020E164 00209DC4  D0 01 00 E8 */	stfs f0, 0xe8(r1)
/* 8020E168 00209DC8  C0 18 00 50 */	lfs f0, 0x50(r24)
/* 8020E16C 00209DCC  D0 01 00 EC */	stfs f0, 0xec(r1)
/* 8020E170 00209DD0  41 82 00 44 */	beq lbl_8020E1B4
/* 8020E174 00209DD4  C0 3A 00 1C */	lfs f1, 0x1c(r26)
/* 8020E178 00209DD8  38 61 01 08 */	addi r3, r1, 0x108
/* 8020E17C 00209DDC  38 81 00 28 */	addi r4, r1, 0x28
/* 8020E180 00209DE0  48 06 EB 8D */	bl PSVECScale
/* 8020E184 00209DE4  38 61 00 E4 */	addi r3, r1, 0xe4
/* 8020E188 00209DE8  38 81 00 28 */	addi r4, r1, 0x28
/* 8020E18C 00209DEC  7C 65 1B 78 */	mr r5, r3
/* 8020E190 00209DF0  48 06 EB 35 */	bl PSVECAdd
/* 8020E194 00209DF4  C0 3A 00 20 */	lfs f1, 0x20(r26)
/* 8020E198 00209DF8  38 61 00 FC */	addi r3, r1, 0xfc
/* 8020E19C 00209DFC  38 81 00 1C */	addi r4, r1, 0x1c
/* 8020E1A0 00209E00  48 06 EB 6D */	bl PSVECScale
/* 8020E1A4 00209E04  38 61 00 E4 */	addi r3, r1, 0xe4
/* 8020E1A8 00209E08  38 81 00 1C */	addi r4, r1, 0x1c
/* 8020E1AC 00209E0C  7C 65 1B 78 */	mr r5, r3
/* 8020E1B0 00209E10  48 06 EB 15 */	bl PSVECAdd
lbl_8020E1B4:
/* 8020E1B4 00209E14  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020E1B8 00209E18  38 80 00 04 */	li r4, 4
/* 8020E1BC 00209E1C  48 02 53 71 */	bl begin_drawing
/* 8020E1C0 00209E20  C0 41 00 E4 */	lfs f2, 0xe4(r1)
/* 8020E1C4 00209E24  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E1C8 00209E28  C0 21 00 E8 */	lfs f1, 0xe8(r1)
/* 8020E1CC 00209E2C  7C 65 1B 78 */	mr r5, r3
/* 8020E1D0 00209E30  C0 01 00 EC */	lfs f0, 0xec(r1)
/* 8020E1D4 00209E34  38 81 01 08 */	addi r4, r1, 0x108
/* 8020E1D8 00209E38  D0 41 00 D8 */	stfs f2, 0xd8(r1)
/* 8020E1DC 00209E3C  D0 21 00 DC */	stfs f1, 0xdc(r1)
/* 8020E1E0 00209E40  D0 01 00 E0 */	stfs f0, 0xe0(r1)
/* 8020E1E4 00209E44  48 06 EB 05 */	bl PSVECSubtract
/* 8020E1E8 00209E48  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E1EC 00209E4C  38 81 00 FC */	addi r4, r1, 0xfc
/* 8020E1F0 00209E50  7C 65 1B 78 */	mr r5, r3
/* 8020E1F4 00209E54  48 06 EA D1 */	bl PSVECAdd
/* 8020E1F8 00209E58  C0 01 00 E0 */	lfs f0, 0xe0(r1)
/* 8020E1FC 00209E5C  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8020E200 00209E60  C0 21 00 DC */	lfs f1, 0xdc(r1)
/* 8020E204 00209E64  2C 1E 00 00 */	cmpwi r30, 0
/* 8020E208 00209E68  C0 41 00 D8 */	lfs f2, 0xd8(r1)
/* 8020E20C 00209E6C  D0 43 80 00 */	stfs f2, 0xCC008000@l(r3)
/* 8020E210 00209E70  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8020E214 00209E74  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8020E218 00209E78  C0 41 00 F8 */	lfs f2, 0xf8(r1)
/* 8020E21C 00209E7C  C0 21 00 F4 */	lfs f1, 0xf4(r1)
/* 8020E220 00209E80  C0 01 00 F0 */	lfs f0, 0xf0(r1)
/* 8020E224 00209E84  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8020E228 00209E88  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8020E22C 00209E8C  D0 43 80 00 */	stfs f2, -0x8000(r3)
/* 8020E230 00209E90  80 18 00 60 */	lwz r0, 0x60(r24)
/* 8020E234 00209E94  90 03 80 00 */	stw r0, -0x8000(r3)
/* 8020E238 00209E98  41 82 00 0C */	beq lbl_8020E244
/* 8020E23C 00209E9C  80 18 00 64 */	lwz r0, 0x64(r24)
/* 8020E240 00209EA0  90 03 80 00 */	stw r0, -0x8000(r3)
lbl_8020E244:
/* 8020E244 00209EA4  A8 DA 00 4E */	lha r6, 0x4e(r26)
/* 8020E248 00209EA8  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E24C 00209EAC  A8 1A 00 4C */	lha r0, 0x4c(r26)
/* 8020E250 00209EB0  3F 20 CC 01 */	lis r25, 0xCC008000@ha
/* 8020E254 00209EB4  38 81 01 08 */	addi r4, r1, 0x108
/* 8020E258 00209EB8  7C 65 1B 78 */	mr r5, r3
/* 8020E25C 00209EBC  B0 19 80 00 */	sth r0, 0xCC008000@l(r25)
/* 8020E260 00209EC0  B0 D9 80 00 */	sth r6, -0x8000(r25)
/* 8020E264 00209EC4  48 06 EA 61 */	bl PSVECAdd
/* 8020E268 00209EC8  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E26C 00209ECC  38 81 01 08 */	addi r4, r1, 0x108
/* 8020E270 00209ED0  7C 65 1B 78 */	mr r5, r3
/* 8020E274 00209ED4  48 06 EA 51 */	bl PSVECAdd
/* 8020E278 00209ED8  C0 01 00 E0 */	lfs f0, 0xe0(r1)
/* 8020E27C 00209EDC  2C 1E 00 00 */	cmpwi r30, 0
/* 8020E280 00209EE0  C0 21 00 DC */	lfs f1, 0xdc(r1)
/* 8020E284 00209EE4  C0 41 00 D8 */	lfs f2, 0xd8(r1)
/* 8020E288 00209EE8  D0 59 80 00 */	stfs f2, -0x8000(r25)
/* 8020E28C 00209EEC  D0 39 80 00 */	stfs f1, -0x8000(r25)
/* 8020E290 00209EF0  D0 19 80 00 */	stfs f0, -0x8000(r25)
/* 8020E294 00209EF4  C0 41 00 F8 */	lfs f2, 0xf8(r1)
/* 8020E298 00209EF8  C0 21 00 F4 */	lfs f1, 0xf4(r1)
/* 8020E29C 00209EFC  C0 01 00 F0 */	lfs f0, 0xf0(r1)
/* 8020E2A0 00209F00  D0 19 80 00 */	stfs f0, -0x8000(r25)
/* 8020E2A4 00209F04  D0 39 80 00 */	stfs f1, -0x8000(r25)
/* 8020E2A8 00209F08  D0 59 80 00 */	stfs f2, -0x8000(r25)
/* 8020E2AC 00209F0C  80 18 00 60 */	lwz r0, 0x60(r24)
/* 8020E2B0 00209F10  90 19 80 00 */	stw r0, -0x8000(r25)
/* 8020E2B4 00209F14  41 82 00 0C */	beq lbl_8020E2C0
/* 8020E2B8 00209F18  80 18 00 64 */	lwz r0, 0x64(r24)
/* 8020E2BC 00209F1C  90 19 80 00 */	stw r0, -0x8000(r25)
lbl_8020E2C0:
/* 8020E2C0 00209F20  A8 DA 00 4E */	lha r6, 0x4e(r26)
/* 8020E2C4 00209F24  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E2C8 00209F28  A8 1A 00 50 */	lha r0, 0x50(r26)
/* 8020E2CC 00209F2C  3F 20 CC 01 */	lis r25, 0xCC008000@ha
/* 8020E2D0 00209F30  38 81 00 FC */	addi r4, r1, 0xfc
/* 8020E2D4 00209F34  7C 65 1B 78 */	mr r5, r3
/* 8020E2D8 00209F38  B0 19 80 00 */	sth r0, 0xCC008000@l(r25)
/* 8020E2DC 00209F3C  B0 D9 80 00 */	sth r6, -0x8000(r25)
/* 8020E2E0 00209F40  48 06 EA 09 */	bl PSVECSubtract
/* 8020E2E4 00209F44  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E2E8 00209F48  38 81 00 FC */	addi r4, r1, 0xfc
/* 8020E2EC 00209F4C  7C 65 1B 78 */	mr r5, r3
/* 8020E2F0 00209F50  48 06 E9 F9 */	bl PSVECSubtract
/* 8020E2F4 00209F54  C0 01 00 E0 */	lfs f0, 0xe0(r1)
/* 8020E2F8 00209F58  2C 1E 00 00 */	cmpwi r30, 0
/* 8020E2FC 00209F5C  C0 21 00 DC */	lfs f1, 0xdc(r1)
/* 8020E300 00209F60  C0 41 00 D8 */	lfs f2, 0xd8(r1)
/* 8020E304 00209F64  D0 59 80 00 */	stfs f2, -0x8000(r25)
/* 8020E308 00209F68  D0 39 80 00 */	stfs f1, -0x8000(r25)
/* 8020E30C 00209F6C  D0 19 80 00 */	stfs f0, -0x8000(r25)
/* 8020E310 00209F70  C0 41 00 F8 */	lfs f2, 0xf8(r1)
/* 8020E314 00209F74  C0 21 00 F4 */	lfs f1, 0xf4(r1)
/* 8020E318 00209F78  C0 01 00 F0 */	lfs f0, 0xf0(r1)
/* 8020E31C 00209F7C  D0 19 80 00 */	stfs f0, -0x8000(r25)
/* 8020E320 00209F80  D0 39 80 00 */	stfs f1, -0x8000(r25)
/* 8020E324 00209F84  D0 59 80 00 */	stfs f2, -0x8000(r25)
/* 8020E328 00209F88  80 18 00 60 */	lwz r0, 0x60(r24)
/* 8020E32C 00209F8C  90 19 80 00 */	stw r0, -0x8000(r25)
/* 8020E330 00209F90  41 82 00 0C */	beq lbl_8020E33C
/* 8020E334 00209F94  80 18 00 64 */	lwz r0, 0x64(r24)
/* 8020E338 00209F98  90 19 80 00 */	stw r0, -0x8000(r25)
lbl_8020E33C:
/* 8020E33C 00209F9C  A8 DA 00 52 */	lha r6, 0x52(r26)
/* 8020E340 00209FA0  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E344 00209FA4  A8 1A 00 50 */	lha r0, 0x50(r26)
/* 8020E348 00209FA8  3F 20 CC 01 */	lis r25, 0xCC008000@ha
/* 8020E34C 00209FAC  38 81 01 08 */	addi r4, r1, 0x108
/* 8020E350 00209FB0  7C 65 1B 78 */	mr r5, r3
/* 8020E354 00209FB4  B0 19 80 00 */	sth r0, 0xCC008000@l(r25)
/* 8020E358 00209FB8  B0 D9 80 00 */	sth r6, -0x8000(r25)
/* 8020E35C 00209FBC  48 06 E9 8D */	bl PSVECSubtract
/* 8020E360 00209FC0  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8020E364 00209FC4  38 81 01 08 */	addi r4, r1, 0x108
/* 8020E368 00209FC8  7C 65 1B 78 */	mr r5, r3
/* 8020E36C 00209FCC  48 06 E9 7D */	bl PSVECSubtract
/* 8020E370 00209FD0  C0 01 00 E0 */	lfs f0, 0xe0(r1)
/* 8020E374 00209FD4  2C 1E 00 00 */	cmpwi r30, 0
/* 8020E378 00209FD8  C0 21 00 DC */	lfs f1, 0xdc(r1)
/* 8020E37C 00209FDC  C0 41 00 D8 */	lfs f2, 0xd8(r1)
/* 8020E380 00209FE0  D0 59 80 00 */	stfs f2, -0x8000(r25)
/* 8020E384 00209FE4  D0 39 80 00 */	stfs f1, -0x8000(r25)
/* 8020E388 00209FE8  D0 19 80 00 */	stfs f0, -0x8000(r25)
/* 8020E38C 00209FEC  C0 41 00 F8 */	lfs f2, 0xf8(r1)
/* 8020E390 00209FF0  C0 21 00 F4 */	lfs f1, 0xf4(r1)
/* 8020E394 00209FF4  C0 01 00 F0 */	lfs f0, 0xf0(r1)
/* 8020E398 00209FF8  D0 19 80 00 */	stfs f0, -0x8000(r25)
/* 8020E39C 00209FFC  D0 39 80 00 */	stfs f1, -0x8000(r25)
/* 8020E3A0 0020A000  D0 59 80 00 */	stfs f2, -0x8000(r25)
/* 8020E3A4 0020A004  80 18 00 60 */	lwz r0, 0x60(r24)
/* 8020E3A8 0020A008  90 19 80 00 */	stw r0, -0x8000(r25)
/* 8020E3AC 0020A00C  41 82 00 0C */	beq lbl_8020E3B8
/* 8020E3B0 0020A010  80 18 00 64 */	lwz r0, 0x64(r24)
/* 8020E3B4 0020A014  90 19 80 00 */	stw r0, -0x8000(r25)
lbl_8020E3B8:
/* 8020E3B8 0020A018  A8 9A 00 52 */	lha r4, 0x52(r26)
/* 8020E3BC 0020A01C  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8020E3C0 0020A020  A8 1A 00 4C */	lha r0, 0x4c(r26)
/* 8020E3C4 0020A024  B0 03 80 00 */	sth r0, 0xCC008000@l(r3)
/* 8020E3C8 0020A028  B0 83 80 00 */	sth r4, -0x8000(r3)
/* 8020E3CC 0020A02C  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020E3D0 0020A030  48 02 51 B1 */	bl end_drawing
lbl_8020E3D4:
/* 8020E3D4 0020A034  39 61 01 40 */	addi r11, r1, 0x140
/* 8020E3D8 0020A038  4B FB 8D 8D */	bl _restgpr_23
/* 8020E3DC 0020A03C  80 01 01 44 */	lwz r0, 0x144(r1)
/* 8020E3E0 0020A040  7C 08 03 A6 */	mtlr r0
/* 8020E3E4 0020A044  38 21 01 40 */	addi r1, r1, 0x140
/* 8020E3E8 0020A048  4E 80 00 20 */	blr

.global func_8020E3EC
func_8020E3EC:
/* 8020E3EC 0020A04C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8020E3F0 0020A050  7C 08 02 A6 */	mflr r0
/* 8020E3F4 0020A054  90 01 00 14 */	stw r0, 0x14(r1)
/* 8020E3F8 0020A058  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8020E3FC 0020A05C  7C BF 2B 78 */	mr r31, r5
/* 8020E400 0020A060  38 A0 00 68 */	li r5, 0x68
/* 8020E404 0020A064  93 C1 00 08 */	stw r30, 8(r1)
/* 8020E408 0020A068  7C 7E 1B 78 */	mr r30, r3
/* 8020E40C 0020A06C  4B FF 94 AD */	bl func_802078B8
/* 8020E410 0020A070  3C 80 80 42 */	lis r4, lbl_80423990@ha
/* 8020E414 0020A074  93 FE 00 20 */	stw r31, 0x20(r30)
/* 8020E418 0020A078  38 84 39 90 */	addi r4, r4, lbl_80423990@l
/* 8020E41C 0020A07C  7F C3 F3 78 */	mr r3, r30
/* 8020E420 0020A080  90 9E 00 1C */	stw r4, 0x1c(r30)
/* 8020E424 0020A084  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8020E428 0020A088  83 C1 00 08 */	lwz r30, 8(r1)
/* 8020E42C 0020A08C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8020E430 0020A090  7C 08 03 A6 */	mtlr r0
/* 8020E434 0020A094  38 21 00 10 */	addi r1, r1, 0x10
/* 8020E438 0020A098  4E 80 00 20 */	blr
/* 8020E43C 0020A09C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8020E440 0020A0A0  7C 08 02 A6 */	mflr r0
/* 8020E444 0020A0A4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8020E448 0020A0A8  39 61 00 20 */	addi r11, r1, 0x20
/* 8020E44C 0020A0AC  4B FB 8C DD */	bl _savegpr_27
/* 8020E450 0020A0B0  88 03 00 18 */	lbz r0, 0x18(r3)
/* 8020E454 0020A0B4  7C 7B 1B 78 */	mr r27, r3
/* 8020E458 0020A0B8  2C 00 00 00 */	cmpwi r0, 0
/* 8020E45C 0020A0BC  40 82 00 0C */	bne lbl_8020E468
/* 8020E460 0020A0C0  38 60 00 00 */	li r3, 0
/* 8020E464 0020A0C4  48 00 00 48 */	b lbl_8020E4AC
lbl_8020E468:
/* 8020E468 0020A0C8  4B FF 96 41 */	bl func_80207AA8
/* 8020E46C 0020A0CC  7C 7F 1B 78 */	mr r31, r3
/* 8020E470 0020A0D0  83 CD A1 F8 */	lwz r30, lbl_8063F4B8-_SDA_BASE_(r13)
/* 8020E474 0020A0D4  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 8020E478 0020A0D8  7F FC FB 78 */	mr r28, r31
/* 8020E47C 0020A0DC  48 00 00 24 */	b lbl_8020E4A0
lbl_8020E480:
/* 8020E480 0020A0E0  83 A3 00 28 */	lwz r29, 0x28(r3)
/* 8020E484 0020A0E4  7F C6 F3 78 */	mr r6, r30
/* 8020E488 0020A0E8  80 9B 00 00 */	lwz r4, 0(r27)
/* 8020E48C 0020A0EC  80 BB 00 20 */	lwz r5, 0x20(r27)
/* 8020E490 0020A0F0  4B FF F1 85 */	bl func_8020D614
/* 8020E494 0020A0F4  7F A3 EB 78 */	mr r3, r29
/* 8020E498 0020A0F8  3B FF FF FF */	addi r31, r31, -1
/* 8020E49C 0020A0FC  3B DE 00 48 */	addi r30, r30, 0x48
lbl_8020E4A0:
/* 8020E4A0 0020A100  57 E0 04 3F */	clrlwi. r0, r31, 0x10
/* 8020E4A4 0020A104  40 82 FF DC */	bne lbl_8020E480
/* 8020E4A8 0020A108  7F 83 E3 78 */	mr r3, r28
lbl_8020E4AC:
/* 8020E4AC 0020A10C  39 61 00 20 */	addi r11, r1, 0x20
/* 8020E4B0 0020A110  4B FB 8C C5 */	bl _restgpr_27
/* 8020E4B4 0020A114  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8020E4B8 0020A118  7C 08 03 A6 */	mtlr r0
/* 8020E4BC 0020A11C  38 21 00 20 */	addi r1, r1, 0x20
/* 8020E4C0 0020A120  4E 80 00 20 */	blr
/* 8020E4C4 0020A124  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8020E4C8 0020A128  7C 08 02 A6 */	mflr r0
/* 8020E4CC 0020A12C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8020E4D0 0020A130  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 8020E4D4 0020A134  FF E0 08 90 */	fmr f31, f1
/* 8020E4D8 0020A138  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8020E4DC 0020A13C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 8020E4E0 0020A140  93 A1 00 0C */	stw r29, 0xc(r1)
/* 8020E4E4 0020A144  7C 7D 1B 78 */	mr r29, r3
/* 8020E4E8 0020A148  88 03 00 18 */	lbz r0, 0x18(r3)
/* 8020E4EC 0020A14C  2C 00 00 00 */	cmpwi r0, 0
/* 8020E4F0 0020A150  41 82 00 44 */	beq lbl_8020E534
/* 8020E4F4 0020A154  83 E3 00 10 */	lwz r31, 0x10(r3)
/* 8020E4F8 0020A158  48 00 00 34 */	b lbl_8020E52C
lbl_8020E4FC:
/* 8020E4FC 0020A15C  FC 20 F8 90 */	fmr f1, f31
/* 8020E500 0020A160  83 DF 00 28 */	lwz r30, 0x28(r31)
/* 8020E504 0020A164  80 9D 00 00 */	lwz r4, 0(r29)
/* 8020E508 0020A168  7F E3 FB 78 */	mr r3, r31
/* 8020E50C 0020A16C  80 BD 00 20 */	lwz r5, 0x20(r29)
/* 8020E510 0020A170  4B FF F3 B5 */	bl func_8020D8C4
/* 8020E514 0020A174  2C 03 00 00 */	cmpwi r3, 0
/* 8020E518 0020A178  40 82 00 10 */	bne lbl_8020E528
/* 8020E51C 0020A17C  7F A3 EB 78 */	mr r3, r29
/* 8020E520 0020A180  7F E4 FB 78 */	mr r4, r31
/* 8020E524 0020A184  4B FF 96 11 */	bl func_80207B34
lbl_8020E528:
/* 8020E528 0020A188  7F DF F3 78 */	mr r31, r30
lbl_8020E52C:
/* 8020E52C 0020A18C  2C 1F 00 00 */	cmpwi r31, 0
/* 8020E530 0020A190  40 82 FF CC */	bne lbl_8020E4FC
lbl_8020E534:
/* 8020E534 0020A194  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8020E538 0020A198  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 8020E53C 0020A19C  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 8020E540 0020A1A0  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 8020E544 0020A1A4  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 8020E548 0020A1A8  7C 08 03 A6 */	mtlr r0
/* 8020E54C 0020A1AC  38 21 00 20 */	addi r1, r1, 0x20
/* 8020E550 0020A1B0  4E 80 00 20 */	blr

.global func_8020E554
func_8020E554:
/* 8020E554 0020A1B4  88 03 00 18 */	lbz r0, 0x18(r3)
/* 8020E558 0020A1B8  2C 00 00 00 */	cmpwi r0, 0
/* 8020E55C 0020A1BC  40 82 00 0C */	bne lbl_8020E568
/* 8020E560 0020A1C0  38 60 00 00 */	li r3, 0
/* 8020E564 0020A1C4  4E 80 00 20 */	blr
lbl_8020E568:
/* 8020E568 0020A1C8  A0 03 00 14 */	lhz r0, 0x14(r3)
/* 8020E56C 0020A1CC  2C 00 00 00 */	cmpwi r0, 0
/* 8020E570 0020A1D0  40 82 00 0C */	bne lbl_8020E57C
/* 8020E574 0020A1D4  38 60 00 00 */	li r3, 0
/* 8020E578 0020A1D8  4E 80 00 20 */	blr
lbl_8020E57C:
/* 8020E57C 0020A1DC  80 0D A1 D8 */	lwz r0, lbl_8063F498-_SDA_BASE_(r13)
/* 8020E580 0020A1E0  80 63 00 20 */	lwz r3, 0x20(r3)
/* 8020E584 0020A1E4  2C 00 00 05 */	cmpwi r0, 5
/* 8020E588 0020A1E8  80 63 00 00 */	lwz r3, 0(r3)
/* 8020E58C 0020A1EC  40 82 00 14 */	bne lbl_8020E5A0
/* 8020E590 0020A1F0  54 60 01 09 */	rlwinm. r0, r3, 0, 4, 4
/* 8020E594 0020A1F4  41 82 00 6C */	beq lbl_8020E600
/* 8020E598 0020A1F8  38 60 00 01 */	li r3, 1
/* 8020E59C 0020A1FC  4E 80 00 20 */	blr
lbl_8020E5A0:
/* 8020E5A0 0020A200  2C 00 00 06 */	cmpwi r0, 6
/* 8020E5A4 0020A204  40 82 00 14 */	bne lbl_8020E5B8
/* 8020E5A8 0020A208  54 60 00 85 */	rlwinm. r0, r3, 0, 2, 2
/* 8020E5AC 0020A20C  41 82 00 54 */	beq lbl_8020E600
/* 8020E5B0 0020A210  38 60 00 01 */	li r3, 1
/* 8020E5B4 0020A214  4E 80 00 20 */	blr
lbl_8020E5B8:
/* 8020E5B8 0020A218  2C 00 00 08 */	cmpwi r0, 8
/* 8020E5BC 0020A21C  40 82 00 14 */	bne lbl_8020E5D0
/* 8020E5C0 0020A220  54 60 00 C7 */	rlwinm. r0, r3, 0, 3, 3
/* 8020E5C4 0020A224  41 82 00 3C */	beq lbl_8020E600
/* 8020E5C8 0020A228  38 60 00 01 */	li r3, 1
/* 8020E5CC 0020A22C  4E 80 00 20 */	blr
lbl_8020E5D0:
/* 8020E5D0 0020A230  2C 00 00 09 */	cmpwi r0, 9
/* 8020E5D4 0020A234  40 82 00 14 */	bne lbl_8020E5E8
/* 8020E5D8 0020A238  54 60 00 43 */	rlwinm. r0, r3, 0, 1, 1
/* 8020E5DC 0020A23C  41 82 00 24 */	beq lbl_8020E600
/* 8020E5E0 0020A240  38 60 00 01 */	li r3, 1
/* 8020E5E4 0020A244  4E 80 00 20 */	blr
lbl_8020E5E8:
/* 8020E5E8 0020A248  2C 00 00 0A */	cmpwi r0, 0xa
/* 8020E5EC 0020A24C  40 82 00 14 */	bne lbl_8020E600
/* 8020E5F0 0020A250  54 60 05 29 */	rlwinm. r0, r3, 0, 0x14, 0x14
/* 8020E5F4 0020A254  41 82 00 0C */	beq lbl_8020E600
/* 8020E5F8 0020A258  38 60 00 01 */	li r3, 1
/* 8020E5FC 0020A25C  4E 80 00 20 */	blr
lbl_8020E600:
/* 8020E600 0020A260  38 60 00 00 */	li r3, 0
/* 8020E604 0020A264  4E 80 00 20 */	blr
/* 8020E608 0020A268  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8020E60C 0020A26C  7C 08 02 A6 */	mflr r0
/* 8020E610 0020A270  90 01 00 24 */	stw r0, 0x24(r1)
/* 8020E614 0020A274  39 61 00 20 */	addi r11, r1, 0x20
/* 8020E618 0020A278  4B FB 8B 11 */	bl _savegpr_27
/* 8020E61C 0020A27C  7C 7B 1B 78 */	mr r27, r3
/* 8020E620 0020A280  4B FF FF 35 */	bl func_8020E554
/* 8020E624 0020A284  2C 03 00 00 */	cmpwi r3, 0
/* 8020E628 0020A288  41 82 02 B8 */	beq lbl_8020E8E0
/* 8020E62C 0020A28C  7F 63 DB 78 */	mr r3, r27
/* 8020E630 0020A290  48 00 02 C9 */	bl func_8020E8F8
/* 8020E634 0020A294  80 7B 00 20 */	lwz r3, 0x20(r27)
/* 8020E638 0020A298  83 E3 00 00 */	lwz r31, 0(r3)
/* 8020E63C 0020A29C  57 E0 05 AD */	rlwinm. r0, r31, 0, 0x16, 0x16
/* 8020E640 0020A2A0  57 FE 3F FE */	rlwinm r30, r31, 7, 0x1f, 0x1f
/* 8020E644 0020A2A4  57 FD 0F FE */	srwi r29, r31, 0x1f
/* 8020E648 0020A2A8  57 FC 67 FE */	rlwinm r28, r31, 0xc, 0x1f, 0x1f
/* 8020E64C 0020A2AC  41 82 00 38 */	beq lbl_8020E684
/* 8020E650 0020A2B0  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020E654 0020A2B4  38 00 00 02 */	li r0, 2
/* 8020E658 0020A2B8  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E65C 0020A2BC  90 03 01 84 */	stw r0, 0x184(r3)
/* 8020E660 0020A2C0  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E664 0020A2C4  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8020E668 0020A2C8  60 00 00 02 */	ori r0, r0, 2
/* 8020E66C 0020A2CC  90 03 00 10 */	stw r0, 0x10(r3)
/* 8020E670 0020A2D0  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E674 0020A2D4  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E678 0020A2D8  60 00 00 02 */	ori r0, r0, 2
/* 8020E67C 0020A2DC  90 03 00 00 */	stw r0, 0(r3)
/* 8020E680 0020A2E0  48 00 00 34 */	b lbl_8020E6B4
lbl_8020E684:
/* 8020E684 0020A2E4  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020E688 0020A2E8  38 00 00 00 */	li r0, 0
/* 8020E68C 0020A2EC  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E690 0020A2F0  90 03 01 84 */	stw r0, 0x184(r3)
/* 8020E694 0020A2F4  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E698 0020A2F8  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8020E69C 0020A2FC  60 00 00 02 */	ori r0, r0, 2
/* 8020E6A0 0020A300  90 03 00 10 */	stw r0, 0x10(r3)
/* 8020E6A4 0020A304  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E6A8 0020A308  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E6AC 0020A30C  60 00 00 02 */	ori r0, r0, 2
/* 8020E6B0 0020A310  90 03 00 00 */	stw r0, 0(r3)
lbl_8020E6B4:
/* 8020E6B4 0020A314  57 E0 05 6C */	rlwinm r0, r31, 0, 0x15, 0x16
/* 8020E6B8 0020A318  28 00 02 00 */	cmplwi r0, 0x200
/* 8020E6BC 0020A31C  40 82 00 98 */	bne lbl_8020E754
/* 8020E6C0 0020A320  88 0D A1 D0 */	lbz r0, lbl_8063F490-_SDA_BASE_(r13)
/* 8020E6C4 0020A324  2C 00 00 00 */	cmpwi r0, 0
/* 8020E6C8 0020A328  41 82 00 58 */	beq lbl_8020E720
/* 8020E6CC 0020A32C  80 6D A1 F0 */	lwz r3, lbl_8063F4B0-_SDA_BASE_(r13)
/* 8020E6D0 0020A330  80 63 00 00 */	lwz r3, 0(r3)
/* 8020E6D4 0020A334  2C 03 00 00 */	cmpwi r3, 0
/* 8020E6D8 0020A338  41 82 00 48 */	beq lbl_8020E720
/* 8020E6DC 0020A33C  80 03 01 04 */	lwz r0, 0x104(r3)
/* 8020E6E0 0020A340  54 00 06 30 */	rlwinm r0, r0, 0, 0x18, 0x18
/* 8020E6E4 0020A344  28 00 00 80 */	cmplwi r0, 0x80
/* 8020E6E8 0020A348  40 82 00 38 */	bne lbl_8020E720
/* 8020E6EC 0020A34C  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020E6F0 0020A350  38 00 00 00 */	li r0, 0
/* 8020E6F4 0020A354  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E6F8 0020A358  90 03 01 88 */	stw r0, 0x188(r3)
/* 8020E6FC 0020A35C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E700 0020A360  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8020E704 0020A364  60 00 00 04 */	ori r0, r0, 4
/* 8020E708 0020A368  90 03 00 10 */	stw r0, 0x10(r3)
/* 8020E70C 0020A36C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E710 0020A370  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E714 0020A374  60 00 00 02 */	ori r0, r0, 2
/* 8020E718 0020A378  90 03 00 00 */	stw r0, 0(r3)
/* 8020E71C 0020A37C  48 00 00 68 */	b lbl_8020E784
lbl_8020E720:
/* 8020E720 0020A380  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020E724 0020A384  38 00 00 01 */	li r0, 1
/* 8020E728 0020A388  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E72C 0020A38C  90 03 01 88 */	stw r0, 0x188(r3)
/* 8020E730 0020A390  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E734 0020A394  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8020E738 0020A398  60 00 00 04 */	ori r0, r0, 4
/* 8020E73C 0020A39C  90 03 00 10 */	stw r0, 0x10(r3)
/* 8020E740 0020A3A0  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E744 0020A3A4  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E748 0020A3A8  60 00 00 02 */	ori r0, r0, 2
/* 8020E74C 0020A3AC  90 03 00 00 */	stw r0, 0(r3)
/* 8020E750 0020A3B0  48 00 00 34 */	b lbl_8020E784
lbl_8020E754:
/* 8020E754 0020A3B4  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020E758 0020A3B8  38 00 00 00 */	li r0, 0
/* 8020E75C 0020A3BC  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E760 0020A3C0  90 03 01 88 */	stw r0, 0x188(r3)
/* 8020E764 0020A3C4  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E768 0020A3C8  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8020E76C 0020A3CC  60 00 00 04 */	ori r0, r0, 4
/* 8020E770 0020A3D0  90 03 00 10 */	stw r0, 0x10(r3)
/* 8020E774 0020A3D4  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E778 0020A3D8  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E77C 0020A3DC  60 00 00 02 */	ori r0, r0, 2
/* 8020E780 0020A3E0  90 03 00 00 */	stw r0, 0(r3)
lbl_8020E784:
/* 8020E784 0020A3E4  57 E0 01 4B */	rlwinm. r0, r31, 0, 5, 5
/* 8020E788 0020A3E8  41 82 00 44 */	beq lbl_8020E7CC
/* 8020E78C 0020A3EC  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8020E790 0020A3F0  38 80 00 00 */	li r4, 0
/* 8020E794 0020A3F4  38 00 00 03 */	li r0, 3
/* 8020E798 0020A3F8  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8020E79C 0020A3FC  98 83 0A 3C */	stb r4, 0xa3c(r3)
/* 8020E7A0 0020A400  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8020E7A4 0020A404  90 03 0A 40 */	stw r0, 0xa40(r3)
/* 8020E7A8 0020A408  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8020E7AC 0020A40C  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8020E7B0 0020A410  60 00 00 08 */	ori r0, r0, 8
/* 8020E7B4 0020A414  90 03 00 64 */	stw r0, 0x64(r3)
/* 8020E7B8 0020A418  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8020E7BC 0020A41C  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E7C0 0020A420  60 00 00 40 */	ori r0, r0, 0x40
/* 8020E7C4 0020A424  90 03 00 00 */	stw r0, 0(r3)
/* 8020E7C8 0020A428  48 00 00 3C */	b lbl_8020E804
lbl_8020E7CC:
/* 8020E7CC 0020A42C  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020E7D0 0020A430  38 00 00 01 */	li r0, 1
/* 8020E7D4 0020A434  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E7D8 0020A438  98 03 0A 3C */	stb r0, 0xa3c(r3)
/* 8020E7DC 0020A43C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E7E0 0020A440  90 03 0A 40 */	stw r0, 0xa40(r3)
/* 8020E7E4 0020A444  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E7E8 0020A448  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8020E7EC 0020A44C  60 00 00 08 */	ori r0, r0, 8
/* 8020E7F0 0020A450  90 03 00 64 */	stw r0, 0x64(r3)
/* 8020E7F4 0020A454  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8020E7F8 0020A458  80 03 00 00 */	lwz r0, 0(r3)
/* 8020E7FC 0020A45C  60 00 00 40 */	ori r0, r0, 0x40
/* 8020E800 0020A460  90 03 00 00 */	stw r0, 0(r3)
lbl_8020E804:
/* 8020E804 0020A464  57 E3 07 7E */	clrlwi r3, r31, 0x1d
/* 8020E808 0020A468  4B FF 67 B1 */	bl func_80204FB8
/* 8020E80C 0020A46C  2C 1E 00 00 */	cmpwi r30, 0
/* 8020E810 0020A470  3C 80 80 49 */	lis r4, lbl_804922DC@ha
/* 8020E814 0020A474  38 84 22 DC */	addi r4, r4, lbl_804922DC@l
/* 8020E818 0020A478  41 82 00 0C */	beq lbl_8020E824
/* 8020E81C 0020A47C  3C 80 80 49 */	lis r4, lbl_804926BC@ha
/* 8020E820 0020A480  38 84 26 BC */	addi r4, r4, lbl_804926BC@l
lbl_8020E824:
/* 8020E824 0020A484  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020E828 0020A488  2C 1C 00 00 */	cmpwi r28, 0
/* 8020E82C 0020A48C  90 83 17 3C */	stw r4, 0x173c(r3)
/* 8020E830 0020A490  41 82 00 2C */	beq lbl_8020E85C
/* 8020E834 0020A494  57 E3 02 12 */	rlwinm r3, r31, 0, 8, 9
/* 8020E838 0020A498  3C 00 00 C0 */	lis r0, 0xc0
/* 8020E83C 0020A49C  7C 00 18 50 */	subf r0, r0, r3
/* 8020E840 0020A4A0  7F C4 F3 78 */	mr r4, r30
/* 8020E844 0020A4A4  7C 00 00 34 */	cntlzw r0, r0
/* 8020E848 0020A4A8  7F A6 EB 78 */	mr r6, r29
/* 8020E84C 0020A4AC  54 05 D9 7E */	srwi r5, r0, 5
/* 8020E850 0020A4B0  38 60 00 00 */	li r3, 0
/* 8020E854 0020A4B4  4B FF 5F C1 */	bl func_80204814
/* 8020E858 0020A4B8  48 00 00 50 */	b lbl_8020E8A8
lbl_8020E85C:
/* 8020E85C 0020A4BC  7F C4 F3 78 */	mr r4, r30
/* 8020E860 0020A4C0  7F A6 EB 78 */	mr r6, r29
/* 8020E864 0020A4C4  38 60 00 00 */	li r3, 0
/* 8020E868 0020A4C8  38 A0 00 00 */	li r5, 0
/* 8020E86C 0020A4CC  4B FF 5F A9 */	bl func_80204814
/* 8020E870 0020A4D0  57 E0 05 EF */	rlwinm. r0, r31, 0, 0x17, 0x17
/* 8020E874 0020A4D4  39 00 00 00 */	li r8, 0
/* 8020E878 0020A4D8  41 82 00 08 */	beq lbl_8020E880
/* 8020E87C 0020A4DC  39 00 00 02 */	li r8, 2
lbl_8020E880:
/* 8020E880 0020A4E0  80 7B 00 20 */	lwz r3, 0x20(r27)
/* 8020E884 0020A4E4  57 E0 06 31 */	rlwinm. r0, r31, 0, 0x18, 0x18
/* 8020E888 0020A4E8  57 E5 A7 BE */	rlwinm r5, r31, 0x14, 0x1e, 0x1f
/* 8020E88C 0020A4EC  57 E6 97 BE */	rlwinm r6, r31, 0x12, 0x1e, 0x1f
/* 8020E890 0020A4F0  80 83 00 54 */	lwz r4, 0x54(r3)
/* 8020E894 0020A4F4  38 60 00 00 */	li r3, 0
/* 8020E898 0020A4F8  38 E0 00 00 */	li r7, 0
/* 8020E89C 0020A4FC  41 82 00 08 */	beq lbl_8020E8A4
/* 8020E8A0 0020A500  38 E0 00 02 */	li r7, 2
lbl_8020E8A4:
/* 8020E8A4 0020A504  4B FF 6B 7D */	bl func_80205420
lbl_8020E8A8:
/* 8020E8A8 0020A508  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020E8AC 0020A50C  38 00 00 80 */	li r0, 0x80
/* 8020E8B0 0020A510  90 03 17 38 */	stw r0, 0x1738(r3)
/* 8020E8B4 0020A514  83 9B 00 10 */	lwz r28, 0x10(r27)
/* 8020E8B8 0020A518  48 00 00 18 */	b lbl_8020E8D0
lbl_8020E8BC:
/* 8020E8BC 0020A51C  80 9B 00 00 */	lwz r4, 0(r27)
/* 8020E8C0 0020A520  7F 83 E3 78 */	mr r3, r28
/* 8020E8C4 0020A524  80 BB 00 20 */	lwz r5, 0x20(r27)
/* 8020E8C8 0020A528  4B FF F1 29 */	bl func_8020D9F0
/* 8020E8CC 0020A52C  83 9C 00 28 */	lwz r28, 0x28(r28)
lbl_8020E8D0:
/* 8020E8D0 0020A530  2C 1C 00 00 */	cmpwi r28, 0
/* 8020E8D4 0020A534  40 82 FF E8 */	bne lbl_8020E8BC
/* 8020E8D8 0020A538  38 00 00 01 */	li r0, 1
/* 8020E8DC 0020A53C  98 0D A1 F4 */	stb r0, lbl_8063F4B4-_SDA_BASE_(r13)
lbl_8020E8E0:
/* 8020E8E0 0020A540  39 61 00 20 */	addi r11, r1, 0x20
/* 8020E8E4 0020A544  4B FB 88 91 */	bl _restgpr_27
/* 8020E8E8 0020A548  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8020E8EC 0020A54C  7C 08 03 A6 */	mtlr r0
/* 8020E8F0 0020A550  38 21 00 20 */	addi r1, r1, 0x20
/* 8020E8F4 0020A554  4E 80 00 20 */	blr

.global func_8020E8F8
func_8020E8F8:
/* 8020E8F8 0020A558  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8020E8FC 0020A55C  7C 08 02 A6 */	mflr r0
/* 8020E900 0020A560  90 01 00 44 */	stw r0, 0x44(r1)
/* 8020E904 0020A564  39 61 00 38 */	addi r11, r1, 0x38
/* 8020E908 0020A568  DB E1 00 38 */	stfd f31, 0x38(r1)
/* 8020E90C 0020A56C  4B FB 88 19 */	bl _savegpr_26
/* 8020E910 0020A570  88 03 00 18 */	lbz r0, 0x18(r3)
/* 8020E914 0020A574  7C 7A 1B 78 */	mr r26, r3
/* 8020E918 0020A578  2C 00 00 00 */	cmpwi r0, 0
/* 8020E91C 0020A57C  41 82 00 C4 */	beq lbl_8020E9E0
/* 8020E920 0020A580  A0 03 00 14 */	lhz r0, 0x14(r3)
/* 8020E924 0020A584  28 00 00 02 */	cmplwi r0, 2
/* 8020E928 0020A588  41 80 00 B8 */	blt lbl_8020E9E0
/* 8020E92C 0020A58C  80 83 00 20 */	lwz r4, 0x20(r3)
/* 8020E930 0020A590  80 04 00 00 */	lwz r0, 0(r4)
/* 8020E934 0020A594  54 00 03 19 */	rlwinm. r0, r0, 0, 0xc, 0xc
/* 8020E938 0020A598  40 82 00 08 */	bne lbl_8020E940
/* 8020E93C 0020A59C  48 00 00 A4 */	b lbl_8020E9E0
lbl_8020E940:
/* 8020E940 0020A5A0  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8020E944 0020A5A4  3F C0 80 49 */	lis r30, 0x8049
/* 8020E948 0020A5A8  3F E0 80 49 */	lis r31, 0x8049
/* 8020E94C 0020A5AC  83 A3 00 28 */	lwz r29, 0x28(r3)
/* 8020E950 0020A5B0  48 00 00 88 */	b lbl_8020E9D8
lbl_8020E954:
/* 8020E954 0020A5B4  38 7D 00 48 */	addi r3, r29, 0x48
/* 8020E958 0020A5B8  38 9E 22 30 */	addi r4, r30, 0x2230
/* 8020E95C 0020A5BC  38 A1 00 14 */	addi r5, r1, 0x14
/* 8020E960 0020A5C0  48 06 E3 89 */	bl PSVECSubtract
/* 8020E964 0020A5C4  38 7F 22 3C */	addi r3, r31, 0x223c
/* 8020E968 0020A5C8  38 81 00 14 */	addi r4, r1, 0x14
/* 8020E96C 0020A5CC  48 06 E4 5D */	bl PSVECDotProduct
/* 8020E970 0020A5D0  FF E0 08 90 */	fmr f31, f1
/* 8020E974 0020A5D4  83 9D 00 2C */	lwz r28, 0x2c(r29)
/* 8020E978 0020A5D8  7F BB EB 78 */	mr r27, r29
/* 8020E97C 0020A5DC  48 00 00 34 */	b lbl_8020E9B0
lbl_8020E980:
/* 8020E980 0020A5E0  38 7C 00 48 */	addi r3, r28, 0x48
/* 8020E984 0020A5E4  38 9E 22 30 */	addi r4, r30, 0x2230
/* 8020E988 0020A5E8  38 A1 00 08 */	addi r5, r1, 8
/* 8020E98C 0020A5EC  48 06 E3 5D */	bl PSVECSubtract
/* 8020E990 0020A5F0  38 7F 22 3C */	addi r3, r31, 0x223c
/* 8020E994 0020A5F4  38 81 00 08 */	addi r4, r1, 8
/* 8020E998 0020A5F8  48 06 E4 31 */	bl PSVECDotProduct
/* 8020E99C 0020A5FC  FC 01 F8 40 */	fcmpo cr0, f1, f31
/* 8020E9A0 0020A600  4C 41 13 82 */	cror 2, 1, 2
/* 8020E9A4 0020A604  41 82 00 14 */	beq lbl_8020E9B8
/* 8020E9A8 0020A608  7F 9B E3 78 */	mr r27, r28
/* 8020E9AC 0020A60C  83 9C 00 2C */	lwz r28, 0x2c(r28)
lbl_8020E9B0:
/* 8020E9B0 0020A610  2C 1C 00 00 */	cmpwi r28, 0
/* 8020E9B4 0020A614  40 82 FF CC */	bne lbl_8020E980
lbl_8020E9B8:
/* 8020E9B8 0020A618  7C 1B E8 40 */	cmplw r27, r29
/* 8020E9BC 0020A61C  83 9D 00 28 */	lwz r28, 0x28(r29)
/* 8020E9C0 0020A620  41 82 00 14 */	beq lbl_8020E9D4
/* 8020E9C4 0020A624  7F 43 D3 78 */	mr r3, r26
/* 8020E9C8 0020A628  7F A4 EB 78 */	mr r4, r29
/* 8020E9CC 0020A62C  7F 65 DB 78 */	mr r5, r27
/* 8020E9D0 0020A630  4B FF 92 0D */	bl func_80207BDC
lbl_8020E9D4:
/* 8020E9D4 0020A634  7F 9D E3 78 */	mr r29, r28
lbl_8020E9D8:
/* 8020E9D8 0020A638  2C 1D 00 00 */	cmpwi r29, 0
/* 8020E9DC 0020A63C  40 82 FF 78 */	bne lbl_8020E954
lbl_8020E9E0:
/* 8020E9E0 0020A640  39 61 00 38 */	addi r11, r1, 0x38
/* 8020E9E4 0020A644  CB E1 00 38 */	lfd f31, 0x38(r1)
/* 8020E9E8 0020A648  4B FB 87 89 */	bl _restgpr_26
/* 8020E9EC 0020A64C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8020E9F0 0020A650  7C 08 03 A6 */	mtlr r0
/* 8020E9F4 0020A654  38 21 00 40 */	addi r1, r1, 0x40
/* 8020E9F8 0020A658  4E 80 00 20 */	blr
/* 8020E9FC 0020A65C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8020EA00 0020A660  7C 08 02 A6 */	mflr r0
/* 8020EA04 0020A664  2C 03 00 00 */	cmpwi r3, 0
/* 8020EA08 0020A668  90 01 00 14 */	stw r0, 0x14(r1)
/* 8020EA0C 0020A66C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8020EA10 0020A670  7C 9F 23 78 */	mr r31, r4
/* 8020EA14 0020A674  93 C1 00 08 */	stw r30, 8(r1)
/* 8020EA18 0020A678  7C 7E 1B 78 */	mr r30, r3
/* 8020EA1C 0020A67C  41 82 00 20 */	beq lbl_8020EA3C
/* 8020EA20 0020A680  38 80 00 00 */	li r4, 0
/* 8020EA24 0020A684  4B FF 8F 91 */	bl func_802079B4
/* 8020EA28 0020A688  2C 1F 00 00 */	cmpwi r31, 0
/* 8020EA2C 0020A68C  40 81 00 10 */	ble lbl_8020EA3C
/* 8020EA30 0020A690  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8020EA34 0020A694  7F C4 F3 78 */	mr r4, r30
/* 8020EA38 0020A698  4B FC C3 11 */	bl func_801DAD48
lbl_8020EA3C:
/* 8020EA3C 0020A69C  7F C3 F3 78 */	mr r3, r30
/* 8020EA40 0020A6A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8020EA44 0020A6A4  83 C1 00 08 */	lwz r30, 8(r1)
/* 8020EA48 0020A6A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8020EA4C 0020A6AC  7C 08 03 A6 */	mtlr r0
/* 8020EA50 0020A6B0  38 21 00 10 */	addi r1, r1, 0x10
/* 8020EA54 0020A6B4  4E 80 00 20 */	blr

.global func_8020EA58
func_8020EA58:
/* 8020EA58 0020A6B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8020EA5C 0020A6BC  7C 08 02 A6 */	mflr r0
/* 8020EA60 0020A6C0  38 60 00 01 */	li r3, 1
/* 8020EA64 0020A6C4  38 8D A2 28 */	addi r4, r13, lbl_8063F4E8-_SDA_BASE_
/* 8020EA68 0020A6C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8020EA6C 0020A6CC  38 00 00 04 */	li r0, 4
/* 8020EA70 0020A6D0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8020EA74 0020A6D4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8020EA78 0020A6D8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8020EA7C 0020A6DC  3B A0 00 00 */	li r29, 0
/* 8020EA80 0020A6E0  93 81 00 10 */	stw r28, 0x10(r1)
/* 8020EA84 0020A6E4  3F 80 80 49 */	lis r28, lbl_804922D0@ha
/* 8020EA88 0020A6E8  3B 9C 22 D0 */	addi r28, r28, lbl_804922D0@l
/* 8020EA8C 0020A6EC  3B FC 00 0C */	addi r31, r28, 0xc
/* 8020EA90 0020A6F0  98 6D A2 28 */	stb r3, lbl_8063F4E8-_SDA_BASE_(r13)
/* 8020EA94 0020A6F4  7F E3 FB 78 */	mr r3, r31
/* 8020EA98 0020A6F8  B0 04 00 02 */	sth r0, 2(r4)
/* 8020EA9C 0020A6FC  9B A4 00 04 */	stb r29, 4(r4)
/* 8020EAA0 0020A700  9B BC 00 0C */	stb r29, 0xc(r28)
/* 8020EAA4 0020A704  9B BF 00 01 */	stb r29, 1(r31)
/* 8020EAA8 0020A708  9B BF 00 02 */	stb r29, 2(r31)
/* 8020EAAC 0020A70C  9B BF 00 03 */	stb r29, 3(r31)
/* 8020EAB0 0020A710  93 BF 00 04 */	stw r29, 4(r31)
/* 8020EAB4 0020A714  48 02 DE 01 */	bl func_8023C8B4
/* 8020EAB8 0020A718  3F C0 80 1E */	lis r30, func_801E42B4@ha
/* 8020EABC 0020A71C  7F E3 FB 78 */	mr r3, r31
/* 8020EAC0 0020A720  38 9E 42 B4 */	addi r4, r30, func_801E42B4@l
/* 8020EAC4 0020A724  38 BC 00 00 */	addi r5, r28, 0
/* 8020EAC8 0020A728  4B FB 81 81 */	bl __register_global_object_tmp
/* 8020EACC 0020A72C  3B FC 03 EC */	addi r31, r28, 0x3ec
/* 8020EAD0 0020A730  9B BC 03 EC */	stb r29, 0x3ec(r28)
/* 8020EAD4 0020A734  7F E3 FB 78 */	mr r3, r31
/* 8020EAD8 0020A738  9B BF 00 01 */	stb r29, 1(r31)
/* 8020EADC 0020A73C  9B BF 00 02 */	stb r29, 2(r31)
/* 8020EAE0 0020A740  9B BF 00 03 */	stb r29, 3(r31)
/* 8020EAE4 0020A744  93 BF 00 04 */	stw r29, 4(r31)
/* 8020EAE8 0020A748  48 02 DD CD */	bl func_8023C8B4
/* 8020EAEC 0020A74C  7F E3 FB 78 */	mr r3, r31
/* 8020EAF0 0020A750  38 9E 42 B4 */	addi r4, r30, 0x42b4
/* 8020EAF4 0020A754  38 BC 03 E0 */	addi r5, r28, 0x3e0
/* 8020EAF8 0020A758  4B FB 81 51 */	bl __register_global_object_tmp
/* 8020EAFC 0020A75C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8020EB00 0020A760  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8020EB04 0020A764  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8020EB08 0020A768  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8020EB0C 0020A76C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 8020EB10 0020A770  7C 08 03 A6 */	mtlr r0
/* 8020EB14 0020A774  38 21 00 20 */	addi r1, r1, 0x20
/* 8020EB18 0020A778  4E 80 00 20 */	blr