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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_801DF040
func_801DF040:
/* 801DF040 001DACA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DF044 001DACA4 7C 08 02 A6 */ mflr r0
/* 801DF048 001DACA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DF04C 001DACAC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DF050 001DACB0 7C BF 2B 78 */ mr r31, r5
/* 801DF054 001DACB4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DF058 001DACB8 7C 7E 1B 78 */ mr r30, r3
/* 801DF05C 001DACBC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801DF060 001DACC0 48 01 2B 69 */ bl __ct__6GSnullFPvP11gUnkClass10
/* 801DF064 001DACC4 C0 02 96 50 */ lfs f0, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DF068 001DACC8 3C C0 80 42 */ lis r6, lbl_80423410@ha
/* 801DF06C 001DACCC C0 42 96 48 */ lfs f2, lbl_80641C48-_SDA2_BASE_(r2)
/* 801DF070 001DACD0 38 60 00 00 */ li r3, 0
/* 801DF074 001DACD4 C0 22 96 4C */ lfs f1, lbl_80641C4C-_SDA2_BASE_(r2)
/* 801DF078 001DACD8 3C A0 00 01 */ lis r5, 0x0000FFFF@ha
/* 801DF07C 001DACDC 38 C6 34 10 */ addi r6, r6, lbl_80423410@l
/* 801DF080 001DACE0 38 80 00 16 */ li r4, 0x16
/* 801DF084 001DACE4 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l
/* 801DF088 001DACE8 38 1E 00 D0 */ addi r0, r30, 0xd0
/* 801DF08C 001DACEC 90 DE 01 00 */ stw r6, 0x100(r30)
/* 801DF090 001DACF0 B0 BE 01 04 */ sth r5, 0x104(r30)
/* 801DF094 001DACF4 B0 9E 01 06 */ sth r4, 0x106(r30)
/* 801DF098 001DACF8 D0 5E 01 20 */ stfs f2, 0x120(r30)
/* 801DF09C 001DACFC D0 5E 01 24 */ stfs f2, 0x124(r30)
/* 801DF0A0 001DAD00 D0 5E 01 28 */ stfs f2, 0x128(r30)
/* 801DF0A4 001DAD04 D0 3E 01 2C */ stfs f1, 0x12c(r30)
/* 801DF0A8 001DAD08 D0 3E 01 30 */ stfs f1, 0x130(r30)
/* 801DF0AC 001DAD0C D0 3E 01 34 */ stfs f1, 0x134(r30)
/* 801DF0B0 001DAD10 90 7E 01 3C */ stw r3, 0x13c(r30)
/* 801DF0B4 001DAD14 90 7E 01 40 */ stw r3, 0x140(r30)
/* 801DF0B8 001DAD18 93 FE 01 44 */ stw r31, 0x144(r30)
/* 801DF0BC 001DAD1C D0 1E 01 08 */ stfs f0, 0x108(r30)
/* 801DF0C0 001DAD20 D0 1E 01 0C */ stfs f0, 0x10c(r30)
/* 801DF0C4 001DAD24 D0 1E 01 10 */ stfs f0, 0x110(r30)
/* 801DF0C8 001DAD28 D0 1E 01 14 */ stfs f0, 0x114(r30)
/* 801DF0CC 001DAD2C D0 1E 01 18 */ stfs f0, 0x118(r30)
/* 801DF0D0 001DAD30 D0 1E 01 1C */ stfs f0, 0x11c(r30)
/* 801DF0D4 001DAD34 90 1E 01 38 */ stw r0, 0x138(r30)
/* 801DF0D8 001DAD38 A0 1F 00 30 */ lhz r0, 0x30(r31)
/* 801DF0DC 001DAD3C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 801DF0E0 001DAD40 41 82 00 B0 */ beq lbl_801DF190
/* 801DF0E4 001DAD44 A3 BF 00 32 */ lhz r29, 0x32(r31)
/* 801DF0E8 001DAD48 2C 1D 00 00 */ cmpwi r29, 0
/* 801DF0EC 001DAD4C 41 82 00 4C */ beq lbl_801DF138
/* 801DF0F0 001DAD50 1C 7D 00 0C */ mulli r3, r29, 0xc
/* 801DF0F4 001DAD54 38 63 00 10 */ addi r3, r3, 0x10
/* 801DF0F8 001DAD58 4B FF B9 7D */ bl __nwa__FUl
/* 801DF0FC 001DAD5C 3C 80 80 03 */ lis r4, func_8002A294@ha
/* 801DF100 001DAD60 7F A7 EB 78 */ mr r7, r29
/* 801DF104 001DAD64 38 84 A2 94 */ addi r4, r4, func_8002A294@l
/* 801DF108 001DAD68 38 A0 00 00 */ li r5, 0
/* 801DF10C 001DAD6C 38 C0 00 0C */ li r6, 0xc
/* 801DF110 001DAD70 4B FE 7B 99 */ bl __construct_new_array
/* 801DF114 001DAD74 90 7E 01 3C */ stw r3, 0x13c(r30)
/* 801DF118 001DAD78 A0 1F 00 32 */ lhz r0, 0x32(r31)
/* 801DF11C 001DAD7C 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 801DF120 001DAD80 1C A0 00 0C */ mulli r5, r0, 0xc
/* 801DF124 001DAD84 4B E2 4E DD */ bl memcpy
/* 801DF128 001DAD88 A0 1F 00 32 */ lhz r0, 0x32(r31)
/* 801DF12C 001DAD8C 80 7E 01 3C */ lwz r3, 0x13c(r30)
/* 801DF130 001DAD90 1C 80 00 0C */ mulli r4, r0, 0xc
/* 801DF134 001DAD94 48 08 B5 21 */ bl DCFlushRange
lbl_801DF138:
/* 801DF138 001DAD98 A3 BF 00 34 */ lhz r29, 0x34(r31)
/* 801DF13C 001DAD9C 2C 1D 00 00 */ cmpwi r29, 0
/* 801DF140 001DADA0 41 82 00 60 */ beq lbl_801DF1A0
/* 801DF144 001DADA4 1C 7D 00 0C */ mulli r3, r29, 0xc
/* 801DF148 001DADA8 38 63 00 10 */ addi r3, r3, 0x10
/* 801DF14C 001DADAC 4B FF B9 29 */ bl __nwa__FUl
/* 801DF150 001DADB0 3C 80 80 03 */ lis r4, func_8002A294@ha
/* 801DF154 001DADB4 7F A7 EB 78 */ mr r7, r29
/* 801DF158 001DADB8 38 84 A2 94 */ addi r4, r4, func_8002A294@l
/* 801DF15C 001DADBC 38 A0 00 00 */ li r5, 0
/* 801DF160 001DADC0 38 C0 00 0C */ li r6, 0xc
/* 801DF164 001DADC4 4B FE 7B 45 */ bl __construct_new_array
/* 801DF168 001DADC8 90 7E 01 40 */ stw r3, 0x140(r30)
/* 801DF16C 001DADCC A0 1F 00 34 */ lhz r0, 0x34(r31)
/* 801DF170 001DADD0 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 801DF174 001DADD4 1C A0 00 0C */ mulli r5, r0, 0xc
/* 801DF178 001DADD8 4B E2 4E 89 */ bl memcpy
/* 801DF17C 001DADDC A0 1F 00 34 */ lhz r0, 0x34(r31)
/* 801DF180 001DADE0 80 7E 01 40 */ lwz r3, 0x140(r30)
/* 801DF184 001DADE4 1C 80 00 0C */ mulli r4, r0, 0xc
/* 801DF188 001DADE8 48 08 B4 CD */ bl DCFlushRange
/* 801DF18C 001DADEC 48 00 00 14 */ b lbl_801DF1A0
lbl_801DF190:
/* 801DF190 001DADF0 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 801DF194 001DADF4 90 1E 01 3C */ stw r0, 0x13c(r30)
/* 801DF198 001DADF8 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 801DF19C 001DADFC 90 1E 01 40 */ stw r0, 0x140(r30)
lbl_801DF1A0:
/* 801DF1A0 001DAE00 80 9E 01 44 */ lwz r4, 0x144(r30)
/* 801DF1A4 001DAE04 7F C3 F3 78 */ mr r3, r30
/* 801DF1A8 001DAE08 80 84 00 68 */ lwz r4, 0x68(r4)
/* 801DF1AC 001DAE0C C0 04 00 00 */ lfs f0, 0(r4)
/* 801DF1B0 001DAE10 D0 1E 01 20 */ stfs f0, 0x120(r30)
/* 801DF1B4 001DAE14 C0 04 00 04 */ lfs f0, 4(r4)
/* 801DF1B8 001DAE18 D0 1E 01 24 */ stfs f0, 0x124(r30)
/* 801DF1BC 001DAE1C C0 04 00 08 */ lfs f0, 8(r4)
/* 801DF1C0 001DAE20 D0 1E 01 28 */ stfs f0, 0x128(r30)
/* 801DF1C4 001DAE24 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801DF1C8 001DAE28 D0 1E 01 2C */ stfs f0, 0x12c(r30)
/* 801DF1CC 001DAE2C C0 04 00 10 */ lfs f0, 0x10(r4)
/* 801DF1D0 001DAE30 D0 1E 01 30 */ stfs f0, 0x130(r30)
/* 801DF1D4 001DAE34 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 801DF1D8 001DAE38 D0 1E 01 34 */ stfs f0, 0x134(r30)
/* 801DF1DC 001DAE3C 48 01 B2 C5 */ bl func_801FA4A0
/* 801DF1E0 001DAE40 48 08 90 81 */ bl PPCSync
/* 801DF1E4 001DAE44 7F C3 F3 78 */ mr r3, r30
/* 801DF1E8 001DAE48 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DF1EC 001DAE4C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DF1F0 001DAE50 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801DF1F4 001DAE54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DF1F8 001DAE58 7C 08 03 A6 */ mtlr r0
/* 801DF1FC 001DAE5C 38 21 00 20 */ addi r1, r1, 0x20
/* 801DF200 001DAE60 4E 80 00 20 */ blr
/* 801DF204 001DAE64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DF208 001DAE68 7C 08 02 A6 */ mflr r0
/* 801DF20C 001DAE6C 2C 03 00 00 */ cmpwi r3, 0
/* 801DF210 001DAE70 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DF214 001DAE74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801DF218 001DAE78 7C 9F 23 78 */ mr r31, r4
/* 801DF21C 001DAE7C 93 C1 00 08 */ stw r30, 8(r1)
/* 801DF220 001DAE80 7C 7E 1B 78 */ mr r30, r3
/* 801DF224 001DAE84 41 82 00 8C */ beq lbl_801DF2B0
/* 801DF228 001DAE88 3C 80 80 42 */ lis r4, lbl_80423410@ha
/* 801DF22C 001DAE8C 38 84 34 10 */ addi r4, r4, lbl_80423410@l
/* 801DF230 001DAE90 90 83 01 00 */ stw r4, 0x100(r3)
/* 801DF234 001DAE94 48 01 B3 A9 */ bl func_801FA5DC
/* 801DF238 001DAE98 80 7E 01 44 */ lwz r3, 0x144(r30)
/* 801DF23C 001DAE9C 2C 03 00 00 */ cmpwi r3, 0
/* 801DF240 001DAEA0 41 82 00 50 */ beq lbl_801DF290
/* 801DF244 001DAEA4 80 9E 01 40 */ lwz r4, 0x140(r30)
/* 801DF248 001DAEA8 2C 84 00 00 */ cmpwi cr1, r4, 0
/* 801DF24C 001DAEAC 41 86 00 1C */ beq cr1, lbl_801DF268
/* 801DF250 001DAEB0 80 03 00 3C */ lwz r0, 0x3c(r3)
/* 801DF254 001DAEB4 7C 04 00 40 */ cmplw r4, r0
/* 801DF258 001DAEB8 41 82 00 10 */ beq lbl_801DF268
/* 801DF25C 001DAEBC 41 86 00 0C */ beq cr1, lbl_801DF268
/* 801DF260 001DAEC0 38 64 FF F0 */ addi r3, r4, -16
/* 801DF264 001DAEC4 4B FF B8 59 */ bl __dla__FPv
lbl_801DF268:
/* 801DF268 001DAEC8 80 9E 01 3C */ lwz r4, 0x13c(r30)
/* 801DF26C 001DAECC 2C 84 00 00 */ cmpwi cr1, r4, 0
/* 801DF270 001DAED0 41 86 00 20 */ beq cr1, lbl_801DF290
/* 801DF274 001DAED4 80 7E 01 44 */ lwz r3, 0x144(r30)
/* 801DF278 001DAED8 80 03 00 38 */ lwz r0, 0x38(r3)
/* 801DF27C 001DAEDC 7C 04 00 40 */ cmplw r4, r0
/* 801DF280 001DAEE0 41 82 00 10 */ beq lbl_801DF290
/* 801DF284 001DAEE4 41 86 00 0C */ beq cr1, lbl_801DF290
/* 801DF288 001DAEE8 38 64 FF F0 */ addi r3, r4, -16
/* 801DF28C 001DAEEC 4B FF B8 31 */ bl __dla__FPv
lbl_801DF290:
/* 801DF290 001DAEF0 7F C3 F3 78 */ mr r3, r30
/* 801DF294 001DAEF4 38 80 00 00 */ li r4, 0
/* 801DF298 001DAEF8 48 01 2C 8D */ bl __dt__6GSnullFv
/* 801DF29C 001DAEFC 2C 1F 00 00 */ cmpwi r31, 0
/* 801DF2A0 001DAF00 40 81 00 10 */ ble lbl_801DF2B0
/* 801DF2A4 001DAF04 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DF2A8 001DAF08 7F C4 F3 78 */ mr r4, r30
/* 801DF2AC 001DAF0C 4B FF BA 9D */ bl func_801DAD48
lbl_801DF2B0:
/* 801DF2B0 001DAF10 7F C3 F3 78 */ mr r3, r30
/* 801DF2B4 001DAF14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DF2B8 001DAF18 83 C1 00 08 */ lwz r30, 8(r1)
/* 801DF2BC 001DAF1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DF2C0 001DAF20 7C 08 03 A6 */ mtlr r0
/* 801DF2C4 001DAF24 38 21 00 10 */ addi r1, r1, 0x10
/* 801DF2C8 001DAF28 4E 80 00 20 */ blr
.global func_801DF2CC
func_801DF2CC:
/* 801DF2CC 001DAF2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DF2D0 001DAF30 7C 08 02 A6 */ mflr r0
/* 801DF2D4 001DAF34 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DF2D8 001DAF38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801DF2DC 001DAF3C 7C 7F 1B 78 */ mr r31, r3
/* 801DF2E0 001DAF40 38 63 01 20 */ addi r3, r3, 0x120
/* 801DF2E4 001DAF44 48 04 18 0D */ bl func_80220AF0
/* 801DF2E8 001DAF48 C0 03 00 00 */ lfs f0, 0(r3)
/* 801DF2EC 001DAF4C 38 00 00 07 */ li r0, 7
/* 801DF2F0 001DAF50 38 83 00 0C */ addi r4, r3, 0xc
/* 801DF2F4 001DAF54 D0 1F 01 08 */ stfs f0, 0x108(r31)
/* 801DF2F8 001DAF58 C0 03 00 04 */ lfs f0, 4(r3)
/* 801DF2FC 001DAF5C D0 1F 01 0C */ stfs f0, 0x10c(r31)
/* 801DF300 001DAF60 C0 03 00 08 */ lfs f0, 8(r3)
/* 801DF304 001DAF64 D0 1F 01 10 */ stfs f0, 0x110(r31)
/* 801DF308 001DAF68 C0 03 00 00 */ lfs f0, 0(r3)
/* 801DF30C 001DAF6C D0 1F 01 14 */ stfs f0, 0x114(r31)
/* 801DF310 001DAF70 C0 03 00 04 */ lfs f0, 4(r3)
/* 801DF314 001DAF74 D0 1F 01 18 */ stfs f0, 0x118(r31)
/* 801DF318 001DAF78 C0 03 00 08 */ lfs f0, 8(r3)
/* 801DF31C 001DAF7C D0 1F 01 1C */ stfs f0, 0x11c(r31)
/* 801DF320 001DAF80 7C 09 03 A6 */ mtctr r0
lbl_801DF324:
/* 801DF324 001DAF84 C0 24 00 00 */ lfs f1, 0(r4)
/* 801DF328 001DAF88 C0 1F 01 08 */ lfs f0, 0x108(r31)
/* 801DF32C 001DAF8C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801DF330 001DAF90 40 81 00 08 */ ble lbl_801DF338
/* 801DF334 001DAF94 D0 3F 01 08 */ stfs f1, 0x108(r31)
lbl_801DF338:
/* 801DF338 001DAF98 C0 1F 01 14 */ lfs f0, 0x114(r31)
/* 801DF33C 001DAF9C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801DF340 001DAFA0 40 80 00 08 */ bge lbl_801DF348
/* 801DF344 001DAFA4 D0 3F 01 14 */ stfs f1, 0x114(r31)
lbl_801DF348:
/* 801DF348 001DAFA8 C0 24 00 04 */ lfs f1, 4(r4)
/* 801DF34C 001DAFAC C0 1F 01 0C */ lfs f0, 0x10c(r31)
/* 801DF350 001DAFB0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801DF354 001DAFB4 40 81 00 08 */ ble lbl_801DF35C
/* 801DF358 001DAFB8 D0 3F 01 0C */ stfs f1, 0x10c(r31)
lbl_801DF35C:
/* 801DF35C 001DAFBC C0 1F 01 18 */ lfs f0, 0x118(r31)
/* 801DF360 001DAFC0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801DF364 001DAFC4 40 80 00 08 */ bge lbl_801DF36C
/* 801DF368 001DAFC8 D0 3F 01 18 */ stfs f1, 0x118(r31)
lbl_801DF36C:
/* 801DF36C 001DAFCC C0 24 00 08 */ lfs f1, 8(r4)
/* 801DF370 001DAFD0 C0 1F 01 10 */ lfs f0, 0x110(r31)
/* 801DF374 001DAFD4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801DF378 001DAFD8 40 81 00 08 */ ble lbl_801DF380
/* 801DF37C 001DAFDC D0 3F 01 10 */ stfs f1, 0x110(r31)
lbl_801DF380:
/* 801DF380 001DAFE0 C0 1F 01 1C */ lfs f0, 0x11c(r31)
/* 801DF384 001DAFE4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801DF388 001DAFE8 40 80 00 08 */ bge lbl_801DF390
/* 801DF38C 001DAFEC D0 3F 01 1C */ stfs f1, 0x11c(r31)
lbl_801DF390:
/* 801DF390 001DAFF0 38 84 00 0C */ addi r4, r4, 0xc
/* 801DF394 001DAFF4 42 00 FF 90 */ bdnz lbl_801DF324
/* 801DF398 001DAFF8 C0 5F 01 08 */ lfs f2, 0x108(r31)
/* 801DF39C 001DAFFC C0 C2 96 54 */ lfs f6, lbl_80641C54-_SDA2_BASE_(r2)
/* 801DF3A0 001DB000 C0 3F 01 0C */ lfs f1, 0x10c(r31)
/* 801DF3A4 001DB004 EC A2 30 28 */ fsubs f5, f2, f6
/* 801DF3A8 001DB008 C0 1F 01 10 */ lfs f0, 0x110(r31)
/* 801DF3AC 001DB00C EC 81 30 28 */ fsubs f4, f1, f6
/* 801DF3B0 001DB010 C0 5F 01 14 */ lfs f2, 0x114(r31)
/* 801DF3B4 001DB014 EC 60 30 28 */ fsubs f3, f0, f6
/* 801DF3B8 001DB018 C0 3F 01 18 */ lfs f1, 0x118(r31)
/* 801DF3BC 001DB01C C0 1F 01 1C */ lfs f0, 0x11c(r31)
/* 801DF3C0 001DB020 EC 42 30 2A */ fadds f2, f2, f6
/* 801DF3C4 001DB024 EC 21 30 2A */ fadds f1, f1, f6
/* 801DF3C8 001DB028 D0 BF 01 08 */ stfs f5, 0x108(r31)
/* 801DF3CC 001DB02C EC 00 30 2A */ fadds f0, f0, f6
/* 801DF3D0 001DB030 D0 9F 01 0C */ stfs f4, 0x10c(r31)
/* 801DF3D4 001DB034 D0 7F 01 10 */ stfs f3, 0x110(r31)
/* 801DF3D8 001DB038 D0 5F 01 14 */ stfs f2, 0x114(r31)
/* 801DF3DC 001DB03C D0 3F 01 18 */ stfs f1, 0x118(r31)
/* 801DF3E0 001DB040 D0 1F 01 1C */ stfs f0, 0x11c(r31)
/* 801DF3E4 001DB044 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DF3E8 001DB048 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DF3EC 001DB04C 7C 08 03 A6 */ mtlr r0
/* 801DF3F0 001DB050 38 21 00 10 */ addi r1, r1, 0x10
/* 801DF3F4 001DB054 4E 80 00 20 */ blr
.global func_801DF3F8
func_801DF3F8:
/* 801DF3F8 001DB058 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801DF3FC 001DB05C 7C 08 02 A6 */ mflr r0
/* 801DF400 001DB060 90 01 00 84 */ stw r0, 0x84(r1)
/* 801DF404 001DB064 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 801DF408 001DB068 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 801DF40C 001DB06C DB C1 00 60 */ stfd f30, 0x60(r1)
/* 801DF410 001DB070 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 801DF414 001DB074 3C 00 43 30 */ lis r0, 0x4330
/* 801DF418 001DB078 C8 82 96 60 */ lfd f4, lbl_80641C60-_SDA2_BASE_(r2)
/* 801DF41C 001DB07C 90 C1 00 3C */ stw r6, 0x3c(r1)
/* 801DF420 001DB080 C0 42 96 58 */ lfs f2, lbl_80641C58-_SDA2_BASE_(r2)
/* 801DF424 001DB084 90 01 00 38 */ stw r0, 0x38(r1)
/* 801DF428 001DB088 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 801DF42C 001DB08C 90 E1 00 44 */ stw r7, 0x44(r1)
/* 801DF430 001DB090 EC 60 20 28 */ fsubs f3, f0, f4
/* 801DF434 001DB094 C0 02 96 5C */ lfs f0, lbl_80641C5C-_SDA2_BASE_(r2)
/* 801DF438 001DB098 90 01 00 40 */ stw r0, 0x40(r1)
/* 801DF43C 001DB09C C8 21 00 40 */ lfd f1, 0x40(r1)
/* 801DF440 001DB0A0 EF E3 10 24 */ fdivs f31, f3, f2
/* 801DF444 001DB0A4 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 801DF448 001DB0A8 7D 3F 4B 78 */ mr r31, r9
/* 801DF44C 001DB0AC 93 C1 00 58 */ stw r30, 0x58(r1)
/* 801DF450 001DB0B0 7D 1E 43 78 */ mr r30, r8
/* 801DF454 001DB0B4 7F C3 F3 78 */ mr r3, r30
/* 801DF458 001DB0B8 93 A1 00 54 */ stw r29, 0x54(r1)
/* 801DF45C 001DB0BC EC 21 20 28 */ fsubs f1, f1, f4
/* 801DF460 001DB0C0 7C BD 2B 78 */ mr r29, r5
/* 801DF464 001DB0C4 93 81 00 50 */ stw r28, 0x50(r1)
/* 801DF468 001DB0C8 7C 9C 23 78 */ mr r28, r4
/* 801DF46C 001DB0CC EF C1 10 24 */ fdivs f30, f1, f2
/* 801DF470 001DB0D0 7F C4 F3 78 */ mr r4, r30
/* 801DF474 001DB0D4 EC 3F F0 2A */ fadds f1, f31, f30
/* 801DF478 001DB0D8 EC 20 08 28 */ fsubs f1, f0, f1
/* 801DF47C 001DB0DC 48 09 D8 91 */ bl PSVECScale
/* 801DF480 001DB0E0 7F 83 E3 78 */ mr r3, r28
/* 801DF484 001DB0E4 7F E4 FB 78 */ mr r4, r31
/* 801DF488 001DB0E8 38 A1 00 2C */ addi r5, r1, 0x2c
/* 801DF48C 001DB0EC 48 09 D5 71 */ bl PSMTXMultVec
/* 801DF490 001DB0F0 FC 20 F8 90 */ fmr f1, f31
/* 801DF494 001DB0F4 38 61 00 2C */ addi r3, r1, 0x2c
/* 801DF498 001DB0F8 38 81 00 20 */ addi r4, r1, 0x20
/* 801DF49C 001DB0FC 48 09 D8 71 */ bl PSVECScale
/* 801DF4A0 001DB100 7F C3 F3 78 */ mr r3, r30
/* 801DF4A4 001DB104 7F C5 F3 78 */ mr r5, r30
/* 801DF4A8 001DB108 38 81 00 20 */ addi r4, r1, 0x20
/* 801DF4AC 001DB10C 48 09 D8 19 */ bl PSVECAdd
/* 801DF4B0 001DB110 7F A3 EB 78 */ mr r3, r29
/* 801DF4B4 001DB114 7F E4 FB 78 */ mr r4, r31
/* 801DF4B8 001DB118 38 A1 00 14 */ addi r5, r1, 0x14
/* 801DF4BC 001DB11C 48 09 D5 41 */ bl PSMTXMultVec
/* 801DF4C0 001DB120 C0 61 00 14 */ lfs f3, 0x14(r1)
/* 801DF4C4 001DB124 FC 20 F0 90 */ fmr f1, f30
/* 801DF4C8 001DB128 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 801DF4CC 001DB12C 38 61 00 2C */ addi r3, r1, 0x2c
/* 801DF4D0 001DB130 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801DF4D4 001DB134 38 81 00 08 */ addi r4, r1, 8
/* 801DF4D8 001DB138 D0 61 00 2C */ stfs f3, 0x2c(r1)
/* 801DF4DC 001DB13C D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801DF4E0 001DB140 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 801DF4E4 001DB144 48 09 D8 29 */ bl PSVECScale
/* 801DF4E8 001DB148 7F C3 F3 78 */ mr r3, r30
/* 801DF4EC 001DB14C 7F C5 F3 78 */ mr r5, r30
/* 801DF4F0 001DB150 38 81 00 08 */ addi r4, r1, 8
/* 801DF4F4 001DB154 48 09 D7 D1 */ bl PSVECAdd
/* 801DF4F8 001DB158 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 801DF4FC 001DB15C CB E1 00 70 */ lfd f31, 0x70(r1)
/* 801DF500 001DB160 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 801DF504 001DB164 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 801DF508 001DB168 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 801DF50C 001DB16C 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 801DF510 001DB170 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 801DF514 001DB174 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801DF518 001DB178 83 81 00 50 */ lwz r28, 0x50(r1)
/* 801DF51C 001DB17C 7C 08 03 A6 */ mtlr r0
/* 801DF520 001DB180 38 21 00 80 */ addi r1, r1, 0x80
/* 801DF524 001DB184 4E 80 00 20 */ blr
.global func_801DF528
func_801DF528:
/* 801DF528 001DB188 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801DF52C 001DB18C 7C 08 02 A6 */ mflr r0
/* 801DF530 001DB190 90 01 00 94 */ stw r0, 0x94(r1)
/* 801DF534 001DB194 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 801DF538 001DB198 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 801DF53C 001DB19C DB C1 00 70 */ stfd f30, 0x70(r1)
/* 801DF540 001DB1A0 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 801DF544 001DB1A4 DB A1 00 60 */ stfd f29, 0x60(r1)
/* 801DF548 001DB1A8 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 801DF54C 001DB1AC DB 81 00 50 */ stfd f28, 0x50(r1)
/* 801DF550 001DB1B0 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0
/* 801DF554 001DB1B4 39 61 00 50 */ addi r11, r1, 0x50
/* 801DF558 001DB1B8 4B FE 7B C9 */ bl _savegpr_25
/* 801DF55C 001DB1BC 80 83 01 44 */ lwz r4, 0x144(r3)
/* 801DF560 001DB1C0 7C 79 1B 78 */ mr r25, r3
/* 801DF564 001DB1C4 83 A3 01 3C */ lwz r29, 0x13c(r3)
/* 801DF568 001DB1C8 83 84 00 38 */ lwz r28, 0x38(r4)
/* 801DF56C 001DB1CC 7C 1D E0 40 */ cmplw r29, r28
/* 801DF570 001DB1D0 41 82 02 B4 */ beq lbl_801DF824
/* 801DF574 001DB1D4 3C 60 10 05 */ lis r3, 0x10051005@ha
/* 801DF578 001DB1D8 38 03 10 05 */ addi r0, r3, 0x10051005@l
/* 801DF57C 001DB1DC 7C 13 E3 A6 */ mtspr 0x393, r0
/* 801DF580 001DB1E0 A3 44 00 48 */ lhz r26, 0x48(r4)
/* 801DF584 001DB1E4 2C 1A 00 00 */ cmpwi r26, 0
/* 801DF588 001DB1E8 41 82 00 78 */ beq lbl_801DF600
/* 801DF58C 001DB1EC 83 C4 00 4C */ lwz r30, 0x4c(r4)
/* 801DF590 001DB1F0 48 00 00 64 */ b lbl_801DF5F4
lbl_801DF594:
/* 801DF594 001DB1F4 80 79 00 B8 */ lwz r3, 0xb8(r25)
/* 801DF598 001DB1F8 A3 7E 00 00 */ lhz r27, 0(r30)
/* 801DF59C 001DB1FC 80 A3 00 08 */ lwz r5, 8(r3)
/* 801DF5A0 001DB200 A0 9E 00 02 */ lhz r4, 2(r30)
/* 801DF5A4 001DB204 2C 05 00 00 */ cmpwi r5, 0
/* 801DF5A8 001DB208 40 82 00 0C */ bne lbl_801DF5B4
/* 801DF5AC 001DB20C 38 60 00 00 */ li r3, 0
/* 801DF5B0 001DB210 48 00 00 20 */ b lbl_801DF5D0
lbl_801DF5B4:
/* 801DF5B4 001DB214 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 801DF5B8 001DB218 7C 04 00 40 */ cmplw r4, r0
/* 801DF5BC 001DB21C 41 80 00 0C */ blt lbl_801DF5C8
/* 801DF5C0 001DB220 38 60 00 00 */ li r3, 0
/* 801DF5C4 001DB224 48 00 00 0C */ b lbl_801DF5D0
lbl_801DF5C8:
/* 801DF5C8 001DB228 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 801DF5CC 001DB22C 7C 65 00 2E */ lwzx r3, r5, r0
lbl_801DF5D0:
/* 801DF5D0 001DB230 7F 84 E3 78 */ mr r4, r28
/* 801DF5D4 001DB234 7F A5 EB 78 */ mr r5, r29
/* 801DF5D8 001DB238 7F 66 DB 78 */ mr r6, r27
/* 801DF5DC 001DB23C 38 63 01 3C */ addi r3, r3, 0x13c
/* 801DF5E0 001DB240 48 03 D4 C1 */ bl func_8021CAA0
/* 801DF5E4 001DB244 1C 1B 00 0C */ mulli r0, r27, 0xc
/* 801DF5E8 001DB248 3B DE 00 04 */ addi r30, r30, 4
/* 801DF5EC 001DB24C 7F BD 02 14 */ add r29, r29, r0
/* 801DF5F0 001DB250 7F 9C 02 14 */ add r28, r28, r0
lbl_801DF5F4:
/* 801DF5F4 001DB254 57 40 04 3F */ clrlwi. r0, r26, 0x10
/* 801DF5F8 001DB258 3B 5A FF FF */ addi r26, r26, -1
/* 801DF5FC 001DB25C 40 82 FF 98 */ bne lbl_801DF594
lbl_801DF600:
/* 801DF600 001DB260 80 79 01 44 */ lwz r3, 0x144(r25)
/* 801DF604 001DB264 A3 E3 00 50 */ lhz r31, 0x50(r3)
/* 801DF608 001DB268 2C 1F 00 00 */ cmpwi r31, 0
/* 801DF60C 001DB26C 41 82 00 BC */ beq lbl_801DF6C8
/* 801DF610 001DB270 83 63 00 54 */ lwz r27, 0x54(r3)
/* 801DF614 001DB274 83 43 00 58 */ lwz r26, 0x58(r3)
/* 801DF618 001DB278 48 00 00 A4 */ b lbl_801DF6BC
lbl_801DF61C:
/* 801DF61C 001DB27C 80 B9 00 B8 */ lwz r5, 0xb8(r25)
/* 801DF620 001DB280 A3 DB 00 00 */ lhz r30, 0(r27)
/* 801DF624 001DB284 80 C5 00 08 */ lwz r6, 8(r5)
/* 801DF628 001DB288 A0 7B 00 02 */ lhz r3, 2(r27)
/* 801DF62C 001DB28C 2C 06 00 00 */ cmpwi r6, 0
/* 801DF630 001DB290 40 82 00 0C */ bne lbl_801DF63C
/* 801DF634 001DB294 38 60 00 00 */ li r3, 0
/* 801DF638 001DB298 48 00 00 20 */ b lbl_801DF658
lbl_801DF63C:
/* 801DF63C 001DB29C A0 05 00 DE */ lhz r0, 0xde(r5)
/* 801DF640 001DB2A0 7C 03 00 40 */ cmplw r3, r0
/* 801DF644 001DB2A4 41 80 00 0C */ blt lbl_801DF650
/* 801DF648 001DB2A8 38 60 00 00 */ li r3, 0
/* 801DF64C 001DB2AC 48 00 00 0C */ b lbl_801DF658
lbl_801DF650:
/* 801DF650 001DB2B0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 801DF654 001DB2B4 7C 66 00 2E */ lwzx r3, r6, r0
lbl_801DF658:
/* 801DF658 001DB2B8 2C 06 00 00 */ cmpwi r6, 0
/* 801DF65C 001DB2BC A0 9B 00 04 */ lhz r4, 4(r27)
/* 801DF660 001DB2C0 40 82 00 0C */ bne lbl_801DF66C
/* 801DF664 001DB2C4 38 80 00 00 */ li r4, 0
/* 801DF668 001DB2C8 48 00 00 20 */ b lbl_801DF688
lbl_801DF66C:
/* 801DF66C 001DB2CC A0 05 00 DE */ lhz r0, 0xde(r5)
/* 801DF670 001DB2D0 7C 04 00 40 */ cmplw r4, r0
/* 801DF674 001DB2D4 41 80 00 0C */ blt lbl_801DF680
/* 801DF678 001DB2D8 38 80 00 00 */ li r4, 0
/* 801DF67C 001DB2DC 48 00 00 0C */ b lbl_801DF688
lbl_801DF680:
/* 801DF680 001DB2E0 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 801DF684 001DB2E4 7C 86 00 2E */ lwzx r4, r6, r0
lbl_801DF688:
/* 801DF688 001DB2E8 7F 45 D3 78 */ mr r5, r26
/* 801DF68C 001DB2EC 7F 86 E3 78 */ mr r6, r28
/* 801DF690 001DB2F0 7F A7 EB 78 */ mr r7, r29
/* 801DF694 001DB2F4 7F C8 F3 78 */ mr r8, r30
/* 801DF698 001DB2F8 38 63 01 3C */ addi r3, r3, 0x13c
/* 801DF69C 001DB2FC 38 84 01 3C */ addi r4, r4, 0x13c
/* 801DF6A0 001DB300 48 03 D5 B5 */ bl func_8021CC54
/* 801DF6A4 001DB304 1C 7E 00 0C */ mulli r3, r30, 0xc
/* 801DF6A8 001DB308 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 801DF6AC 001DB30C 3B 7B 00 06 */ addi r27, r27, 6
/* 801DF6B0 001DB310 7F 5A 02 14 */ add r26, r26, r0
/* 801DF6B4 001DB314 7F BD 1A 14 */ add r29, r29, r3
/* 801DF6B8 001DB318 7F 9C 1A 14 */ add r28, r28, r3
lbl_801DF6BC:
/* 801DF6BC 001DB31C 57 E0 04 3F */ clrlwi. r0, r31, 0x10
/* 801DF6C0 001DB320 3B FF FF FF */ addi r31, r31, -1
/* 801DF6C4 001DB324 40 82 FF 58 */ bne lbl_801DF61C
lbl_801DF6C8:
/* 801DF6C8 001DB328 3C 60 00 05 */ lis r3, 0x00050005@ha
/* 801DF6CC 001DB32C 38 03 00 05 */ addi r0, r3, 0x00050005@l
/* 801DF6D0 001DB330 7C 13 E3 A6 */ mtspr 0x393, r0
/* 801DF6D4 001DB334 80 79 01 44 */ lwz r3, 0x144(r25)
/* 801DF6D8 001DB338 A3 E3 00 5C */ lhz r31, 0x5c(r3)
/* 801DF6DC 001DB33C 2C 1F 00 00 */ cmpwi r31, 0
/* 801DF6E0 001DB340 41 82 01 44 */ beq lbl_801DF824
/* 801DF6E4 001DB344 83 43 00 60 */ lwz r26, 0x60(r3)
/* 801DF6E8 001DB348 3F 60 43 30 */ lis r27, 0x4330
/* 801DF6EC 001DB34C CB A2 96 60 */ lfd f29, lbl_80641C60-_SDA2_BASE_(r2)
/* 801DF6F0 001DB350 C3 C2 96 58 */ lfs f30, lbl_80641C58-_SDA2_BASE_(r2)
/* 801DF6F4 001DB354 C3 E2 96 5C */ lfs f31, lbl_80641C5C-_SDA2_BASE_(r2)
/* 801DF6F8 001DB358 48 00 01 20 */ b lbl_801DF818
lbl_801DF6FC:
/* 801DF6FC 001DB35C 80 99 00 B8 */ lwz r4, 0xb8(r25)
/* 801DF700 001DB360 A0 DA 00 00 */ lhz r6, 0(r26)
/* 801DF704 001DB364 80 A4 00 08 */ lwz r5, 8(r4)
/* 801DF708 001DB368 A0 7A 00 02 */ lhz r3, 2(r26)
/* 801DF70C 001DB36C 2C 05 00 00 */ cmpwi r5, 0
/* 801DF710 001DB370 40 82 00 0C */ bne lbl_801DF71C
/* 801DF714 001DB374 3B 80 00 00 */ li r28, 0
/* 801DF718 001DB378 48 00 00 20 */ b lbl_801DF738
lbl_801DF71C:
/* 801DF71C 001DB37C A0 04 00 DE */ lhz r0, 0xde(r4)
/* 801DF720 001DB380 7C 03 00 40 */ cmplw r3, r0
/* 801DF724 001DB384 41 80 00 0C */ blt lbl_801DF730
/* 801DF728 001DB388 3B 80 00 00 */ li r28, 0
/* 801DF72C 001DB38C 48 00 00 0C */ b lbl_801DF738
lbl_801DF730:
/* 801DF730 001DB390 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 801DF734 001DB394 7F 85 00 2E */ lwzx r28, r5, r0
lbl_801DF738:
/* 801DF738 001DB398 A0 FA 00 08 */ lhz r7, 8(r26)
/* 801DF73C 001DB39C 2C 07 00 00 */ cmpwi r7, 0
/* 801DF740 001DB3A0 41 82 00 64 */ beq lbl_801DF7A4
/* 801DF744 001DB3A4 2C 05 00 00 */ cmpwi r5, 0
/* 801DF748 001DB3A8 A0 7A 00 04 */ lhz r3, 4(r26)
/* 801DF74C 001DB3AC 40 82 00 0C */ bne lbl_801DF758
/* 801DF750 001DB3B0 38 A0 00 00 */ li r5, 0
/* 801DF754 001DB3B4 48 00 00 20 */ b lbl_801DF774
lbl_801DF758:
/* 801DF758 001DB3B8 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 801DF75C 001DB3BC 7C 03 00 40 */ cmplw r3, r0
/* 801DF760 001DB3C0 41 80 00 0C */ blt lbl_801DF76C
/* 801DF764 001DB3C4 38 A0 00 00 */ li r5, 0
/* 801DF768 001DB3C8 48 00 00 0C */ b lbl_801DF774
lbl_801DF76C:
/* 801DF76C 001DB3CC 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 801DF770 001DB3D0 7C A5 00 2E */ lwzx r5, r5, r0
lbl_801DF774:
/* 801DF774 001DB3D4 80 99 01 44 */ lwz r4, 0x144(r25)
/* 801DF778 001DB3D8 1D 26 00 0C */ mulli r9, r6, 0xc
/* 801DF77C 001DB3DC 81 19 01 3C */ lwz r8, 0x13c(r25)
/* 801DF780 001DB3E0 7F 23 CB 78 */ mr r3, r25
/* 801DF784 001DB3E4 80 04 00 38 */ lwz r0, 0x38(r4)
/* 801DF788 001DB3E8 38 9C 01 0C */ addi r4, r28, 0x10c
/* 801DF78C 001DB3EC A0 DA 00 06 */ lhz r6, 6(r26)
/* 801DF790 001DB3F0 7D 08 4A 14 */ add r8, r8, r9
/* 801DF794 001DB3F4 38 A5 01 0C */ addi r5, r5, 0x10c
/* 801DF798 001DB3F8 7D 20 4A 14 */ add r9, r0, r9
/* 801DF79C 001DB3FC 4B FF FC 5D */ bl func_801DF3F8
/* 801DF7A0 001DB400 48 00 00 74 */ b lbl_801DF814
lbl_801DF7A4:
/* 801DF7A4 001DB404 A0 1A 00 06 */ lhz r0, 6(r26)
/* 801DF7A8 001DB408 1C A6 00 0C */ mulli r5, r6, 0xc
/* 801DF7AC 001DB40C 93 61 00 20 */ stw r27, 0x20(r1)
/* 801DF7B0 001DB410 80 79 01 44 */ lwz r3, 0x144(r25)
/* 801DF7B4 001DB414 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DF7B8 001DB418 80 19 01 3C */ lwz r0, 0x13c(r25)
/* 801DF7BC 001DB41C C8 01 00 20 */ lfd f0, 0x20(r1)
/* 801DF7C0 001DB420 7F A0 2A 14 */ add r29, r0, r5
/* 801DF7C4 001DB424 80 03 00 38 */ lwz r0, 0x38(r3)
/* 801DF7C8 001DB428 EC 00 E8 28 */ fsubs f0, f0, f29
/* 801DF7CC 001DB42C 7F A3 EB 78 */ mr r3, r29
/* 801DF7D0 001DB430 7F A4 EB 78 */ mr r4, r29
/* 801DF7D4 001DB434 7F C0 2A 14 */ add r30, r0, r5
/* 801DF7D8 001DB438 EF 80 F0 24 */ fdivs f28, f0, f30
/* 801DF7DC 001DB43C EC 3F E0 28 */ fsubs f1, f31, f28
/* 801DF7E0 001DB440 48 09 D5 2D */ bl PSVECScale
/* 801DF7E4 001DB444 7F C4 F3 78 */ mr r4, r30
/* 801DF7E8 001DB448 38 7C 01 0C */ addi r3, r28, 0x10c
/* 801DF7EC 001DB44C 38 A1 00 08 */ addi r5, r1, 8
/* 801DF7F0 001DB450 48 09 D2 0D */ bl PSMTXMultVec
/* 801DF7F4 001DB454 FC 20 E0 90 */ fmr f1, f28
/* 801DF7F8 001DB458 38 61 00 08 */ addi r3, r1, 8
/* 801DF7FC 001DB45C 38 81 00 14 */ addi r4, r1, 0x14
/* 801DF800 001DB460 48 09 D5 0D */ bl PSVECScale
/* 801DF804 001DB464 7F A3 EB 78 */ mr r3, r29
/* 801DF808 001DB468 7F A5 EB 78 */ mr r5, r29
/* 801DF80C 001DB46C 38 81 00 14 */ addi r4, r1, 0x14
/* 801DF810 001DB470 48 09 D4 B5 */ bl PSVECAdd
lbl_801DF814:
/* 801DF814 001DB474 3B 5A 00 0A */ addi r26, r26, 0xa
lbl_801DF818:
/* 801DF818 001DB478 57 E0 04 3F */ clrlwi. r0, r31, 0x10
/* 801DF81C 001DB47C 3B FF FF FF */ addi r31, r31, -1
/* 801DF820 001DB480 40 82 FE DC */ bne lbl_801DF6FC
lbl_801DF824:
/* 801DF824 001DB484 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 801DF828 001DB488 CB E1 00 80 */ lfd f31, 0x80(r1)
/* 801DF82C 001DB48C E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 801DF830 001DB490 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 801DF834 001DB494 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 801DF838 001DB498 CB A1 00 60 */ lfd f29, 0x60(r1)
/* 801DF83C 001DB49C E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0
/* 801DF840 001DB4A0 39 61 00 50 */ addi r11, r1, 0x50
/* 801DF844 001DB4A4 CB 81 00 50 */ lfd f28, 0x50(r1)
/* 801DF848 001DB4A8 4B FE 79 25 */ bl _restgpr_25
/* 801DF84C 001DB4AC 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801DF850 001DB4B0 7C 08 03 A6 */ mtlr r0
/* 801DF854 001DB4B4 38 21 00 90 */ addi r1, r1, 0x90
/* 801DF858 001DB4B8 4E 80 00 20 */ blr
.global func_801DF85C
func_801DF85C:
/* 801DF85C 001DB4BC 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801DF860 001DB4C0 7C 08 02 A6 */ mflr r0
/* 801DF864 001DB4C4 90 01 00 94 */ stw r0, 0x94(r1)
/* 801DF868 001DB4C8 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 801DF86C 001DB4CC F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 801DF870 001DB4D0 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 801DF874 001DB4D4 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 801DF878 001DB4D8 DB A1 00 60 */ stfd f29, 0x60(r1)
/* 801DF87C 001DB4DC F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 801DF880 001DB4E0 DB 81 00 50 */ stfd f28, 0x50(r1)
/* 801DF884 001DB4E4 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0
/* 801DF888 001DB4E8 39 61 00 50 */ addi r11, r1, 0x50
/* 801DF88C 001DB4EC 4B FE 78 95 */ bl _savegpr_25
/* 801DF890 001DB4F0 80 83 01 44 */ lwz r4, 0x144(r3)
/* 801DF894 001DB4F4 7C 7F 1B 78 */ mr r31, r3
/* 801DF898 001DB4F8 80 63 01 40 */ lwz r3, 0x140(r3)
/* 801DF89C 001DB4FC 80 04 00 3C */ lwz r0, 0x3c(r4)
/* 801DF8A0 001DB500 7C 03 00 40 */ cmplw r3, r0
/* 801DF8A4 001DB504 41 82 00 F8 */ beq lbl_801DF99C
/* 801DF8A8 001DB508 A3 C4 00 34 */ lhz r30, 0x34(r4)
/* 801DF8AC 001DB50C 3B 80 00 00 */ li r28, 0
/* 801DF8B0 001DB510 83 A4 00 40 */ lwz r29, 0x40(r4)
/* 801DF8B4 001DB514 C3 C2 96 50 */ lfs f30, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DF8B8 001DB518 C3 A2 96 6C */ lfs f29, lbl_80641C6C-_SDA2_BASE_(r2)
/* 801DF8BC 001DB51C C3 E2 96 5C */ lfs f31, lbl_80641C5C-_SDA2_BASE_(r2)
/* 801DF8C0 001DB520 C3 82 96 68 */ lfs f28, lbl_80641C68-_SDA2_BASE_(r2)
/* 801DF8C4 001DB524 48 00 00 CC */ b lbl_801DF990
lbl_801DF8C8:
/* 801DF8C8 001DB528 80 FD 00 04 */ lwz r7, 4(r29)
/* 801DF8CC 001DB52C 38 A1 00 20 */ addi r5, r1, 0x20
/* 801DF8D0 001DB530 A0 1D 00 00 */ lhz r0, 0(r29)
/* 801DF8D4 001DB534 A0 87 00 00 */ lhz r4, 0(r7)
/* 801DF8D8 001DB538 A0 67 00 04 */ lhz r3, 4(r7)
/* 801DF8DC 001DB53C 1C C0 00 0C */ mulli r6, r0, 0xc
/* 801DF8E0 001DB540 A0 07 00 02 */ lhz r0, 2(r7)
/* 801DF8E4 001DB544 81 1F 01 3C */ lwz r8, 0x13c(r31)
/* 801DF8E8 001DB548 1C 84 00 0C */ mulli r4, r4, 0xc
/* 801DF8EC 001DB54C 80 FF 01 40 */ lwz r7, 0x140(r31)
/* 801DF8F0 001DB550 7F 67 32 14 */ add r27, r7, r6
/* 801DF8F4 001DB554 1C 63 00 0C */ mulli r3, r3, 0xc
/* 801DF8F8 001DB558 7F 48 22 14 */ add r26, r8, r4
/* 801DF8FC 001DB55C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801DF900 001DB560 7F 44 D3 78 */ mr r4, r26
/* 801DF904 001DB564 7F 28 1A 14 */ add r25, r8, r3
/* 801DF908 001DB568 7C 68 02 14 */ add r3, r8, r0
/* 801DF90C 001DB56C 48 09 D3 DD */ bl PSVECSubtract
/* 801DF910 001DB570 7F 23 CB 78 */ mr r3, r25
/* 801DF914 001DB574 7F 44 D3 78 */ mr r4, r26
/* 801DF918 001DB578 38 A1 00 14 */ addi r5, r1, 0x14
/* 801DF91C 001DB57C 48 09 D3 CD */ bl PSVECSubtract
/* 801DF920 001DB580 38 61 00 20 */ addi r3, r1, 0x20
/* 801DF924 001DB584 38 81 00 14 */ addi r4, r1, 0x14
/* 801DF928 001DB588 38 A1 00 08 */ addi r5, r1, 8
/* 801DF92C 001DB58C 48 09 D4 BD */ bl PSVECCrossProduct
/* 801DF930 001DB590 C0 01 00 08 */ lfs f0, 8(r1)
/* 801DF934 001DB594 7F 63 DB 78 */ mr r3, r27
/* 801DF938 001DB598 D0 1B 00 00 */ stfs f0, 0(r27)
/* 801DF93C 001DB59C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 801DF940 001DB5A0 D0 1B 00 04 */ stfs f0, 4(r27)
/* 801DF944 001DB5A4 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 801DF948 001DB5A8 D0 1B 00 08 */ stfs f0, 8(r27)
/* 801DF94C 001DB5AC 48 09 D4 39 */ bl PSVECMag
/* 801DF950 001DB5B0 FC 01 E0 40 */ fcmpo cr0, f1, f28
/* 801DF954 001DB5B4 40 81 00 34 */ ble lbl_801DF988
/* 801DF958 001DB5B8 40 80 00 20 */ bge lbl_801DF978
/* 801DF95C 001DB5BC FC 01 E8 40 */ fcmpo cr0, f1, f29
/* 801DF960 001DB5C0 40 81 00 18 */ ble lbl_801DF978
/* 801DF964 001DB5C4 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 801DF968 001DB5C8 40 80 00 0C */ bge lbl_801DF974
/* 801DF96C 001DB5CC FC 20 E8 90 */ fmr f1, f29
/* 801DF970 001DB5D0 48 00 00 08 */ b lbl_801DF978
lbl_801DF974:
/* 801DF974 001DB5D4 FC 20 E0 90 */ fmr f1, f28
lbl_801DF978:
/* 801DF978 001DB5D8 EC 3F 08 24 */ fdivs f1, f31, f1
/* 801DF97C 001DB5DC 7F 63 DB 78 */ mr r3, r27
/* 801DF980 001DB5E0 7F 64 DB 78 */ mr r4, r27
/* 801DF984 001DB5E4 48 09 D3 89 */ bl PSVECScale
lbl_801DF988:
/* 801DF988 001DB5E8 3B 9C 00 01 */ addi r28, r28, 1
/* 801DF98C 001DB5EC 3B BD 00 08 */ addi r29, r29, 8
lbl_801DF990:
/* 801DF990 001DB5F0 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 801DF994 001DB5F4 7C 00 F0 40 */ cmplw r0, r30
/* 801DF998 001DB5F8 41 80 FF 30 */ blt lbl_801DF8C8
lbl_801DF99C:
/* 801DF99C 001DB5FC E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 801DF9A0 001DB600 CB E1 00 80 */ lfd f31, 0x80(r1)
/* 801DF9A4 001DB604 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 801DF9A8 001DB608 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 801DF9AC 001DB60C E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 801DF9B0 001DB610 CB A1 00 60 */ lfd f29, 0x60(r1)
/* 801DF9B4 001DB614 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0
/* 801DF9B8 001DB618 39 61 00 50 */ addi r11, r1, 0x50
/* 801DF9BC 001DB61C CB 81 00 50 */ lfd f28, 0x50(r1)
/* 801DF9C0 001DB620 4B FE 77 AD */ bl _restgpr_25
/* 801DF9C4 001DB624 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801DF9C8 001DB628 7C 08 03 A6 */ mtlr r0
/* 801DF9CC 001DB62C 38 21 00 90 */ addi r1, r1, 0x90
/* 801DF9D0 001DB630 4E 80 00 20 */ blr
.global func_801DF9D4
func_801DF9D4:
/* 801DF9D4 001DB634 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801DF9D8 001DB638 7C 08 02 A6 */ mflr r0
/* 801DF9DC 001DB63C 90 01 00 54 */ stw r0, 0x54(r1)
/* 801DF9E0 001DB640 3C 00 43 30 */ lis r0, 0x4330
/* 801DF9E4 001DB644 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801DF9E8 001DB648 7C 7F 1B 78 */ mr r31, r3
/* 801DF9EC 001DB64C 80 C3 01 44 */ lwz r6, 0x144(r3)
/* 801DF9F0 001DB650 90 01 00 28 */ stw r0, 0x28(r1)
/* 801DF9F4 001DB654 80 C6 00 68 */ lwz r6, 0x68(r6)
/* 801DF9F8 001DB658 90 01 00 30 */ stw r0, 0x30(r1)
/* 801DF9FC 001DB65C A0 06 00 18 */ lhz r0, 0x18(r6)
/* 801DFA00 001DB660 2C 00 00 00 */ cmpwi r0, 0
/* 801DFA04 001DB664 41 82 03 78 */ beq lbl_801DFD7C
/* 801DFA08 001DB668 7C 04 00 00 */ cmpw r4, r0
/* 801DFA0C 001DB66C 41 80 00 08 */ blt lbl_801DFA14
/* 801DFA10 001DB670 38 80 00 00 */ li r4, 0
lbl_801DFA14:
/* 801DFA14 001DB674 80 C6 00 1C */ lwz r6, 0x1c(r6)
/* 801DFA18 001DB678 54 80 18 38 */ slwi r0, r4, 3
/* 801DFA1C 001DB67C 7C 86 02 2E */ lhzx r4, r6, r0
/* 801DFA20 001DB680 7D 06 02 14 */ add r8, r6, r0
/* 801DFA24 001DB684 2C 04 00 00 */ cmpwi r4, 0
/* 801DFA28 001DB688 41 82 03 54 */ beq lbl_801DFD7C
/* 801DFA2C 001DB68C 88 08 00 02 */ lbz r0, 2(r8)
/* 801DFA30 001DB690 C8 42 96 60 */ lfd f2, lbl_80641C60-_SDA2_BASE_(r2)
/* 801DFA34 001DB694 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801DFA38 001DB698 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFA3C 001DB69C EC 00 10 28 */ fsubs f0, f0, f2
/* 801DFA40 001DB6A0 EC 00 00 72 */ fmuls f0, f0, f1
/* 801DFA44 001DB6A4 FC 00 00 1E */ fctiwz f0, f0
/* 801DFA48 001DB6A8 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 801DFA4C 001DB6AC 81 21 00 3C */ lwz r9, 0x3c(r1)
/* 801DFA50 001DB6B0 2C 09 00 00 */ cmpwi r9, 0
/* 801DFA54 001DB6B4 40 80 00 0C */ bge lbl_801DFA60
/* 801DFA58 001DB6B8 39 20 00 00 */ li r9, 0
/* 801DFA5C 001DB6BC 48 00 00 10 */ b lbl_801DFA6C
lbl_801DFA60:
/* 801DFA60 001DB6C0 7C 09 20 00 */ cmpw r9, r4
/* 801DFA64 001DB6C4 41 80 00 08 */ blt lbl_801DFA6C
/* 801DFA68 001DB6C8 39 24 FF FF */ addi r9, r4, -1
lbl_801DFA6C:
/* 801DFA6C 001DB6CC C0 22 96 48 */ lfs f1, lbl_80641C48-_SDA2_BASE_(r2)
/* 801DFA70 001DB6D0 38 E0 00 00 */ li r7, 0
/* 801DFA74 001DB6D4 C0 02 96 4C */ lfs f0, lbl_80641C4C-_SDA2_BASE_(r2)
/* 801DFA78 001DB6D8 D0 21 00 08 */ stfs f1, 8(r1)
/* 801DFA7C 001DB6DC D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801DFA80 001DB6E0 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 801DFA84 001DB6E4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801DFA88 001DB6E8 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801DFA8C 001DB6EC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801DFA90 001DB6F0 90 E1 00 20 */ stw r7, 0x20(r1)
/* 801DFA94 001DB6F4 88 C8 00 03 */ lbz r6, 3(r8)
/* 801DFA98 001DB6F8 54 C0 07 3E */ clrlwi r0, r6, 0x1c
/* 801DFA9C 001DB6FC 2C 00 00 08 */ cmpwi r0, 8
/* 801DFAA0 001DB700 41 82 00 A8 */ beq lbl_801DFB48
/* 801DFAA4 001DB704 40 80 02 D8 */ bge lbl_801DFD7C
/* 801DFAA8 001DB708 2C 00 00 00 */ cmpwi r0, 0
/* 801DFAAC 001DB70C 41 82 00 08 */ beq lbl_801DFAB4
/* 801DFAB0 001DB710 48 00 02 CC */ b lbl_801DFD7C
lbl_801DFAB4:
/* 801DFAB4 001DB714 1C 09 00 18 */ mulli r0, r9, 0x18
/* 801DFAB8 001DB718 80 88 00 04 */ lwz r4, 4(r8)
/* 801DFABC 001DB71C 2C 05 00 00 */ cmpwi r5, 0
/* 801DFAC0 001DB720 7C A4 02 14 */ add r5, r4, r0
/* 801DFAC4 001DB724 41 82 00 50 */ beq lbl_801DFB14
/* 801DFAC8 001DB728 C0 05 00 00 */ lfs f0, 0(r5)
/* 801DFACC 001DB72C 38 81 00 08 */ addi r4, r1, 8
/* 801DFAD0 001DB730 D0 01 00 08 */ stfs f0, 8(r1)
/* 801DFAD4 001DB734 C0 05 00 04 */ lfs f0, 4(r5)
/* 801DFAD8 001DB738 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801DFADC 001DB73C C0 05 00 08 */ lfs f0, 8(r5)
/* 801DFAE0 001DB740 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801DFAE4 001DB744 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 801DFAE8 001DB748 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801DFAEC 001DB74C C0 05 00 10 */ lfs f0, 0x10(r5)
/* 801DFAF0 001DB750 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801DFAF4 001DB754 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 801DFAF8 001DB758 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801DFAFC 001DB75C 90 E3 01 38 */ stw r7, 0x138(r3)
/* 801DFB00 001DB760 38 63 01 20 */ addi r3, r3, 0x120
/* 801DFB04 001DB764 48 04 11 75 */ bl func_80220C78
/* 801DFB08 001DB768 38 1F 00 D0 */ addi r0, r31, 0xd0
/* 801DFB0C 001DB76C 90 1F 01 38 */ stw r0, 0x138(r31)
/* 801DFB10 001DB770 48 00 02 6C */ b lbl_801DFD7C
lbl_801DFB14:
/* 801DFB14 001DB774 C0 05 00 00 */ lfs f0, 0(r5)
/* 801DFB18 001DB778 D0 03 01 20 */ stfs f0, 0x120(r3)
/* 801DFB1C 001DB77C C0 05 00 04 */ lfs f0, 4(r5)
/* 801DFB20 001DB780 D0 03 01 24 */ stfs f0, 0x124(r3)
/* 801DFB24 001DB784 C0 05 00 08 */ lfs f0, 8(r5)
/* 801DFB28 001DB788 D0 03 01 28 */ stfs f0, 0x128(r3)
/* 801DFB2C 001DB78C C0 05 00 0C */ lfs f0, 0xc(r5)
/* 801DFB30 001DB790 D0 03 01 2C */ stfs f0, 0x12c(r3)
/* 801DFB34 001DB794 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 801DFB38 001DB798 D0 03 01 30 */ stfs f0, 0x130(r3)
/* 801DFB3C 001DB79C C0 05 00 14 */ lfs f0, 0x14(r5)
/* 801DFB40 001DB7A0 D0 03 01 34 */ stfs f0, 0x134(r3)
/* 801DFB44 001DB7A4 48 00 02 38 */ b lbl_801DFD7C
lbl_801DFB48:
/* 801DFB48 001DB7A8 1C 09 00 0C */ mulli r0, r9, 0xc
/* 801DFB4C 001DB7AC 80 88 00 04 */ lwz r4, 4(r8)
/* 801DFB50 001DB7B0 2C 05 00 00 */ cmpwi r5, 0
/* 801DFB54 001DB7B4 54 C6 E7 3E */ rlwinm r6, r6, 0x1c, 0x1c, 0x1f
/* 801DFB58 001DB7B8 7C A4 02 14 */ add r5, r4, r0
/* 801DFB5C 001DB7BC 41 82 01 20 */ beq lbl_801DFC7C
/* 801DFB60 001DB7C0 A8 05 00 00 */ lha r0, 0(r5)
/* 801DFB64 001DB7C4 38 80 00 01 */ li r4, 1
/* 801DFB68 001DB7C8 7C 84 30 30 */ slw r4, r4, r6
/* 801DFB6C 001DB7CC C8 C2 96 70 */ lfd f6, lbl_80641C70-_SDA2_BASE_(r2)
/* 801DFB70 001DB7D0 6C 86 80 00 */ xoris r6, r4, 0x8000
/* 801DFB74 001DB7D4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFB78 001DB7D8 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFB7C 001DB7DC 38 81 00 08 */ addi r4, r1, 8
/* 801DFB80 001DB7E0 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801DFB84 001DB7E4 C8 21 00 30 */ lfd f1, 0x30(r1)
/* 801DFB88 001DB7E8 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFB8C 001DB7EC EC 41 30 28 */ fsubs f2, f1, f6
/* 801DFB90 001DB7F0 EC 20 30 28 */ fsubs f1, f0, f6
/* 801DFB94 001DB7F4 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801DFB98 001DB7F8 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFB9C 001DB7FC EC 62 08 24 */ fdivs f3, f2, f1
/* 801DFBA0 001DB800 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801DFBA4 001DB804 C8 41 00 28 */ lfd f2, 0x28(r1)
/* 801DFBA8 001DB808 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801DFBAC 001DB80C C8 21 00 28 */ lfd f1, 0x28(r1)
/* 801DFBB0 001DB810 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801DFBB4 001DB814 D0 61 00 08 */ stfs f3, 8(r1)
/* 801DFBB8 001DB818 EC 80 30 28 */ fsubs f4, f0, f6
/* 801DFBBC 001DB81C EC 62 30 28 */ fsubs f3, f2, f6
/* 801DFBC0 001DB820 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFBC4 001DB824 A8 05 00 02 */ lha r0, 2(r5)
/* 801DFBC8 001DB828 EC 41 30 28 */ fsubs f2, f1, f6
/* 801DFBCC 001DB82C EC 20 30 28 */ fsubs f1, f0, f6
/* 801DFBD0 001DB830 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFBD4 001DB834 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFBD8 001DB838 C8 A1 00 30 */ lfd f5, 0x30(r1)
/* 801DFBDC 001DB83C 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801DFBE0 001DB840 EC A5 30 28 */ fsubs f5, f5, f6
/* 801DFBE4 001DB844 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFBE8 001DB848 EC 85 20 24 */ fdivs f4, f5, f4
/* 801DFBEC 001DB84C D0 81 00 0C */ stfs f4, 0xc(r1)
/* 801DFBF0 001DB850 EC 00 30 28 */ fsubs f0, f0, f6
/* 801DFBF4 001DB854 A8 05 00 04 */ lha r0, 4(r5)
/* 801DFBF8 001DB858 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFBFC 001DB85C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFC00 001DB860 C8 81 00 30 */ lfd f4, 0x30(r1)
/* 801DFC04 001DB864 EC 84 30 28 */ fsubs f4, f4, f6
/* 801DFC08 001DB868 EC 64 18 24 */ fdivs f3, f4, f3
/* 801DFC0C 001DB86C D0 61 00 10 */ stfs f3, 0x10(r1)
/* 801DFC10 001DB870 A8 05 00 06 */ lha r0, 6(r5)
/* 801DFC14 001DB874 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFC18 001DB878 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFC1C 001DB87C C8 61 00 30 */ lfd f3, 0x30(r1)
/* 801DFC20 001DB880 EC 63 30 28 */ fsubs f3, f3, f6
/* 801DFC24 001DB884 EC 43 10 24 */ fdivs f2, f3, f2
/* 801DFC28 001DB888 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 801DFC2C 001DB88C A8 05 00 08 */ lha r0, 8(r5)
/* 801DFC30 001DB890 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFC34 001DB894 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFC38 001DB898 C8 41 00 30 */ lfd f2, 0x30(r1)
/* 801DFC3C 001DB89C EC 42 30 28 */ fsubs f2, f2, f6
/* 801DFC40 001DB8A0 EC 22 08 24 */ fdivs f1, f2, f1
/* 801DFC44 001DB8A4 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 801DFC48 001DB8A8 A8 05 00 0A */ lha r0, 0xa(r5)
/* 801DFC4C 001DB8AC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFC50 001DB8B0 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFC54 001DB8B4 C8 21 00 30 */ lfd f1, 0x30(r1)
/* 801DFC58 001DB8B8 EC 21 30 28 */ fsubs f1, f1, f6
/* 801DFC5C 001DB8BC EC 01 00 24 */ fdivs f0, f1, f0
/* 801DFC60 001DB8C0 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801DFC64 001DB8C4 90 E3 01 38 */ stw r7, 0x138(r3)
/* 801DFC68 001DB8C8 38 63 01 20 */ addi r3, r3, 0x120
/* 801DFC6C 001DB8CC 48 04 10 0D */ bl func_80220C78
/* 801DFC70 001DB8D0 38 1F 00 D0 */ addi r0, r31, 0xd0
/* 801DFC74 001DB8D4 90 1F 01 38 */ stw r0, 0x138(r31)
/* 801DFC78 001DB8D8 48 00 01 04 */ b lbl_801DFD7C
lbl_801DFC7C:
/* 801DFC7C 001DB8DC A8 05 00 00 */ lha r0, 0(r5)
/* 801DFC80 001DB8E0 38 80 00 01 */ li r4, 1
/* 801DFC84 001DB8E4 7C 84 30 30 */ slw r4, r4, r6
/* 801DFC88 001DB8E8 C8 C2 96 70 */ lfd f6, lbl_80641C70-_SDA2_BASE_(r2)
/* 801DFC8C 001DB8EC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFC90 001DB8F0 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 801DFC94 001DB8F4 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFC98 001DB8F8 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801DFC9C 001DB8FC C8 21 00 30 */ lfd f1, 0x30(r1)
/* 801DFCA0 001DB900 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFCA4 001DB904 EC 41 30 28 */ fsubs f2, f1, f6
/* 801DFCA8 001DB908 EC 20 30 28 */ fsubs f1, f0, f6
/* 801DFCAC 001DB90C 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801DFCB0 001DB910 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFCB4 001DB914 EC 62 08 24 */ fdivs f3, f2, f1
/* 801DFCB8 001DB918 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801DFCBC 001DB91C C8 41 00 28 */ lfd f2, 0x28(r1)
/* 801DFCC0 001DB920 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801DFCC4 001DB924 C8 21 00 28 */ lfd f1, 0x28(r1)
/* 801DFCC8 001DB928 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801DFCCC 001DB92C D0 63 01 20 */ stfs f3, 0x120(r3)
/* 801DFCD0 001DB930 EC 80 30 28 */ fsubs f4, f0, f6
/* 801DFCD4 001DB934 EC 62 30 28 */ fsubs f3, f2, f6
/* 801DFCD8 001DB938 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFCDC 001DB93C A8 05 00 02 */ lha r0, 2(r5)
/* 801DFCE0 001DB940 EC 41 30 28 */ fsubs f2, f1, f6
/* 801DFCE4 001DB944 EC 20 30 28 */ fsubs f1, f0, f6
/* 801DFCE8 001DB948 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFCEC 001DB94C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFCF0 001DB950 C8 A1 00 30 */ lfd f5, 0x30(r1)
/* 801DFCF4 001DB954 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801DFCF8 001DB958 EC A5 30 28 */ fsubs f5, f5, f6
/* 801DFCFC 001DB95C C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801DFD00 001DB960 EC 85 20 24 */ fdivs f4, f5, f4
/* 801DFD04 001DB964 D0 83 01 24 */ stfs f4, 0x124(r3)
/* 801DFD08 001DB968 EC 00 30 28 */ fsubs f0, f0, f6
/* 801DFD0C 001DB96C A8 05 00 04 */ lha r0, 4(r5)
/* 801DFD10 001DB970 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFD14 001DB974 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFD18 001DB978 C8 81 00 30 */ lfd f4, 0x30(r1)
/* 801DFD1C 001DB97C EC 84 30 28 */ fsubs f4, f4, f6
/* 801DFD20 001DB980 EC 64 18 24 */ fdivs f3, f4, f3
/* 801DFD24 001DB984 D0 63 01 28 */ stfs f3, 0x128(r3)
/* 801DFD28 001DB988 A8 05 00 06 */ lha r0, 6(r5)
/* 801DFD2C 001DB98C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFD30 001DB990 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFD34 001DB994 C8 61 00 30 */ lfd f3, 0x30(r1)
/* 801DFD38 001DB998 EC 63 30 28 */ fsubs f3, f3, f6
/* 801DFD3C 001DB99C EC 43 10 24 */ fdivs f2, f3, f2
/* 801DFD40 001DB9A0 D0 43 01 2C */ stfs f2, 0x12c(r3)
/* 801DFD44 001DB9A4 A8 05 00 08 */ lha r0, 8(r5)
/* 801DFD48 001DB9A8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFD4C 001DB9AC 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFD50 001DB9B0 C8 41 00 30 */ lfd f2, 0x30(r1)
/* 801DFD54 001DB9B4 EC 42 30 28 */ fsubs f2, f2, f6
/* 801DFD58 001DB9B8 EC 22 08 24 */ fdivs f1, f2, f1
/* 801DFD5C 001DB9BC D0 23 01 30 */ stfs f1, 0x130(r3)
/* 801DFD60 001DB9C0 A8 05 00 0A */ lha r0, 0xa(r5)
/* 801DFD64 001DB9C4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801DFD68 001DB9C8 90 01 00 34 */ stw r0, 0x34(r1)
/* 801DFD6C 001DB9CC C8 21 00 30 */ lfd f1, 0x30(r1)
/* 801DFD70 001DB9D0 EC 21 30 28 */ fsubs f1, f1, f6
/* 801DFD74 001DB9D4 EC 01 00 24 */ fdivs f0, f1, f0
/* 801DFD78 001DB9D8 D0 03 01 34 */ stfs f0, 0x134(r3)
lbl_801DFD7C:
/* 801DFD7C 001DB9DC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801DFD80 001DB9E0 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801DFD84 001DB9E4 7C 08 03 A6 */ mtlr r0
/* 801DFD88 001DB9E8 38 21 00 50 */ addi r1, r1, 0x50
/* 801DFD8C 001DB9EC 4E 80 00 20 */ blr
/* 801DFD90 001DB9F0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801DFD94 001DB9F4 7C 08 02 A6 */ mflr r0
/* 801DFD98 001DB9F8 90 01 00 64 */ stw r0, 0x64(r1)
/* 801DFD9C 001DB9FC DB E1 00 50 */ stfd f31, 0x50(r1)
/* 801DFDA0 001DBA00 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 801DFDA4 001DBA04 FF E0 08 90 */ fmr f31, f1
/* 801DFDA8 001DBA08 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801DFDAC 001DBA0C 7C 7F 1B 78 */ mr r31, r3
/* 801DFDB0 001DBA10 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801DFDB4 001DBA14 93 A1 00 44 */ stw r29, 0x44(r1)
/* 801DFDB8 001DBA18 48 01 3E C5 */ bl func_801F3C7C
/* 801DFDBC 001DBA1C 2C 03 00 00 */ cmpwi r3, 0
/* 801DFDC0 001DBA20 41 82 00 08 */ beq lbl_801DFDC8
/* 801DFDC4 001DBA24 C3 E2 96 50 */ lfs f31, lbl_80641C50-_SDA2_BASE_(r2)
lbl_801DFDC8:
/* 801DFDC8 001DBA28 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 801DFDCC 001DBA2C FC 20 F8 90 */ fmr f1, f31
/* 801DFDD0 001DBA30 7F E3 FB 78 */ mr r3, r31
/* 801DFDD4 001DBA34 54 1E 07 FE */ clrlwi r30, r0, 0x1f
/* 801DFDD8 001DBA38 48 01 3B 89 */ bl func_801F3960
/* 801DFDDC 001DBA3C 80 7F 00 B8 */ lwz r3, 0xb8(r31)
/* 801DFDE0 001DBA40 2C 03 00 00 */ cmpwi r3, 0
/* 801DFDE4 001DBA44 41 82 01 B0 */ beq lbl_801DFF94
/* 801DFDE8 001DBA48 80 BF 00 04 */ lwz r5, 4(r31)
/* 801DFDEC 001DBA4C 2C 05 00 00 */ cmpwi r5, 0
/* 801DFDF0 001DBA50 41 82 00 24 */ beq lbl_801DFE14
/* 801DFDF4 001DBA54 80 85 00 00 */ lwz r4, 0(r5)
/* 801DFDF8 001DBA58 2C 04 00 00 */ cmpwi r4, 0
/* 801DFDFC 001DBA5C 41 82 00 0C */ beq lbl_801DFE08
/* 801DFE00 001DBA60 A0 04 00 00 */ lhz r0, 0(r4)
/* 801DFE04 001DBA64 48 00 00 18 */ b lbl_801DFE1C
lbl_801DFE08:
/* 801DFE08 001DBA68 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 801DFE0C 001DBA6C 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 801DFE10 001DBA70 48 00 00 0C */ b lbl_801DFE1C
lbl_801DFE14:
/* 801DFE14 001DBA74 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 801DFE18 001DBA78 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
lbl_801DFE1C:
/* 801DFE1C 001DBA7C 54 1D 04 3E */ clrlwi r29, r0, 0x10
/* 801DFE20 001DBA80 3C 1D 00 00 */ addis r0, r29, 0
/* 801DFE24 001DBA84 28 00 FF FF */ cmplwi r0, 0xffff
/* 801DFE28 001DBA88 41 82 00 50 */ beq lbl_801DFE78
/* 801DFE2C 001DBA8C 2C 05 00 00 */ cmpwi r5, 0
/* 801DFE30 001DBA90 41 82 00 40 */ beq lbl_801DFE70
/* 801DFE34 001DBA94 80 65 00 00 */ lwz r3, 0(r5)
/* 801DFE38 001DBA98 2C 03 00 00 */ cmpwi r3, 0
/* 801DFE3C 001DBA9C 40 82 00 0C */ bne lbl_801DFE48
/* 801DFE40 001DBAA0 C0 22 96 50 */ lfs f1, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DFE44 001DBAA4 48 00 00 3C */ b lbl_801DFE80
lbl_801DFE48:
/* 801DFE48 001DBAA8 C0 25 00 08 */ lfs f1, 8(r5)
/* 801DFE4C 001DBAAC C0 02 96 50 */ lfs f0, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DFE50 001DBAB0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801DFE54 001DBAB4 40 80 00 14 */ bge lbl_801DFE68
/* 801DFE58 001DBAB8 C0 23 00 08 */ lfs f1, 8(r3)
/* 801DFE5C 001DBABC C0 05 00 0C */ lfs f0, 0xc(r5)
/* 801DFE60 001DBAC0 EC 21 00 28 */ fsubs f1, f1, f0
/* 801DFE64 001DBAC4 48 00 00 1C */ b lbl_801DFE80
lbl_801DFE68:
/* 801DFE68 001DBAC8 C0 25 00 0C */ lfs f1, 0xc(r5)
/* 801DFE6C 001DBACC 48 00 00 14 */ b lbl_801DFE80
lbl_801DFE70:
/* 801DFE70 001DBAD0 C0 22 96 50 */ lfs f1, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DFE74 001DBAD4 48 00 00 0C */ b lbl_801DFE80
lbl_801DFE78:
/* 801DFE78 001DBAD8 A3 A3 00 F0 */ lhz r29, 0xf0(r3)
/* 801DFE7C 001DBADC 48 01 5C C9 */ bl func_801F5B44
lbl_801DFE80:
/* 801DFE80 001DBAE0 7F E3 FB 78 */ mr r3, r31
/* 801DFE84 001DBAE4 7F A4 EB 78 */ mr r4, r29
/* 801DFE88 001DBAE8 38 A0 00 00 */ li r5, 0
/* 801DFE8C 001DBAEC 4B FF FB 49 */ bl func_801DF9D4
/* 801DFE90 001DBAF0 80 9F 00 08 */ lwz r4, 8(r31)
/* 801DFE94 001DBAF4 2C 04 00 00 */ cmpwi r4, 0
/* 801DFE98 001DBAF8 41 82 00 28 */ beq lbl_801DFEC0
/* 801DFE9C 001DBAFC 80 04 00 00 */ lwz r0, 0(r4)
/* 801DFEA0 001DBB00 38 60 00 00 */ li r3, 0
/* 801DFEA4 001DBB04 2C 00 00 00 */ cmpwi r0, 0
/* 801DFEA8 001DBB08 41 82 00 1C */ beq lbl_801DFEC4
/* 801DFEAC 001DBB0C A0 04 00 06 */ lhz r0, 6(r4)
/* 801DFEB0 001DBB10 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DFEB4 001DBB14 41 82 00 10 */ beq lbl_801DFEC4
/* 801DFEB8 001DBB18 38 60 00 01 */ li r3, 1
/* 801DFEBC 001DBB1C 48 00 00 08 */ b lbl_801DFEC4
lbl_801DFEC0:
/* 801DFEC0 001DBB20 38 60 00 00 */ li r3, 0
lbl_801DFEC4:
/* 801DFEC4 001DBB24 2C 03 00 00 */ cmpwi r3, 0
/* 801DFEC8 001DBB28 40 82 00 14 */ bne lbl_801DFEDC
/* 801DFECC 001DBB2C 80 7F 00 B8 */ lwz r3, 0xb8(r31)
/* 801DFED0 001DBB30 48 01 5F ED */ bl func_801F5EBC
/* 801DFED4 001DBB34 2C 03 00 00 */ cmpwi r3, 0
/* 801DFED8 001DBB38 41 82 00 BC */ beq lbl_801DFF94
lbl_801DFEDC:
/* 801DFEDC 001DBB3C 80 9F 00 08 */ lwz r4, 8(r31)
/* 801DFEE0 001DBB40 2C 04 00 00 */ cmpwi r4, 0
/* 801DFEE4 001DBB44 41 82 00 24 */ beq lbl_801DFF08
/* 801DFEE8 001DBB48 80 64 00 00 */ lwz r3, 0(r4)
/* 801DFEEC 001DBB4C 2C 03 00 00 */ cmpwi r3, 0
/* 801DFEF0 001DBB50 41 82 00 0C */ beq lbl_801DFEFC
/* 801DFEF4 001DBB54 A0 03 00 00 */ lhz r0, 0(r3)
/* 801DFEF8 001DBB58 48 00 00 18 */ b lbl_801DFF10
lbl_801DFEFC:
/* 801DFEFC 001DBB5C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 801DFF00 001DBB60 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 801DFF04 001DBB64 48 00 00 0C */ b lbl_801DFF10
lbl_801DFF08:
/* 801DFF08 001DBB68 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 801DFF0C 001DBB6C 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
lbl_801DFF10:
/* 801DFF10 001DBB70 54 1D 04 3E */ clrlwi r29, r0, 0x10
/* 801DFF14 001DBB74 3C 1D 00 00 */ addis r0, r29, 0
/* 801DFF18 001DBB78 28 00 FF FF */ cmplwi r0, 0xffff
/* 801DFF1C 001DBB7C 41 82 00 50 */ beq lbl_801DFF6C
/* 801DFF20 001DBB80 2C 04 00 00 */ cmpwi r4, 0
/* 801DFF24 001DBB84 41 82 00 40 */ beq lbl_801DFF64
/* 801DFF28 001DBB88 80 64 00 00 */ lwz r3, 0(r4)
/* 801DFF2C 001DBB8C 2C 03 00 00 */ cmpwi r3, 0
/* 801DFF30 001DBB90 40 82 00 0C */ bne lbl_801DFF3C
/* 801DFF34 001DBB94 C0 22 96 50 */ lfs f1, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DFF38 001DBB98 48 00 00 40 */ b lbl_801DFF78
lbl_801DFF3C:
/* 801DFF3C 001DBB9C C0 24 00 08 */ lfs f1, 8(r4)
/* 801DFF40 001DBBA0 C0 02 96 50 */ lfs f0, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DFF44 001DBBA4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801DFF48 001DBBA8 40 80 00 14 */ bge lbl_801DFF5C
/* 801DFF4C 001DBBAC C0 23 00 08 */ lfs f1, 8(r3)
/* 801DFF50 001DBBB0 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801DFF54 001DBBB4 EC 21 00 28 */ fsubs f1, f1, f0
/* 801DFF58 001DBBB8 48 00 00 20 */ b lbl_801DFF78
lbl_801DFF5C:
/* 801DFF5C 001DBBBC C0 24 00 0C */ lfs f1, 0xc(r4)
/* 801DFF60 001DBBC0 48 00 00 18 */ b lbl_801DFF78
lbl_801DFF64:
/* 801DFF64 001DBBC4 C0 22 96 50 */ lfs f1, lbl_80641C50-_SDA2_BASE_(r2)
/* 801DFF68 001DBBC8 48 00 00 10 */ b lbl_801DFF78
lbl_801DFF6C:
/* 801DFF6C 001DBBCC 80 7F 00 B8 */ lwz r3, 0xb8(r31)
/* 801DFF70 001DBBD0 A3 A3 01 04 */ lhz r29, 0x104(r3)
/* 801DFF74 001DBBD4 48 01 5C ED */ bl func_801F5C60
lbl_801DFF78:
/* 801DFF78 001DBBD8 3C 1D 00 00 */ addis r0, r29, 0
/* 801DFF7C 001DBBDC 28 00 FF FF */ cmplwi r0, 0xffff
/* 801DFF80 001DBBE0 41 82 00 14 */ beq lbl_801DFF94
/* 801DFF84 001DBBE4 7F E3 FB 78 */ mr r3, r31
/* 801DFF88 001DBBE8 7F A4 EB 78 */ mr r4, r29
/* 801DFF8C 001DBBEC 38 A0 00 01 */ li r5, 1
/* 801DFF90 001DBBF0 4B FF FA 45 */ bl func_801DF9D4
lbl_801DFF94:
/* 801DFF94 001DBBF4 7F E3 FB 78 */ mr r3, r31
/* 801DFF98 001DBBF8 4B FF F3 35 */ bl func_801DF2CC
/* 801DFF9C 001DBBFC 2C 1E 00 00 */ cmpwi r30, 0
/* 801DFFA0 001DBC00 41 82 00 2C */ beq lbl_801DFFCC
/* 801DFFA4 001DBC04 80 7F 01 44 */ lwz r3, 0x144(r31)
/* 801DFFA8 001DBC08 80 83 00 64 */ lwz r4, 0x64(r3)
/* 801DFFAC 001DBC0C 2C 04 00 00 */ cmpwi r4, 0
/* 801DFFB0 001DBC10 41 82 00 1C */ beq lbl_801DFFCC
/* 801DFFB4 001DBC14 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801DFFB8 001DBC18 38 A1 00 08 */ addi r5, r1, 8
/* 801DFFBC 001DBC1C 48 09 BF D1 */ bl PSMTXConcat
/* 801DFFC0 001DBC20 38 61 00 08 */ addi r3, r1, 8
/* 801DFFC4 001DBC24 38 9F 00 D0 */ addi r4, r31, 0xd0
/* 801DFFC8 001DBC28 48 09 BF 91 */ bl PSMTXCopy
lbl_801DFFCC:
/* 801DFFCC 001DBC2C A0 1F 01 06 */ lhz r0, 0x106(r31)
/* 801DFFD0 001DBC30 60 00 00 10 */ ori r0, r0, 0x10
/* 801DFFD4 001DBC34 B0 1F 01 06 */ sth r0, 0x106(r31)
/* 801DFFD8 001DBC38 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 801DFFDC 001DBC3C CB E1 00 50 */ lfd f31, 0x50(r1)
/* 801DFFE0 001DBC40 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801DFFE4 001DBC44 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801DFFE8 001DBC48 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 801DFFEC 001DBC4C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 801DFFF0 001DBC50 7C 08 03 A6 */ mtlr r0
/* 801DFFF4 001DBC54 38 21 00 60 */ addi r1, r1, 0x60
/* 801DFFF8 001DBC58 4E 80 00 20 */ blr
.global func_801DFFFC
func_801DFFFC:
/* 801DFFFC 001DBC5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801E0000 001DBC60 7C 08 02 A6 */ mflr r0
/* 801E0004 001DBC64 90 01 00 14 */ stw r0, 0x14(r1)
/* 801E0008 001DBC68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801E000C 001DBC6C 7C 7F 1B 78 */ mr r31, r3
/* 801E0010 001DBC70 80 03 00 B8 */ lwz r0, 0xb8(r3)
/* 801E0014 001DBC74 2C 00 00 00 */ cmpwi r0, 0
/* 801E0018 001DBC78 41 82 00 2C */ beq lbl_801E0044
/* 801E001C 001DBC7C A0 03 01 06 */ lhz r0, 0x106(r3)
/* 801E0020 001DBC80 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801E0024 001DBC84 40 82 00 08 */ bne lbl_801E002C
/* 801E0028 001DBC88 48 00 00 1C */ b lbl_801E0044
lbl_801E002C:
/* 801E002C 001DBC8C 4B FF F4 FD */ bl func_801DF528
/* 801E0030 001DBC90 7F E3 FB 78 */ mr r3, r31
/* 801E0034 001DBC94 4B FF F8 29 */ bl func_801DF85C
/* 801E0038 001DBC98 A0 1F 01 06 */ lhz r0, 0x106(r31)
/* 801E003C 001DBC9C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 801E0040 001DBCA0 B0 1F 01 06 */ sth r0, 0x106(r31)
lbl_801E0044:
/* 801E0044 001DBCA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801E0048 001DBCA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801E004C 001DBCAC 7C 08 03 A6 */ mtlr r0
/* 801E0050 001DBCB0 38 21 00 10 */ addi r1, r1, 0x10
/* 801E0054 001DBCB4 4E 80 00 20 */ blr
.global func_801E0058
func_801E0058:
/* 801E0058 001DBCB8 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801E005C 001DBCBC 7C 08 02 A6 */ mflr r0
/* 801E0060 001DBCC0 90 01 00 94 */ stw r0, 0x94(r1)
/* 801E0064 001DBCC4 39 61 00 90 */ addi r11, r1, 0x90
/* 801E0068 001DBCC8 4B FE 70 B9 */ bl _savegpr_25
/* 801E006C 001DBCCC A0 04 00 00 */ lhz r0, 0(r4)
/* 801E0070 001DBCD0 7C 7B 1B 78 */ mr r27, r3
/* 801E0074 001DBCD4 80 C3 01 40 */ lwz r6, 0x140(r3)
/* 801E0078 001DBCD8 7C BC 2B 78 */ mr r28, r5
/* 801E007C 001DBCDC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801E0080 001DBCE0 C0 02 96 50 */ lfs f0, lbl_80641C50-_SDA2_BASE_(r2)
/* 801E0084 001DBCE4 3B A0 00 00 */ li r29, 0
/* 801E0088 001DBCE8 7C 26 04 6E */ lfsux f1, r6, r0
/* 801E008C 001DBCEC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0090 001DBCF0 40 81 00 08 */ ble lbl_801E0098
/* 801E0094 001DBCF4 48 00 00 08 */ b lbl_801E009C
lbl_801E0098:
/* 801E0098 001DBCF8 FC 20 08 50 */ fneg f1, f1
lbl_801E009C:
/* 801E009C 001DBCFC C0 46 00 04 */ lfs f2, 4(r6)
/* 801E00A0 001DBD00 C0 02 96 50 */ lfs f0, lbl_80641C50-_SDA2_BASE_(r2)
/* 801E00A4 001DBD04 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801E00A8 001DBD08 40 81 00 08 */ ble lbl_801E00B0
/* 801E00AC 001DBD0C 48 00 00 08 */ b lbl_801E00B4
lbl_801E00B0:
/* 801E00B0 001DBD10 FC 40 10 50 */ fneg f2, f2
lbl_801E00B4:
/* 801E00B4 001DBD14 C0 66 00 08 */ lfs f3, 8(r6)
/* 801E00B8 001DBD18 C0 02 96 50 */ lfs f0, lbl_80641C50-_SDA2_BASE_(r2)
/* 801E00BC 001DBD1C FC 03 00 40 */ fcmpo cr0, f3, f0
/* 801E00C0 001DBD20 40 81 00 08 */ ble lbl_801E00C8
/* 801E00C4 001DBD24 48 00 00 08 */ b lbl_801E00CC
lbl_801E00C8:
/* 801E00C8 001DBD28 FC 60 18 50 */ fneg f3, f3
lbl_801E00CC:
/* 801E00CC 001DBD2C FC 01 10 40 */ fcmpo cr0, f1, f2
/* 801E00D0 001DBD30 40 81 00 1C */ ble lbl_801E00EC
/* 801E00D4 001DBD34 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 801E00D8 001DBD38 40 81 00 0C */ ble lbl_801E00E4
/* 801E00DC 001DBD3C 38 C0 00 00 */ li r6, 0
/* 801E00E0 001DBD40 48 00 00 20 */ b lbl_801E0100
lbl_801E00E4:
/* 801E00E4 001DBD44 38 C0 00 02 */ li r6, 2
/* 801E00E8 001DBD48 48 00 00 18 */ b lbl_801E0100
lbl_801E00EC:
/* 801E00EC 001DBD4C FC 02 18 40 */ fcmpo cr0, f2, f3
/* 801E00F0 001DBD50 40 81 00 0C */ ble lbl_801E00FC
/* 801E00F4 001DBD54 38 C0 00 01 */ li r6, 1
/* 801E00F8 001DBD58 48 00 00 08 */ b lbl_801E0100
lbl_801E00FC:
/* 801E00FC 001DBD5C 38 C0 00 02 */ li r6, 2
lbl_801E0100:
/* 801E0100 001DBD60 8B C4 00 03 */ lbz r30, 3(r4)
/* 801E0104 001DBD64 2C 06 00 01 */ cmpwi r6, 1
/* 801E0108 001DBD68 83 E4 00 04 */ lwz r31, 4(r4)
/* 801E010C 001DBD6C 38 1E FF FF */ addi r0, r30, -1
/* 801E0110 001DBD70 80 63 01 3C */ lwz r3, 0x13c(r3)
/* 801E0114 001DBD74 54 00 08 3C */ slwi r0, r0, 1
/* 801E0118 001DBD78 7C 9F 02 14 */ add r4, r31, r0
/* 801E011C 001DBD7C 7C 1F 02 2E */ lhzx r0, r31, r0
/* 801E0120 001DBD80 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801E0124 001DBD84 7C 63 02 14 */ add r3, r3, r0
/* 801E0128 001DBD88 40 82 00 EC */ bne lbl_801E0214
/* 801E012C 001DBD8C C0 25 00 00 */ lfs f1, 0(r5)
/* 801E0130 001DBD90 C0 03 00 00 */ lfs f0, 0(r3)
/* 801E0134 001DBD94 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0138 001DBD98 4C 41 13 82 */ cror 2, 1, 2
/* 801E013C 001DBD9C 7C A0 00 26 */ mfcr r5
/* 801E0140 001DBDA0 54 A5 1F FE */ rlwinm r5, r5, 3, 0x1f, 0x1f
lbl_801E0144:
/* 801E0144 001DBDA4 A0 1F 00 00 */ lhz r0, 0(r31)
/* 801E0148 001DBDA8 A0 64 00 00 */ lhz r3, 0(r4)
/* 801E014C 001DBDAC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801E0150 001DBDB0 80 9B 01 3C */ lwz r4, 0x13c(r27)
/* 801E0154 001DBDB4 C0 3C 00 00 */ lfs f1, 0(r28)
/* 801E0158 001DBDB8 7C 04 04 2E */ lfsx f0, r4, r0
/* 801E015C 001DBDBC 7F 24 02 14 */ add r25, r4, r0
/* 801E0160 001DBDC0 1C 03 00 0C */ mulli r0, r3, 0xc
/* 801E0164 001DBDC4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0168 001DBDC8 7C 64 02 14 */ add r3, r4, r0
/* 801E016C 001DBDCC 4C 41 13 82 */ cror 2, 1, 2
/* 801E0170 001DBDD0 7F 40 00 26 */ mfcr r26
/* 801E0174 001DBDD4 57 5A 1F FE */ rlwinm r26, r26, 3, 0x1f, 0x1f
/* 801E0178 001DBDD8 7C 05 D0 00 */ cmpw r5, r26
/* 801E017C 001DBDDC 41 82 00 80 */ beq lbl_801E01FC
/* 801E0180 001DBDE0 7F 24 CB 78 */ mr r4, r25
/* 801E0184 001DBDE4 38 A1 00 44 */ addi r5, r1, 0x44
/* 801E0188 001DBDE8 48 09 CB 61 */ bl PSVECSubtract
/* 801E018C 001DBDEC C0 41 00 44 */ lfs f2, 0x44(r1)
/* 801E0190 001DBDF0 7F 23 CB 78 */ mr r3, r25
/* 801E0194 001DBDF4 C0 21 00 48 */ lfs f1, 0x48(r1)
/* 801E0198 001DBDF8 7F 84 E3 78 */ mr r4, r28
/* 801E019C 001DBDFC C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 801E01A0 001DBE00 38 A1 00 38 */ addi r5, r1, 0x38
/* 801E01A4 001DBE04 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E01A8 001DBE08 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E01AC 001DBE0C D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801E01B0 001DBE10 48 09 CB 39 */ bl PSVECSubtract
/* 801E01B4 001DBE14 C0 81 00 38 */ lfs f4, 0x38(r1)
/* 801E01B8 001DBE18 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 801E01BC 001DBE1C C0 21 00 64 */ lfs f1, 0x64(r1)
/* 801E01C0 001DBE20 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801E01C4 001DBE24 EC 24 00 72 */ fmuls f1, f4, f1
/* 801E01C8 001DBE28 C0 61 00 3C */ lfs f3, 0x3c(r1)
/* 801E01CC 001DBE2C EC 02 00 32 */ fmuls f0, f2, f0
/* 801E01D0 001DBE30 D0 81 00 50 */ stfs f4, 0x50(r1)
/* 801E01D4 001DBE34 D0 61 00 54 */ stfs f3, 0x54(r1)
/* 801E01D8 001DBE38 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E01DC 001DBE3C D0 41 00 58 */ stfs f2, 0x58(r1)
/* 801E01E0 001DBE40 4C 41 13 82 */ cror 2, 1, 2
/* 801E01E4 001DBE44 7C 00 00 26 */ mfcr r0
/* 801E01E8 001DBE48 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
/* 801E01EC 001DBE4C 7C 1A 00 00 */ cmpw r26, r0
/* 801E01F0 001DBE50 40 82 00 0C */ bne lbl_801E01FC
/* 801E01F4 001DBE54 7F A0 00 34 */ cntlzw r0, r29
/* 801E01F8 001DBE58 54 1D D9 7E */ srwi r29, r0, 5
lbl_801E01FC:
/* 801E01FC 001DBE5C 37 DE FF FF */ addic. r30, r30, -1
/* 801E0200 001DBE60 7F E4 FB 78 */ mr r4, r31
/* 801E0204 001DBE64 7F 45 D3 78 */ mr r5, r26
/* 801E0208 001DBE68 3B FF 00 02 */ addi r31, r31, 2
/* 801E020C 001DBE6C 40 82 FF 38 */ bne lbl_801E0144
/* 801E0210 001DBE70 48 00 01 D8 */ b lbl_801E03E8
lbl_801E0214:
/* 801E0214 001DBE74 2C 06 00 02 */ cmpwi r6, 2
/* 801E0218 001DBE78 40 82 00 EC */ bne lbl_801E0304
/* 801E021C 001DBE7C C0 25 00 04 */ lfs f1, 4(r5)
/* 801E0220 001DBE80 C0 03 00 04 */ lfs f0, 4(r3)
/* 801E0224 001DBE84 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0228 001DBE88 4C 41 13 82 */ cror 2, 1, 2
/* 801E022C 001DBE8C 7C A0 00 26 */ mfcr r5
/* 801E0230 001DBE90 54 A5 1F FE */ rlwinm r5, r5, 3, 0x1f, 0x1f
lbl_801E0234:
/* 801E0234 001DBE94 A0 1F 00 00 */ lhz r0, 0(r31)
/* 801E0238 001DBE98 A0 64 00 00 */ lhz r3, 0(r4)
/* 801E023C 001DBE9C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801E0240 001DBEA0 80 9B 01 3C */ lwz r4, 0x13c(r27)
/* 801E0244 001DBEA4 C0 3C 00 04 */ lfs f1, 4(r28)
/* 801E0248 001DBEA8 7F 44 02 14 */ add r26, r4, r0
/* 801E024C 001DBEAC C0 1A 00 04 */ lfs f0, 4(r26)
/* 801E0250 001DBEB0 1C 03 00 0C */ mulli r0, r3, 0xc
/* 801E0254 001DBEB4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0258 001DBEB8 7C 64 02 14 */ add r3, r4, r0
/* 801E025C 001DBEBC 4C 41 13 82 */ cror 2, 1, 2
/* 801E0260 001DBEC0 7F 20 00 26 */ mfcr r25
/* 801E0264 001DBEC4 57 39 1F FE */ rlwinm r25, r25, 3, 0x1f, 0x1f
/* 801E0268 001DBEC8 7C 05 C8 00 */ cmpw r5, r25
/* 801E026C 001DBECC 41 82 00 80 */ beq lbl_801E02EC
/* 801E0270 001DBED0 7F 44 D3 78 */ mr r4, r26
/* 801E0274 001DBED4 38 A1 00 2C */ addi r5, r1, 0x2c
/* 801E0278 001DBED8 48 09 CA 71 */ bl PSVECSubtract
/* 801E027C 001DBEDC C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 801E0280 001DBEE0 7F 43 D3 78 */ mr r3, r26
/* 801E0284 001DBEE4 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 801E0288 001DBEE8 7F 84 E3 78 */ mr r4, r28
/* 801E028C 001DBEEC C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801E0290 001DBEF0 38 A1 00 20 */ addi r5, r1, 0x20
/* 801E0294 001DBEF4 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E0298 001DBEF8 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E029C 001DBEFC D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801E02A0 001DBF00 48 09 CA 49 */ bl PSVECSubtract
/* 801E02A4 001DBF04 C0 81 00 20 */ lfs f4, 0x20(r1)
/* 801E02A8 001DBF08 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 801E02AC 001DBF0C C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 801E02B0 001DBF10 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 801E02B4 001DBF14 EC 23 00 72 */ fmuls f1, f3, f1
/* 801E02B8 001DBF18 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 801E02BC 001DBF1C EC 04 00 32 */ fmuls f0, f4, f0
/* 801E02C0 001DBF20 D0 81 00 50 */ stfs f4, 0x50(r1)
/* 801E02C4 001DBF24 D0 61 00 54 */ stfs f3, 0x54(r1)
/* 801E02C8 001DBF28 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E02CC 001DBF2C D0 41 00 58 */ stfs f2, 0x58(r1)
/* 801E02D0 001DBF30 4C 41 13 82 */ cror 2, 1, 2
/* 801E02D4 001DBF34 7C 00 00 26 */ mfcr r0
/* 801E02D8 001DBF38 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
/* 801E02DC 001DBF3C 7C 19 00 00 */ cmpw r25, r0
/* 801E02E0 001DBF40 40 82 00 0C */ bne lbl_801E02EC
/* 801E02E4 001DBF44 7F A0 00 34 */ cntlzw r0, r29
/* 801E02E8 001DBF48 54 1D D9 7E */ srwi r29, r0, 5
lbl_801E02EC:
/* 801E02EC 001DBF4C 37 DE FF FF */ addic. r30, r30, -1
/* 801E02F0 001DBF50 7F E4 FB 78 */ mr r4, r31
/* 801E02F4 001DBF54 7F 25 CB 78 */ mr r5, r25
/* 801E02F8 001DBF58 3B FF 00 02 */ addi r31, r31, 2
/* 801E02FC 001DBF5C 40 82 FF 38 */ bne lbl_801E0234
/* 801E0300 001DBF60 48 00 00 E8 */ b lbl_801E03E8
lbl_801E0304:
/* 801E0304 001DBF64 C0 25 00 08 */ lfs f1, 8(r5)
/* 801E0308 001DBF68 C0 03 00 08 */ lfs f0, 8(r3)
/* 801E030C 001DBF6C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0310 001DBF70 4C 41 13 82 */ cror 2, 1, 2
/* 801E0314 001DBF74 7C A0 00 26 */ mfcr r5
/* 801E0318 001DBF78 54 A5 1F FE */ rlwinm r5, r5, 3, 0x1f, 0x1f
lbl_801E031C:
/* 801E031C 001DBF7C A0 1F 00 00 */ lhz r0, 0(r31)
/* 801E0320 001DBF80 A0 64 00 00 */ lhz r3, 0(r4)
/* 801E0324 001DBF84 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801E0328 001DBF88 80 9B 01 3C */ lwz r4, 0x13c(r27)
/* 801E032C 001DBF8C C0 3C 00 08 */ lfs f1, 8(r28)
/* 801E0330 001DBF90 7F 44 02 14 */ add r26, r4, r0
/* 801E0334 001DBF94 C0 1A 00 08 */ lfs f0, 8(r26)
/* 801E0338 001DBF98 1C 03 00 0C */ mulli r0, r3, 0xc
/* 801E033C 001DBF9C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E0340 001DBFA0 7C 64 02 14 */ add r3, r4, r0
/* 801E0344 001DBFA4 4C 41 13 82 */ cror 2, 1, 2
/* 801E0348 001DBFA8 7F 20 00 26 */ mfcr r25
/* 801E034C 001DBFAC 57 39 1F FE */ rlwinm r25, r25, 3, 0x1f, 0x1f
/* 801E0350 001DBFB0 7C 05 C8 00 */ cmpw r5, r25
/* 801E0354 001DBFB4 41 82 00 80 */ beq lbl_801E03D4
/* 801E0358 001DBFB8 7F 44 D3 78 */ mr r4, r26
/* 801E035C 001DBFBC 38 A1 00 14 */ addi r5, r1, 0x14
/* 801E0360 001DBFC0 48 09 C9 89 */ bl PSVECSubtract
/* 801E0364 001DBFC4 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 801E0368 001DBFC8 7F 43 D3 78 */ mr r3, r26
/* 801E036C 001DBFCC C0 21 00 18 */ lfs f1, 0x18(r1)
/* 801E0370 001DBFD0 7F 84 E3 78 */ mr r4, r28
/* 801E0374 001DBFD4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801E0378 001DBFD8 38 A1 00 08 */ addi r5, r1, 8
/* 801E037C 001DBFDC D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E0380 001DBFE0 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E0384 001DBFE4 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801E0388 001DBFE8 48 09 C9 61 */ bl PSVECSubtract
/* 801E038C 001DBFEC C0 61 00 0C */ lfs f3, 0xc(r1)
/* 801E0390 001DBFF0 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 801E0394 001DBFF4 C0 21 00 60 */ lfs f1, 0x60(r1)
/* 801E0398 001DBFF8 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 801E039C 001DBFFC EC 22 00 72 */ fmuls f1, f2, f1
/* 801E03A0 001DC000 C0 81 00 08 */ lfs f4, 8(r1)
/* 801E03A4 001DC004 EC 03 00 32 */ fmuls f0, f3, f0
/* 801E03A8 001DC008 D0 61 00 54 */ stfs f3, 0x54(r1)
/* 801E03AC 001DC00C D0 81 00 50 */ stfs f4, 0x50(r1)
/* 801E03B0 001DC010 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E03B4 001DC014 D0 41 00 58 */ stfs f2, 0x58(r1)
/* 801E03B8 001DC018 4C 41 13 82 */ cror 2, 1, 2
/* 801E03BC 001DC01C 7C 00 00 26 */ mfcr r0
/* 801E03C0 001DC020 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
/* 801E03C4 001DC024 7C 19 00 00 */ cmpw r25, r0
/* 801E03C8 001DC028 40 82 00 0C */ bne lbl_801E03D4
/* 801E03CC 001DC02C 7F A0 00 34 */ cntlzw r0, r29
/* 801E03D0 001DC030 54 1D D9 7E */ srwi r29, r0, 5
lbl_801E03D4:
/* 801E03D4 001DC034 37 DE FF FF */ addic. r30, r30, -1
/* 801E03D8 001DC038 7F E4 FB 78 */ mr r4, r31
/* 801E03DC 001DC03C 7F 25 CB 78 */ mr r5, r25
/* 801E03E0 001DC040 3B FF 00 02 */ addi r31, r31, 2
/* 801E03E4 001DC044 40 82 FF 38 */ bne lbl_801E031C
lbl_801E03E8:
/* 801E03E8 001DC048 39 61 00 90 */ addi r11, r1, 0x90
/* 801E03EC 001DC04C 7F A3 EB 78 */ mr r3, r29
/* 801E03F0 001DC050 4B FE 6D 7D */ bl _restgpr_25
/* 801E03F4 001DC054 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801E03F8 001DC058 7C 08 03 A6 */ mtlr r0
/* 801E03FC 001DC05C 38 21 00 90 */ addi r1, r1, 0x90
/* 801E0400 001DC060 4E 80 00 20 */ blr
.global func_801E0404
func_801E0404:
/* 801E0404 001DC064 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 801E0408 001DC068 7C 08 02 A6 */ mflr r0
/* 801E040C 001DC06C 90 01 01 24 */ stw r0, 0x124(r1)
/* 801E0410 001DC070 DB E1 01 10 */ stfd f31, 0x110(r1)
/* 801E0414 001DC074 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0
/* 801E0418 001DC078 DB C1 01 00 */ stfd f30, 0x100(r1)
/* 801E041C 001DC07C F3 C1 01 08 */ psq_st f30, 264(r1), 0, qr0
/* 801E0420 001DC080 39 61 01 00 */ addi r11, r1, 0x100
/* 801E0424 001DC084 4B FE 6C E9 */ bl _savegpr_20
/* 801E0428 001DC088 7C 75 1B 78 */ mr r21, r3
/* 801E042C 001DC08C 7C 96 23 78 */ mr r22, r4
/* 801E0430 001DC090 7C B7 2B 78 */ mr r23, r5
/* 801E0434 001DC094 7C D8 33 78 */ mr r24, r6
/* 801E0438 001DC098 7C F9 3B 78 */ mr r25, r7
/* 801E043C 001DC09C 7D 1A 43 78 */ mr r26, r8
/* 801E0440 001DC0A0 7D 3B 4B 78 */ mr r27, r9
/* 801E0444 001DC0A4 48 01 38 9D */ bl func_801F3CE0
/* 801E0448 001DC0A8 2C 03 00 00 */ cmpwi r3, 0
/* 801E044C 001DC0AC 40 82 00 0C */ bne lbl_801E0458
/* 801E0450 001DC0B0 38 60 00 00 */ li r3, 0
/* 801E0454 001DC0B4 48 00 03 4C */ b lbl_801E07A0
lbl_801E0458:
/* 801E0458 001DC0B8 80 15 01 3C */ lwz r0, 0x13c(r21)
/* 801E045C 001DC0BC 2C 00 00 00 */ cmpwi r0, 0
/* 801E0460 001DC0C0 41 82 00 10 */ beq lbl_801E0470
/* 801E0464 001DC0C4 80 15 01 40 */ lwz r0, 0x140(r21)
/* 801E0468 001DC0C8 2C 00 00 00 */ cmpwi r0, 0
/* 801E046C 001DC0CC 40 82 00 0C */ bne lbl_801E0478
lbl_801E0470:
/* 801E0470 001DC0D0 38 60 00 00 */ li r3, 0
/* 801E0474 001DC0D4 48 00 03 2C */ b lbl_801E07A0
lbl_801E0478:
/* 801E0478 001DC0D8 38 75 00 D0 */ addi r3, r21, 0xd0
/* 801E047C 001DC0DC 38 81 00 98 */ addi r4, r1, 0x98
/* 801E0480 001DC0E0 48 09 BC 29 */ bl PSMTXInverse
/* 801E0484 001DC0E4 7E C4 B3 78 */ mr r4, r22
/* 801E0488 001DC0E8 38 61 00 98 */ addi r3, r1, 0x98
/* 801E048C 001DC0EC 38 A1 00 8C */ addi r5, r1, 0x8c
/* 801E0490 001DC0F0 48 09 C5 6D */ bl PSMTXMultVec
/* 801E0494 001DC0F4 7E E4 BB 78 */ mr r4, r23
/* 801E0498 001DC0F8 38 61 00 98 */ addi r3, r1, 0x98
/* 801E049C 001DC0FC 38 A1 00 80 */ addi r5, r1, 0x80
/* 801E04A0 001DC100 48 09 C5 5D */ bl PSMTXMultVec
/* 801E04A4 001DC104 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801E04A8 001DC108 C0 35 01 20 */ lfs f1, 0x120(r21)
/* 801E04AC 001DC10C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E04B0 001DC110 40 80 00 18 */ bge lbl_801E04C8
/* 801E04B4 001DC114 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 801E04B8 001DC118 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E04BC 001DC11C 40 80 00 0C */ bge lbl_801E04C8
/* 801E04C0 001DC120 38 60 00 00 */ li r3, 0
/* 801E04C4 001DC124 48 00 02 DC */ b lbl_801E07A0
lbl_801E04C8:
/* 801E04C8 001DC128 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 801E04CC 001DC12C C0 35 01 24 */ lfs f1, 0x124(r21)
/* 801E04D0 001DC130 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E04D4 001DC134 40 80 00 18 */ bge lbl_801E04EC
/* 801E04D8 001DC138 C0 01 00 90 */ lfs f0, 0x90(r1)
/* 801E04DC 001DC13C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E04E0 001DC140 40 80 00 0C */ bge lbl_801E04EC
/* 801E04E4 001DC144 38 60 00 00 */ li r3, 0
/* 801E04E8 001DC148 48 00 02 B8 */ b lbl_801E07A0
lbl_801E04EC:
/* 801E04EC 001DC14C C0 01 00 88 */ lfs f0, 0x88(r1)
/* 801E04F0 001DC150 C0 35 01 28 */ lfs f1, 0x128(r21)
/* 801E04F4 001DC154 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E04F8 001DC158 40 80 00 18 */ bge lbl_801E0510
/* 801E04FC 001DC15C C0 01 00 94 */ lfs f0, 0x94(r1)
/* 801E0500 001DC160 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E0504 001DC164 40 80 00 0C */ bge lbl_801E0510
/* 801E0508 001DC168 38 60 00 00 */ li r3, 0
/* 801E050C 001DC16C 48 00 02 94 */ b lbl_801E07A0
lbl_801E0510:
/* 801E0510 001DC170 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801E0514 001DC174 C0 35 01 2C */ lfs f1, 0x12c(r21)
/* 801E0518 001DC178 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E051C 001DC17C 40 81 00 18 */ ble lbl_801E0534
/* 801E0520 001DC180 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 801E0524 001DC184 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E0528 001DC188 40 81 00 0C */ ble lbl_801E0534
/* 801E052C 001DC18C 38 60 00 00 */ li r3, 0
/* 801E0530 001DC190 48 00 02 70 */ b lbl_801E07A0
lbl_801E0534:
/* 801E0534 001DC194 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 801E0538 001DC198 C0 35 01 30 */ lfs f1, 0x130(r21)
/* 801E053C 001DC19C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E0540 001DC1A0 40 81 00 18 */ ble lbl_801E0558
/* 801E0544 001DC1A4 C0 01 00 90 */ lfs f0, 0x90(r1)
/* 801E0548 001DC1A8 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E054C 001DC1AC 40 81 00 0C */ ble lbl_801E0558
/* 801E0550 001DC1B0 38 60 00 00 */ li r3, 0
/* 801E0554 001DC1B4 48 00 02 4C */ b lbl_801E07A0
lbl_801E0558:
/* 801E0558 001DC1B8 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 801E055C 001DC1BC C0 35 01 34 */ lfs f1, 0x134(r21)
/* 801E0560 001DC1C0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E0564 001DC1C4 40 81 00 18 */ ble lbl_801E057C
/* 801E0568 001DC1C8 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 801E056C 001DC1CC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801E0570 001DC1D0 40 81 00 0C */ ble lbl_801E057C
/* 801E0574 001DC1D4 38 60 00 00 */ li r3, 0
/* 801E0578 001DC1D8 48 00 02 28 */ b lbl_801E07A0
lbl_801E057C:
/* 801E057C 001DC1DC A0 15 01 06 */ lhz r0, 0x106(r21)
/* 801E0580 001DC1E0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801E0584 001DC1E4 41 82 00 0C */ beq lbl_801E0590
/* 801E0588 001DC1E8 7E A3 AB 78 */ mr r3, r21
/* 801E058C 001DC1EC 4B FF FA 71 */ bl func_801DFFFC
lbl_801E0590:
/* 801E0590 001DC1F0 38 61 00 80 */ addi r3, r1, 0x80
/* 801E0594 001DC1F4 38 81 00 8C */ addi r4, r1, 0x8c
/* 801E0598 001DC1F8 38 A1 00 74 */ addi r5, r1, 0x74
/* 801E059C 001DC1FC 48 09 C7 4D */ bl PSVECSubtract
/* 801E05A0 001DC200 C0 02 96 5C */ lfs f0, lbl_80641C5C-_SDA2_BASE_(r2)
/* 801E05A4 001DC204 3B E0 00 00 */ li r31, 0
/* 801E05A8 001DC208 C3 E2 96 50 */ lfs f31, lbl_80641C50-_SDA2_BASE_(r2)
/* 801E05AC 001DC20C 3B 80 00 00 */ li r28, 0
/* 801E05B0 001DC210 D0 1A 00 00 */ stfs f0, 0(r26)
/* 801E05B4 001DC214 80 75 01 44 */ lwz r3, 0x144(r21)
/* 801E05B8 001DC218 83 C3 00 40 */ lwz r30, 0x40(r3)
/* 801E05BC 001DC21C A3 A3 00 34 */ lhz r29, 0x34(r3)
/* 801E05C0 001DC220 48 00 01 D0 */ b lbl_801E0790
lbl_801E05C4:
/* 801E05C4 001DC224 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801E05C8 001DC228 38 61 00 74 */ addi r3, r1, 0x74
/* 801E05CC 001DC22C 80 DE 00 04 */ lwz r6, 4(r30)
/* 801E05D0 001DC230 38 81 00 68 */ addi r4, r1, 0x68
/* 801E05D4 001DC234 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801E05D8 001DC238 80 B5 01 40 */ lwz r5, 0x140(r21)
/* 801E05DC 001DC23C A0 C6 00 00 */ lhz r6, 0(r6)
/* 801E05E0 001DC240 80 F5 01 3C */ lwz r7, 0x13c(r21)
/* 801E05E4 001DC244 7C 05 04 6E */ lfsux f0, r5, r0
/* 801E05E8 001DC248 1C 06 00 0C */ mulli r0, r6, 0xc
/* 801E05EC 001DC24C D0 01 00 68 */ stfs f0, 0x68(r1)
/* 801E05F0 001DC250 7E 87 02 14 */ add r20, r7, r0
/* 801E05F4 001DC254 C0 05 00 04 */ lfs f0, 4(r5)
/* 801E05F8 001DC258 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 801E05FC 001DC25C C0 05 00 08 */ lfs f0, 8(r5)
/* 801E0600 001DC260 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 801E0604 001DC264 48 09 C7 C5 */ bl PSVECDotProduct
/* 801E0608 001DC268 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 801E060C 001DC26C FF C0 08 90 */ fmr f30, f1
/* 801E0610 001DC270 4C 41 13 82 */ cror 2, 1, 2
/* 801E0614 001DC274 40 82 00 38 */ bne lbl_801E064C
/* 801E0618 001DC278 88 1E 00 02 */ lbz r0, 2(r30)
/* 801E061C 001DC27C 2C 00 00 00 */ cmpwi r0, 0
/* 801E0620 001DC280 41 82 01 68 */ beq lbl_801E0788
/* 801E0624 001DC284 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 801E0628 001DC288 FF C0 08 50 */ fneg f30, f1
/* 801E062C 001DC28C C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 801E0630 001DC290 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801E0634 001DC294 FC 40 10 50 */ fneg f2, f2
/* 801E0638 001DC298 FC 20 08 50 */ fneg f1, f1
/* 801E063C 001DC29C FC 00 00 50 */ fneg f0, f0
/* 801E0640 001DC2A0 D0 41 00 68 */ stfs f2, 0x68(r1)
/* 801E0644 001DC2A4 D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 801E0648 001DC2A8 D0 01 00 70 */ stfs f0, 0x70(r1)
lbl_801E064C:
/* 801E064C 001DC2AC 7E 83 A3 78 */ mr r3, r20
/* 801E0650 001DC2B0 38 81 00 8C */ addi r4, r1, 0x8c
/* 801E0654 001DC2B4 38 A1 00 50 */ addi r5, r1, 0x50
/* 801E0658 001DC2B8 48 09 C6 91 */ bl PSVECSubtract
/* 801E065C 001DC2BC 38 61 00 50 */ addi r3, r1, 0x50
/* 801E0660 001DC2C0 38 81 00 68 */ addi r4, r1, 0x68
/* 801E0664 001DC2C4 48 09 C7 65 */ bl PSVECDotProduct
/* 801E0668 001DC2C8 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 801E066C 001DC2CC 41 81 01 1C */ bgt lbl_801E0788
/* 801E0670 001DC2D0 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 801E0674 001DC2D4 4C 40 13 82 */ cror 2, 0, 2
/* 801E0678 001DC2D8 41 82 01 10 */ beq lbl_801E0788
/* 801E067C 001DC2DC EF C1 F0 24 */ fdivs f30, f1, f30
/* 801E0680 001DC2E0 38 61 00 74 */ addi r3, r1, 0x74
/* 801E0684 001DC2E4 38 81 00 38 */ addi r4, r1, 0x38
/* 801E0688 001DC2E8 FC 20 F0 90 */ fmr f1, f30
/* 801E068C 001DC2EC 48 09 C6 81 */ bl PSVECScale
/* 801E0690 001DC2F0 38 61 00 8C */ addi r3, r1, 0x8c
/* 801E0694 001DC2F4 38 81 00 38 */ addi r4, r1, 0x38
/* 801E0698 001DC2F8 38 A1 00 44 */ addi r5, r1, 0x44
/* 801E069C 001DC2FC 48 09 C6 29 */ bl PSVECAdd
/* 801E06A0 001DC300 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 801E06A4 001DC304 7E A3 AB 78 */ mr r3, r21
/* 801E06A8 001DC308 C0 21 00 48 */ lfs f1, 0x48(r1)
/* 801E06AC 001DC30C 7F C4 F3 78 */ mr r4, r30
/* 801E06B0 001DC310 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 801E06B4 001DC314 38 A1 00 5C */ addi r5, r1, 0x5c
/* 801E06B8 001DC318 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E06BC 001DC31C D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E06C0 001DC320 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801E06C4 001DC324 4B FF F9 95 */ bl func_801E0058
/* 801E06C8 001DC328 2C 03 00 00 */ cmpwi r3, 0
/* 801E06CC 001DC32C 41 82 00 BC */ beq lbl_801E0788
/* 801E06D0 001DC330 C0 1A 00 00 */ lfs f0, 0(r26)
/* 801E06D4 001DC334 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 801E06D8 001DC338 40 81 00 B0 */ ble lbl_801E0788
/* 801E06DC 001DC33C 7E E3 BB 78 */ mr r3, r23
/* 801E06E0 001DC340 7E C4 B3 78 */ mr r4, r22
/* 801E06E4 001DC344 38 A1 00 14 */ addi r5, r1, 0x14
/* 801E06E8 001DC348 48 09 C6 01 */ bl PSVECSubtract
/* 801E06EC 001DC34C FC 20 F0 90 */ fmr f1, f30
/* 801E06F0 001DC350 38 61 00 14 */ addi r3, r1, 0x14
/* 801E06F4 001DC354 38 81 00 20 */ addi r4, r1, 0x20
/* 801E06F8 001DC358 48 09 C6 15 */ bl PSVECScale
/* 801E06FC 001DC35C 7E C3 B3 78 */ mr r3, r22
/* 801E0700 001DC360 38 81 00 20 */ addi r4, r1, 0x20
/* 801E0704 001DC364 38 A1 00 2C */ addi r5, r1, 0x2c
/* 801E0708 001DC368 48 09 C5 BD */ bl PSVECAdd
/* 801E070C 001DC36C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 801E0710 001DC370 7F 04 C3 78 */ mr r4, r24
/* 801E0714 001DC374 7F 05 C3 78 */ mr r5, r24
/* 801E0718 001DC378 38 75 00 D0 */ addi r3, r21, 0xd0
/* 801E071C 001DC37C D0 19 00 00 */ stfs f0, 0(r25)
/* 801E0720 001DC380 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 801E0724 001DC384 D0 19 00 04 */ stfs f0, 4(r25)
/* 801E0728 001DC388 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801E072C 001DC38C D0 19 00 08 */ stfs f0, 8(r25)
/* 801E0730 001DC390 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 801E0734 001DC394 D0 18 00 00 */ stfs f0, 0(r24)
/* 801E0738 001DC398 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 801E073C 001DC39C D0 18 00 04 */ stfs f0, 4(r24)
/* 801E0740 001DC3A0 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801E0744 001DC3A4 D0 18 00 08 */ stfs f0, 8(r24)
/* 801E0748 001DC3A8 48 09 C3 09 */ bl PSMTXMultVecSR
/* 801E074C 001DC3AC 7F 03 C3 78 */ mr r3, r24
/* 801E0750 001DC3B0 7F 04 C3 78 */ mr r4, r24
/* 801E0754 001DC3B4 48 09 C5 D5 */ bl PSVECNormalize
/* 801E0758 001DC3B8 C0 22 96 78 */ lfs f1, lbl_80641C78-_SDA2_BASE_(r2)
/* 801E075C 001DC3BC 7F 03 C3 78 */ mr r3, r24
/* 801E0760 001DC3C0 38 81 00 08 */ addi r4, r1, 8
/* 801E0764 001DC3C4 48 09 C5 A9 */ bl PSVECScale
/* 801E0768 001DC3C8 7F 23 CB 78 */ mr r3, r25
/* 801E076C 001DC3CC 7F 25 CB 78 */ mr r5, r25
/* 801E0770 001DC3D0 38 81 00 08 */ addi r4, r1, 8
/* 801E0774 001DC3D4 48 09 C5 51 */ bl PSVECAdd
/* 801E0778 001DC3D8 2C 1B 00 00 */ cmpwi r27, 0
/* 801E077C 001DC3DC D3 DA 00 00 */ stfs f30, 0(r26)
/* 801E0780 001DC3E0 3B E0 00 01 */ li r31, 1
/* 801E0784 001DC3E4 41 82 00 18 */ beq lbl_801E079C
lbl_801E0788:
/* 801E0788 001DC3E8 3B 9C 00 01 */ addi r28, r28, 1
/* 801E078C 001DC3EC 3B DE 00 08 */ addi r30, r30, 8
lbl_801E0790:
/* 801E0790 001DC3F0 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 801E0794 001DC3F4 7C 00 E8 40 */ cmplw r0, r29
/* 801E0798 001DC3F8 41 80 FE 2C */ blt lbl_801E05C4
lbl_801E079C:
/* 801E079C 001DC3FC 7F E3 FB 78 */ mr r3, r31
lbl_801E07A0:
/* 801E07A0 001DC400 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 801E07A4 001DC404 CB E1 01 10 */ lfd f31, 0x110(r1)
/* 801E07A8 001DC408 E3 C1 01 08 */ psq_l f30, 264(r1), 0, qr0
/* 801E07AC 001DC40C 39 61 01 00 */ addi r11, r1, 0x100
/* 801E07B0 001DC410 CB C1 01 00 */ lfd f30, 0x100(r1)
/* 801E07B4 001DC414 4B FE 69 A5 */ bl _restgpr_20
/* 801E07B8 001DC418 80 01 01 24 */ lwz r0, 0x124(r1)
/* 801E07BC 001DC41C 7C 08 03 A6 */ mtlr r0
/* 801E07C0 001DC420 38 21 01 20 */ addi r1, r1, 0x120
/* 801E07C4 001DC424 4E 80 00 20 */ blr
.global func_801E07C8
func_801E07C8:
/* 801E07C8 001DC428 38 A0 00 01 */ li r5, 1
/* 801E07CC 001DC42C 38 6D A0 A0 */ addi r3, r13, lbl_8063F360-_SDA_BASE_
/* 801E07D0 001DC430 38 80 00 04 */ li r4, 4
/* 801E07D4 001DC434 38 00 00 00 */ li r0, 0
/* 801E07D8 001DC438 98 AD A0 A0 */ stb r5, lbl_8063F360-_SDA_BASE_(r13)
/* 801E07DC 001DC43C B0 83 00 02 */ sth r4, 2(r3)
/* 801E07E0 001DC440 98 03 00 04 */ stb r0, 4(r3)
/* 801E07E4 001DC444 4E 80 00 20 */ blr
|