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
|