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
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80220DC4
func_80220DC4:
/* 80220DC4 0021CA24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80220DC8 0021CA28 3C E0 43 30 */ lis r7, 0x4330
/* 80220DCC 0021CA2C A0 04 00 00 */ lhz r0, 0(r4)
/* 80220DD0 0021CA30 90 E1 00 08 */ stw r7, 8(r1)
/* 80220DD4 0021CA34 2C 00 00 01 */ cmpwi r0, 1
/* 80220DD8 0021CA38 A1 44 00 02 */ lhz r10, 2(r4)
/* 80220DDC 0021CA3C 90 E1 00 10 */ stw r7, 0x10(r1)
/* 80220DE0 0021CA40 41 82 00 18 */ beq lbl_80220DF8
/* 80220DE4 0021CA44 40 80 00 08 */ bge lbl_80220DEC
/* 80220DE8 0021CA48 48 00 01 C4 */ b lbl_80220FAC
lbl_80220DEC:
/* 80220DEC 0021CA4C 2C 00 00 03 */ cmpwi r0, 3
/* 80220DF0 0021CA50 40 80 01 BC */ bge lbl_80220FAC
/* 80220DF4 0021CA54 48 00 00 B8 */ b lbl_80220EAC
lbl_80220DF8:
/* 80220DF8 0021CA58 81 03 00 00 */ lwz r8, 0(r3)
/* 80220DFC 0021CA5C 38 00 00 01 */ li r0, 1
/* 80220E00 0021CA60 7C 06 30 30 */ slw r6, r0, r6
/* 80220E04 0021CA64 A0 05 00 02 */ lhz r0, 2(r5)
/* 80220E08 0021CA68 7C E8 50 AE */ lbzx r7, r8, r10
/* 80220E0C 0021CA6C 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 80220E10 0021CA70 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80220E14 0021CA74 7C E7 07 74 */ extsb r7, r7
/* 80220E18 0021CA78 7C 08 00 AE */ lbzx r0, r8, r0
/* 80220E1C 0021CA7C 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 80220E20 0021CA80 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80220E24 0021CA84 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80220E28 0021CA88 7C 00 07 74 */ extsb r0, r0
/* 80220E2C 0021CA8C C0 84 00 08 */ lfs f4, 8(r4)
/* 80220E30 0021CA90 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80220E34 0021CA94 C8 61 00 08 */ lfd f3, 8(r1)
/* 80220E38 0021CA98 C0 45 00 08 */ lfs f2, 8(r5)
/* 80220E3C 0021CA9C ED 01 20 28 */ fsubs f8, f1, f4
/* 80220E40 0021CAA0 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80220E44 0021CAA4 EC E2 20 28 */ fsubs f7, f2, f4
/* 80220E48 0021CAA8 C8 C2 9C 00 */ lfd f6, lbl_80642200-_SDA2_BASE_(r2)
/* 80220E4C 0021CAAC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80220E50 0021CAB0 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80220E54 0021CAB4 EC A3 30 28 */ fsubs f5, f3, f6
/* 80220E58 0021CAB8 C8 41 00 08 */ lfd f2, 8(r1)
/* 80220E5C 0021CABC EC 80 30 28 */ fsubs f4, f0, f6
/* 80220E60 0021CAC0 C0 62 9B F8 */ lfs f3, lbl_806421F8-_SDA2_BASE_(r2)
/* 80220E64 0021CAC4 EC E8 38 24 */ fdivs f7, f8, f7
/* 80220E68 0021CAC8 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80220E6C 0021CACC C8 01 00 08 */ lfd f0, 8(r1)
/* 80220E70 0021CAD0 EC 42 30 28 */ fsubs f2, f2, f6
/* 80220E74 0021CAD4 EC 21 30 28 */ fsubs f1, f1, f6
/* 80220E78 0021CAD8 EC 85 20 24 */ fdivs f4, f5, f4
/* 80220E7C 0021CADC EC 22 08 24 */ fdivs f1, f2, f1
/* 80220E80 0021CAE0 EC 43 38 28 */ fsubs f2, f3, f7
/* 80220E84 0021CAE4 EC 27 00 72 */ fmuls f1, f7, f1
/* 80220E88 0021CAE8 EC 00 30 28 */ fsubs f0, f0, f6
/* 80220E8C 0021CAEC EC 42 01 32 */ fmuls f2, f2, f4
/* 80220E90 0021CAF0 EC 42 08 2A */ fadds f2, f2, f1
/* 80220E94 0021CAF4 EC 02 00 32 */ fmuls f0, f2, f0
/* 80220E98 0021CAF8 FC 00 00 1E */ fctiwz f0, f0
/* 80220E9C 0021CAFC D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80220EA0 0021CB00 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80220EA4 0021CB04 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80220EA8 0021CB08 48 00 01 10 */ b lbl_80220FB8
lbl_80220EAC:
/* 80220EAC 0021CB0C C0 44 00 08 */ lfs f2, 8(r4)
/* 80220EB0 0021CB10 38 00 00 01 */ li r0, 1
/* 80220EB4 0021CB14 C0 05 00 08 */ lfs f0, 8(r5)
/* 80220EB8 0021CB18 7C 06 30 30 */ slw r6, r0, r6
/* 80220EBC 0021CB1C EC 21 10 28 */ fsubs f1, f1, f2
/* 80220EC0 0021CB20 81 03 00 00 */ lwz r8, 0(r3)
/* 80220EC4 0021CB24 EC 00 10 28 */ fsubs f0, f0, f2
/* 80220EC8 0021CB28 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 80220ECC 0021CB2C 7C 08 50 AE */ lbzx r0, r8, r10
/* 80220ED0 0021CB30 A1 25 00 02 */ lhz r9, 2(r5)
/* 80220ED4 0021CB34 ED 21 00 24 */ fdivs f9, f1, f0
/* 80220ED8 0021CB38 7C 00 07 74 */ extsb r0, r0
/* 80220EDC 0021CB3C 6C 07 80 00 */ xoris r7, r0, 0x8000
/* 80220EE0 0021CB40 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80220EE4 0021CB44 7C 08 48 AE */ lbzx r0, r8, r9
/* 80220EE8 0021CB48 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80220EEC 0021CB4C ED 09 02 72 */ fmuls f8, f9, f9
/* 80220EF0 0021CB50 7C 00 07 74 */ extsb r0, r0
/* 80220EF4 0021CB54 C8 01 00 08 */ lfd f0, 8(r1)
/* 80220EF8 0021CB58 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80220EFC 0021CB5C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 80220F00 0021CB60 C8 A2 9C 00 */ lfd f5, lbl_80642200-_SDA2_BASE_(r2)
/* 80220F04 0021CB64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80220F08 0021CB68 EC E8 02 72 */ fmuls f7, f8, f9
/* 80220F0C 0021CB6C EC 60 28 28 */ fsubs f3, f0, f5
/* 80220F10 0021CB70 A0 04 00 06 */ lhz r0, 6(r4)
/* 80220F14 0021CB74 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80220F18 0021CB78 EC 82 28 28 */ fsubs f4, f2, f5
/* 80220F1C 0021CB7C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80220F20 0021CB80 EC C8 40 2A */ fadds f6, f8, f8
/* 80220F24 0021CB84 C8 01 00 08 */ lfd f0, 8(r1)
/* 80220F28 0021CB88 ED 47 40 28 */ fsubs f10, f7, f8
/* 80220F2C 0021CB8C EC 21 28 28 */ fsubs f1, f1, f5
/* 80220F30 0021CB90 54 04 10 3A */ slwi r4, r0, 2
/* 80220F34 0021CB94 EC 46 38 28 */ fsubs f2, f6, f7
/* 80220F38 0021CB98 EC CA 40 28 */ fsubs f6, f10, f8
/* 80220F3C 0021CB9C A0 05 00 04 */ lhz r0, 4(r5)
/* 80220F40 0021CBA0 EC 00 28 28 */ fsubs f0, f0, f5
/* 80220F44 0021CBA4 EC 84 18 24 */ fdivs f4, f4, f3
/* 80220F48 0021CBA8 C0 E2 9B F8 */ lfs f7, lbl_806421F8-_SDA2_BASE_(r2)
/* 80220F4C 0021CBAC 80 E3 00 04 */ lwz r7, 4(r3)
/* 80220F50 0021CBB0 54 00 10 3A */ slwi r0, r0, 2
/* 80220F54 0021CBB4 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80220F58 0021CBB8 ED 01 00 24 */ fdivs f8, f1, f0
/* 80220F5C 0021CBBC 7C 27 04 2E */ lfsx f1, r7, r0
/* 80220F60 0021CBC0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80220F64 0021CBC4 ED 62 50 28 */ fsubs f11, f2, f10
/* 80220F68 0021CBC8 7C 47 24 2E */ lfsx f2, r7, r4
/* 80220F6C 0021CBCC ED 29 30 2A */ fadds f9, f9, f6
/* 80220F70 0021CBD0 EC 2A 00 72 */ fmuls f1, f10, f1
/* 80220F74 0021CBD4 EC C7 58 28 */ fsubs f6, f7, f11
/* 80220F78 0021CBD8 EC 6B 02 32 */ fmuls f3, f11, f8
/* 80220F7C 0021CBDC EC 49 00 B2 */ fmuls f2, f9, f2
/* 80220F80 0021CBE0 EC 86 01 32 */ fmuls f4, f6, f4
/* 80220F84 0021CBE4 EC 00 28 28 */ fsubs f0, f0, f5
/* 80220F88 0021CBE8 EC 84 18 2A */ fadds f4, f4, f3
/* 80220F8C 0021CBEC EC 84 10 2A */ fadds f4, f4, f2
/* 80220F90 0021CBF0 EC 84 08 2A */ fadds f4, f4, f1
/* 80220F94 0021CBF4 EC 04 00 32 */ fmuls f0, f4, f0
/* 80220F98 0021CBF8 FC 00 00 1E */ fctiwz f0, f0
/* 80220F9C 0021CBFC D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80220FA0 0021CC00 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80220FA4 0021CC04 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80220FA8 0021CC08 48 00 00 10 */ b lbl_80220FB8
lbl_80220FAC:
/* 80220FAC 0021CC0C 80 83 00 00 */ lwz r4, 0(r3)
/* 80220FB0 0021CC10 7C 04 50 AE */ lbzx r0, r4, r10
/* 80220FB4 0021CC14 98 03 00 1C */ stb r0, 0x1c(r3)
lbl_80220FB8:
/* 80220FB8 0021CC18 38 21 00 20 */ addi r1, r1, 0x20
/* 80220FBC 0021CC1C 4E 80 00 20 */ blr
.global func_80220FC0
func_80220FC0:
/* 80220FC0 0021CC20 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80220FC4 0021CC24 3C E0 43 30 */ lis r7, 0x4330
/* 80220FC8 0021CC28 A0 04 00 00 */ lhz r0, 0(r4)
/* 80220FCC 0021CC2C 90 E1 00 08 */ stw r7, 8(r1)
/* 80220FD0 0021CC30 2C 00 00 01 */ cmpwi r0, 1
/* 80220FD4 0021CC34 A1 24 00 02 */ lhz r9, 2(r4)
/* 80220FD8 0021CC38 90 E1 00 10 */ stw r7, 0x10(r1)
/* 80220FDC 0021CC3C 41 82 00 18 */ beq lbl_80220FF4
/* 80220FE0 0021CC40 40 80 00 08 */ bge lbl_80220FE8
/* 80220FE4 0021CC44 48 00 01 AC */ b lbl_80221190
lbl_80220FE8:
/* 80220FE8 0021CC48 2C 00 00 03 */ cmpwi r0, 3
/* 80220FEC 0021CC4C 40 80 01 A4 */ bge lbl_80221190
/* 80220FF0 0021CC50 48 00 00 AC */ b lbl_8022109C
lbl_80220FF4:
/* 80220FF4 0021CC54 81 03 00 00 */ lwz r8, 0(r3)
/* 80220FF8 0021CC58 38 00 00 01 */ li r0, 1
/* 80220FFC 0021CC5C 7C 06 30 30 */ slw r6, r0, r6
/* 80221000 0021CC60 A0 05 00 02 */ lhz r0, 2(r5)
/* 80221004 0021CC64 7C E8 48 AE */ lbzx r7, r8, r9
/* 80221008 0021CC68 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 8022100C 0021CC6C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221010 0021CC70 C0 64 00 08 */ lfs f3, 8(r4)
/* 80221014 0021CC74 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80221018 0021CC78 C8 81 00 10 */ lfd f4, 0x10(r1)
/* 8022101C 0021CC7C EC 41 18 28 */ fsubs f2, f1, f3
/* 80221020 0021CC80 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221024 0021CC84 7C 08 00 AE */ lbzx r0, r8, r0
/* 80221028 0021CC88 EC 20 18 28 */ fsubs f1, f0, f3
/* 8022102C 0021CC8C C8 01 00 08 */ lfd f0, 8(r1)
/* 80221030 0021CC90 C8 E2 9C 08 */ lfd f7, lbl_80642208-_SDA2_BASE_(r2)
/* 80221034 0021CC94 C8 A2 9C 00 */ lfd f5, lbl_80642200-_SDA2_BASE_(r2)
/* 80221038 0021CC98 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8022103C 0021CC9C ED 02 08 24 */ fdivs f8, f2, f1
/* 80221040 0021CCA0 C0 62 9B F8 */ lfs f3, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221044 0021CCA4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80221048 0021CCA8 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8022104C 0021CCAC C8 41 00 08 */ lfd f2, 8(r1)
/* 80221050 0021CCB0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80221054 0021CCB4 EC C0 38 28 */ fsubs f6, f0, f7
/* 80221058 0021CCB8 C8 01 00 08 */ lfd f0, 8(r1)
/* 8022105C 0021CCBC EC 84 28 28 */ fsubs f4, f4, f5
/* 80221060 0021CCC0 EC 42 38 28 */ fsubs f2, f2, f7
/* 80221064 0021CCC4 EC 21 28 28 */ fsubs f1, f1, f5
/* 80221068 0021CCC8 EC 86 20 24 */ fdivs f4, f6, f4
/* 8022106C 0021CCCC EC 22 08 24 */ fdivs f1, f2, f1
/* 80221070 0021CCD0 EC 43 40 28 */ fsubs f2, f3, f8
/* 80221074 0021CCD4 EC 28 00 72 */ fmuls f1, f8, f1
/* 80221078 0021CCD8 EC 00 28 28 */ fsubs f0, f0, f5
/* 8022107C 0021CCDC EC 42 01 32 */ fmuls f2, f2, f4
/* 80221080 0021CCE0 EC 42 08 2A */ fadds f2, f2, f1
/* 80221084 0021CCE4 EC 02 00 32 */ fmuls f0, f2, f0
/* 80221088 0021CCE8 FC 00 00 1E */ fctiwz f0, f0
/* 8022108C 0021CCEC D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80221090 0021CCF0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80221094 0021CCF4 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80221098 0021CCF8 48 00 01 04 */ b lbl_8022119C
lbl_8022109C:
/* 8022109C 0021CCFC C0 44 00 08 */ lfs f2, 8(r4)
/* 802210A0 0021CD00 38 00 00 01 */ li r0, 1
/* 802210A4 0021CD04 C0 05 00 08 */ lfs f0, 8(r5)
/* 802210A8 0021CD08 7C 00 30 30 */ slw r0, r0, r6
/* 802210AC 0021CD0C EC 21 10 28 */ fsubs f1, f1, f2
/* 802210B0 0021CD10 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 802210B4 0021CD14 EC 00 10 28 */ fsubs f0, f0, f2
/* 802210B8 0021CD18 80 E3 00 00 */ lwz r7, 0(r3)
/* 802210BC 0021CD1C A0 84 00 06 */ lhz r4, 6(r4)
/* 802210C0 0021CD20 7C 07 48 AE */ lbzx r0, r7, r9
/* 802210C4 0021CD24 ED 41 00 24 */ fdivs f10, f1, f0
/* 802210C8 0021CD28 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802210CC 0021CD2C A1 05 00 02 */ lhz r8, 2(r5)
/* 802210D0 0021CD30 54 84 10 3A */ slwi r4, r4, 2
/* 802210D4 0021CD34 90 01 00 14 */ stw r0, 0x14(r1)
/* 802210D8 0021CD38 C8 21 00 08 */ lfd f1, 8(r1)
/* 802210DC 0021CD3C ED 2A 02 B2 */ fmuls f9, f10, f10
/* 802210E0 0021CD40 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802210E4 0021CD44 C8 A2 9C 00 */ lfd f5, lbl_80642200-_SDA2_BASE_(r2)
/* 802210E8 0021CD48 C8 01 00 08 */ lfd f0, 8(r1)
/* 802210EC 0021CD4C ED 09 02 B2 */ fmuls f8, f9, f10
/* 802210F0 0021CD50 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 802210F4 0021CD54 7C 07 40 AE */ lbzx r0, r7, r8
/* 802210F8 0021CD58 EC 60 28 28 */ fsubs f3, f0, f5
/* 802210FC 0021CD5C C8 82 9C 08 */ lfd f4, lbl_80642208-_SDA2_BASE_(r2)
/* 80221100 0021CD60 EC 21 28 28 */ fsubs f1, f1, f5
/* 80221104 0021CD64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80221108 0021CD68 EC C9 48 2A */ fadds f6, f9, f9
/* 8022110C 0021CD6C ED 68 48 28 */ fsubs f11, f8, f9
/* 80221110 0021CD70 A0 05 00 04 */ lhz r0, 4(r5)
/* 80221114 0021CD74 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80221118 0021CD78 EC 42 20 28 */ fsubs f2, f2, f4
/* 8022111C 0021CD7C ED 06 40 28 */ fsubs f8, f6, f8
/* 80221120 0021CD80 EC CB 48 28 */ fsubs f6, f11, f9
/* 80221124 0021CD84 EC 80 20 28 */ fsubs f4, f0, f4
/* 80221128 0021CD88 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8022112C 0021CD8C ED 22 08 24 */ fdivs f9, f2, f1
/* 80221130 0021CD90 80 A3 00 04 */ lwz r5, 4(r3)
/* 80221134 0021CD94 54 00 10 3A */ slwi r0, r0, 2
/* 80221138 0021CD98 7C 25 04 2E */ lfsx f1, r5, r0
/* 8022113C 0021CD9C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80221140 0021CDA0 C0 E2 9B F8 */ lfs f7, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221144 0021CDA4 EC 64 18 24 */ fdivs f3, f4, f3
/* 80221148 0021CDA8 7C 45 24 2E */ lfsx f2, r5, r4
/* 8022114C 0021CDAC ED 08 58 28 */ fsubs f8, f8, f11
/* 80221150 0021CDB0 EC CA 30 2A */ fadds f6, f10, f6
/* 80221154 0021CDB4 EC 2B 00 72 */ fmuls f1, f11, f1
/* 80221158 0021CDB8 EC 87 40 28 */ fsubs f4, f7, f8
/* 8022115C 0021CDBC EC 68 00 F2 */ fmuls f3, f8, f3
/* 80221160 0021CDC0 EC 46 00 B2 */ fmuls f2, f6, f2
/* 80221164 0021CDC4 EC 84 02 72 */ fmuls f4, f4, f9
/* 80221168 0021CDC8 EC 00 28 28 */ fsubs f0, f0, f5
/* 8022116C 0021CDCC EC 84 18 2A */ fadds f4, f4, f3
/* 80221170 0021CDD0 EC 84 10 2A */ fadds f4, f4, f2
/* 80221174 0021CDD4 EC 84 08 2A */ fadds f4, f4, f1
/* 80221178 0021CDD8 EC 04 00 32 */ fmuls f0, f4, f0
/* 8022117C 0021CDDC FC 00 00 1E */ fctiwz f0, f0
/* 80221180 0021CDE0 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80221184 0021CDE4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80221188 0021CDE8 98 03 00 1C */ stb r0, 0x1c(r3)
/* 8022118C 0021CDEC 48 00 00 10 */ b lbl_8022119C
lbl_80221190:
/* 80221190 0021CDF0 80 83 00 00 */ lwz r4, 0(r3)
/* 80221194 0021CDF4 7C 04 48 AE */ lbzx r0, r4, r9
/* 80221198 0021CDF8 98 03 00 1C */ stb r0, 0x1c(r3)
lbl_8022119C:
/* 8022119C 0021CDFC 38 21 00 20 */ addi r1, r1, 0x20
/* 802211A0 0021CE00 4E 80 00 20 */ blr
.global func_802211A4
func_802211A4:
/* 802211A4 0021CE04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802211A8 0021CE08 3C E0 43 30 */ lis r7, 0x4330
/* 802211AC 0021CE0C A0 04 00 00 */ lhz r0, 0(r4)
/* 802211B0 0021CE10 90 E1 00 08 */ stw r7, 8(r1)
/* 802211B4 0021CE14 2C 00 00 01 */ cmpwi r0, 1
/* 802211B8 0021CE18 A1 44 00 02 */ lhz r10, 2(r4)
/* 802211BC 0021CE1C 90 E1 00 10 */ stw r7, 0x10(r1)
/* 802211C0 0021CE20 41 82 00 18 */ beq lbl_802211D8
/* 802211C4 0021CE24 40 80 00 08 */ bge lbl_802211CC
/* 802211C8 0021CE28 48 00 01 C4 */ b lbl_8022138C
lbl_802211CC:
/* 802211CC 0021CE2C 2C 00 00 03 */ cmpwi r0, 3
/* 802211D0 0021CE30 40 80 01 BC */ bge lbl_8022138C
/* 802211D4 0021CE34 48 00 00 B8 */ b lbl_8022128C
lbl_802211D8:
/* 802211D8 0021CE38 81 23 00 00 */ lwz r9, 0(r3)
/* 802211DC 0021CE3C 55 47 0B FC */ rlwinm r7, r10, 1, 0xf, 0x1e
/* 802211E0 0021CE40 39 00 00 01 */ li r8, 1
/* 802211E4 0021CE44 A0 05 00 02 */ lhz r0, 2(r5)
/* 802211E8 0021CE48 7C E9 3A AE */ lhax r7, r9, r7
/* 802211EC 0021CE4C 7D 06 30 30 */ slw r6, r8, r6
/* 802211F0 0021CE50 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 802211F4 0021CE54 54 00 08 3C */ slwi r0, r0, 1
/* 802211F8 0021CE58 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 802211FC 0021CE5C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221200 0021CE60 7C 09 02 AE */ lhax r0, r9, r0
/* 80221204 0021CE64 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80221208 0021CE68 C0 64 00 08 */ lfs f3, 8(r4)
/* 8022120C 0021CE6C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80221210 0021CE70 C8 81 00 10 */ lfd f4, 0x10(r1)
/* 80221214 0021CE74 C8 01 00 08 */ lfd f0, 8(r1)
/* 80221218 0021CE78 EC E1 18 28 */ fsubs f7, f1, f3
/* 8022121C 0021CE7C C0 45 00 08 */ lfs f2, 8(r5)
/* 80221220 0021CE80 C8 C2 9C 00 */ lfd f6, lbl_80642200-_SDA2_BASE_(r2)
/* 80221224 0021CE84 EC 22 18 28 */ fsubs f1, f2, f3
/* 80221228 0021CE88 90 01 00 0C */ stw r0, 0xc(r1)
/* 8022122C 0021CE8C EC A0 30 28 */ fsubs f5, f0, f6
/* 80221230 0021CE90 C0 62 9B F8 */ lfs f3, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221234 0021CE94 C8 41 00 08 */ lfd f2, 8(r1)
/* 80221238 0021CE98 EC 84 30 28 */ fsubs f4, f4, f6
/* 8022123C 0021CE9C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221240 0021CEA0 EC E7 08 24 */ fdivs f7, f7, f1
/* 80221244 0021CEA4 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80221248 0021CEA8 90 C1 00 0C */ stw r6, 0xc(r1)
/* 8022124C 0021CEAC C8 01 00 08 */ lfd f0, 8(r1)
/* 80221250 0021CEB0 EC 42 30 28 */ fsubs f2, f2, f6
/* 80221254 0021CEB4 EC 21 30 28 */ fsubs f1, f1, f6
/* 80221258 0021CEB8 EC 85 20 24 */ fdivs f4, f5, f4
/* 8022125C 0021CEBC EC 22 08 24 */ fdivs f1, f2, f1
/* 80221260 0021CEC0 EC 43 38 28 */ fsubs f2, f3, f7
/* 80221264 0021CEC4 EC 27 00 72 */ fmuls f1, f7, f1
/* 80221268 0021CEC8 EC 00 30 28 */ fsubs f0, f0, f6
/* 8022126C 0021CECC EC 42 01 32 */ fmuls f2, f2, f4
/* 80221270 0021CED0 EC 42 08 2A */ fadds f2, f2, f1
/* 80221274 0021CED4 EC 02 00 32 */ fmuls f0, f2, f0
/* 80221278 0021CED8 FC 00 00 1E */ fctiwz f0, f0
/* 8022127C 0021CEDC D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80221280 0021CEE0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80221284 0021CEE4 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80221288 0021CEE8 48 00 01 14 */ b lbl_8022139C
lbl_8022128C:
/* 8022128C 0021CEEC C0 44 00 08 */ lfs f2, 8(r4)
/* 80221290 0021CEF0 38 00 00 01 */ li r0, 1
/* 80221294 0021CEF4 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221298 0021CEF8 7C 00 30 30 */ slw r0, r0, r6
/* 8022129C 0021CEFC EC 21 10 28 */ fsubs f1, f1, f2
/* 802212A0 0021CF00 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 802212A4 0021CF04 EC 00 10 28 */ fsubs f0, f0, f2
/* 802212A8 0021CF08 81 03 00 00 */ lwz r8, 0(r3)
/* 802212AC 0021CF0C 55 40 0B FC */ rlwinm r0, r10, 1, 0xf, 0x1e
/* 802212B0 0021CF10 A1 25 00 02 */ lhz r9, 2(r5)
/* 802212B4 0021CF14 ED 21 00 24 */ fdivs f9, f1, f0
/* 802212B8 0021CF18 7C E8 02 AE */ lhax r7, r8, r0
/* 802212BC 0021CF1C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802212C0 0021CF20 55 20 08 3C */ slwi r0, r9, 1
/* 802212C4 0021CF24 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 802212C8 0021CF28 7C 08 02 AE */ lhax r0, r8, r0
/* 802212CC 0021CF2C 90 E1 00 14 */ stw r7, 0x14(r1)
/* 802212D0 0021CF30 ED 09 02 72 */ fmuls f8, f9, f9
/* 802212D4 0021CF34 C8 01 00 08 */ lfd f0, 8(r1)
/* 802212D8 0021CF38 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802212DC 0021CF3C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 802212E0 0021CF40 C8 A2 9C 00 */ lfd f5, lbl_80642200-_SDA2_BASE_(r2)
/* 802212E4 0021CF44 EC E8 02 72 */ fmuls f7, f8, f9
/* 802212E8 0021CF48 90 01 00 14 */ stw r0, 0x14(r1)
/* 802212EC 0021CF4C EC C8 40 2A */ fadds f6, f8, f8
/* 802212F0 0021CF50 EC 82 28 28 */ fsubs f4, f2, f5
/* 802212F4 0021CF54 A0 04 00 06 */ lhz r0, 6(r4)
/* 802212F8 0021CF58 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 802212FC 0021CF5C EC 60 28 28 */ fsubs f3, f0, f5
/* 80221300 0021CF60 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80221304 0021CF64 ED 47 40 28 */ fsubs f10, f7, f8
/* 80221308 0021CF68 EC 46 38 28 */ fsubs f2, f6, f7
/* 8022130C 0021CF6C C8 01 00 08 */ lfd f0, 8(r1)
/* 80221310 0021CF70 EC 21 28 28 */ fsubs f1, f1, f5
/* 80221314 0021CF74 EC CA 40 28 */ fsubs f6, f10, f8
/* 80221318 0021CF78 54 04 10 3A */ slwi r4, r0, 2
/* 8022131C 0021CF7C EC 00 28 28 */ fsubs f0, f0, f5
/* 80221320 0021CF80 EC 84 18 24 */ fdivs f4, f4, f3
/* 80221324 0021CF84 A0 05 00 04 */ lhz r0, 4(r5)
/* 80221328 0021CF88 C0 E2 9B F8 */ lfs f7, lbl_806421F8-_SDA2_BASE_(r2)
/* 8022132C 0021CF8C 80 E3 00 04 */ lwz r7, 4(r3)
/* 80221330 0021CF90 54 00 10 3A */ slwi r0, r0, 2
/* 80221334 0021CF94 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221338 0021CF98 ED 01 00 24 */ fdivs f8, f1, f0
/* 8022133C 0021CF9C 7C 27 04 2E */ lfsx f1, r7, r0
/* 80221340 0021CFA0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80221344 0021CFA4 ED 62 50 28 */ fsubs f11, f2, f10
/* 80221348 0021CFA8 7C 47 24 2E */ lfsx f2, r7, r4
/* 8022134C 0021CFAC ED 29 30 2A */ fadds f9, f9, f6
/* 80221350 0021CFB0 EC 2A 00 72 */ fmuls f1, f10, f1
/* 80221354 0021CFB4 EC C7 58 28 */ fsubs f6, f7, f11
/* 80221358 0021CFB8 EC 6B 02 32 */ fmuls f3, f11, f8
/* 8022135C 0021CFBC EC 49 00 B2 */ fmuls f2, f9, f2
/* 80221360 0021CFC0 EC 86 01 32 */ fmuls f4, f6, f4
/* 80221364 0021CFC4 EC 00 28 28 */ fsubs f0, f0, f5
/* 80221368 0021CFC8 EC 84 18 2A */ fadds f4, f4, f3
/* 8022136C 0021CFCC EC 84 10 2A */ fadds f4, f4, f2
/* 80221370 0021CFD0 EC 84 08 2A */ fadds f4, f4, f1
/* 80221374 0021CFD4 EC 04 00 32 */ fmuls f0, f4, f0
/* 80221378 0021CFD8 FC 00 00 1E */ fctiwz f0, f0
/* 8022137C 0021CFDC D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80221380 0021CFE0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80221384 0021CFE4 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80221388 0021CFE8 48 00 00 14 */ b lbl_8022139C
lbl_8022138C:
/* 8022138C 0021CFEC 80 83 00 00 */ lwz r4, 0(r3)
/* 80221390 0021CFF0 55 40 0B FC */ rlwinm r0, r10, 1, 0xf, 0x1e
/* 80221394 0021CFF4 7C 04 02 AE */ lhax r0, r4, r0
/* 80221398 0021CFF8 B0 03 00 1C */ sth r0, 0x1c(r3)
lbl_8022139C:
/* 8022139C 0021CFFC 38 21 00 20 */ addi r1, r1, 0x20
/* 802213A0 0021D000 4E 80 00 20 */ blr
.global func_802213A4
func_802213A4:
/* 802213A4 0021D004 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802213A8 0021D008 3C E0 43 30 */ lis r7, 0x4330
/* 802213AC 0021D00C A0 04 00 00 */ lhz r0, 0(r4)
/* 802213B0 0021D010 90 E1 00 08 */ stw r7, 8(r1)
/* 802213B4 0021D014 2C 00 00 01 */ cmpwi r0, 1
/* 802213B8 0021D018 A1 04 00 02 */ lhz r8, 2(r4)
/* 802213BC 0021D01C 90 E1 00 10 */ stw r7, 0x10(r1)
/* 802213C0 0021D020 41 82 00 18 */ beq lbl_802213D8
/* 802213C4 0021D024 40 80 00 08 */ bge lbl_802213CC
/* 802213C8 0021D028 48 00 01 BC */ b lbl_80221584
lbl_802213CC:
/* 802213CC 0021D02C 2C 00 00 03 */ cmpwi r0, 3
/* 802213D0 0021D030 40 80 01 B4 */ bge lbl_80221584
/* 802213D4 0021D034 48 00 00 B4 */ b lbl_80221488
lbl_802213D8:
/* 802213D8 0021D038 81 23 00 00 */ lwz r9, 0(r3)
/* 802213DC 0021D03C 55 07 0B FC */ rlwinm r7, r8, 1, 0xf, 0x1e
/* 802213E0 0021D040 39 00 00 01 */ li r8, 1
/* 802213E4 0021D044 A0 05 00 02 */ lhz r0, 2(r5)
/* 802213E8 0021D048 7D 06 30 30 */ slw r6, r8, r6
/* 802213EC 0021D04C 7C E9 3A 2E */ lhzx r7, r9, r7
/* 802213F0 0021D050 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 802213F4 0021D054 54 00 08 3C */ slwi r0, r0, 1
/* 802213F8 0021D058 90 E1 00 0C */ stw r7, 0xc(r1)
/* 802213FC 0021D05C C0 64 00 08 */ lfs f3, 8(r4)
/* 80221400 0021D060 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221404 0021D064 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221408 0021D068 EC 21 18 28 */ fsubs f1, f1, f3
/* 8022140C 0021D06C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 80221410 0021D070 EC 00 18 28 */ fsubs f0, f0, f3
/* 80221414 0021D074 C8 81 00 08 */ lfd f4, 8(r1)
/* 80221418 0021D078 7C 09 02 2E */ lhzx r0, r9, r0
/* 8022141C 0021D07C C8 E2 9C 08 */ lfd f7, lbl_80642208-_SDA2_BASE_(r2)
/* 80221420 0021D080 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221424 0021D084 ED 01 00 24 */ fdivs f8, f1, f0
/* 80221428 0021D088 C8 A2 9C 00 */ lfd f5, lbl_80642200-_SDA2_BASE_(r2)
/* 8022142C 0021D08C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80221430 0021D090 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80221434 0021D094 C8 01 00 08 */ lfd f0, 8(r1)
/* 80221438 0021D098 C0 62 9B F8 */ lfs f3, lbl_806421F8-_SDA2_BASE_(r2)
/* 8022143C 0021D09C EC C4 38 28 */ fsubs f6, f4, f7
/* 80221440 0021D0A0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80221444 0021D0A4 EC 82 28 28 */ fsubs f4, f2, f5
/* 80221448 0021D0A8 EC 40 38 28 */ fsubs f2, f0, f7
/* 8022144C 0021D0AC C8 01 00 08 */ lfd f0, 8(r1)
/* 80221450 0021D0B0 EC 21 28 28 */ fsubs f1, f1, f5
/* 80221454 0021D0B4 EC 86 20 24 */ fdivs f4, f6, f4
/* 80221458 0021D0B8 EC 22 08 24 */ fdivs f1, f2, f1
/* 8022145C 0021D0BC EC 43 40 28 */ fsubs f2, f3, f8
/* 80221460 0021D0C0 EC 28 00 72 */ fmuls f1, f8, f1
/* 80221464 0021D0C4 EC 00 28 28 */ fsubs f0, f0, f5
/* 80221468 0021D0C8 EC 42 01 32 */ fmuls f2, f2, f4
/* 8022146C 0021D0CC EC 42 08 2A */ fadds f2, f2, f1
/* 80221470 0021D0D0 EC 02 00 32 */ fmuls f0, f2, f0
/* 80221474 0021D0D4 FC 00 00 1E */ fctiwz f0, f0
/* 80221478 0021D0D8 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8022147C 0021D0DC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80221480 0021D0E0 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80221484 0021D0E4 48 00 01 10 */ b lbl_80221594
lbl_80221488:
/* 80221488 0021D0E8 C0 44 00 08 */ lfs f2, 8(r4)
/* 8022148C 0021D0EC 55 07 0B FC */ rlwinm r7, r8, 1, 0xf, 0x1e
/* 80221490 0021D0F0 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221494 0021D0F4 38 00 00 01 */ li r0, 1
/* 80221498 0021D0F8 EC 21 10 28 */ fsubs f1, f1, f2
/* 8022149C 0021D0FC 81 03 00 00 */ lwz r8, 0(r3)
/* 802214A0 0021D100 EC 00 10 28 */ fsubs f0, f0, f2
/* 802214A4 0021D104 7C 00 30 30 */ slw r0, r0, r6
/* 802214A8 0021D108 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 802214AC 0021D10C 7C E8 3A 2E */ lhzx r7, r8, r7
/* 802214B0 0021D110 ED 21 00 24 */ fdivs f9, f1, f0
/* 802214B4 0021D114 90 E1 00 14 */ stw r7, 0x14(r1)
/* 802214B8 0021D118 A0 05 00 02 */ lhz r0, 2(r5)
/* 802214BC 0021D11C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802214C0 0021D120 54 00 08 3C */ slwi r0, r0, 1
/* 802214C4 0021D124 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 802214C8 0021D128 ED 49 02 72 */ fmuls f10, f9, f9
/* 802214CC 0021D12C C8 21 00 08 */ lfd f1, 8(r1)
/* 802214D0 0021D130 7C 08 02 2E */ lhzx r0, r8, r0
/* 802214D4 0021D134 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802214D8 0021D138 C8 82 9C 00 */ lfd f4, lbl_80642200-_SDA2_BASE_(r2)
/* 802214DC 0021D13C ED 6A 02 72 */ fmuls f11, f10, f9
/* 802214E0 0021D140 90 01 00 14 */ stw r0, 0x14(r1)
/* 802214E4 0021D144 ED 0A 50 2A */ fadds f8, f10, f10
/* 802214E8 0021D148 C8 01 00 08 */ lfd f0, 8(r1)
/* 802214EC 0021D14C EC 61 20 28 */ fsubs f3, f1, f4
/* 802214F0 0021D150 C8 C2 9C 08 */ lfd f6, lbl_80642208-_SDA2_BASE_(r2)
/* 802214F4 0021D154 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 802214F8 0021D158 EC 00 20 28 */ fsubs f0, f0, f4
/* 802214FC 0021D15C EC A2 30 28 */ fsubs f5, f2, f6
/* 80221500 0021D160 A0 04 00 06 */ lhz r0, 6(r4)
/* 80221504 0021D164 EC 21 30 28 */ fsubs f1, f1, f6
/* 80221508 0021D168 C0 E2 9B F8 */ lfs f7, lbl_806421F8-_SDA2_BASE_(r2)
/* 8022150C 0021D16C EC 48 58 28 */ fsubs f2, f8, f11
/* 80221510 0021D170 EC A5 18 24 */ fdivs f5, f5, f3
/* 80221514 0021D174 54 04 10 3A */ slwi r4, r0, 2
/* 80221518 0021D178 A0 05 00 04 */ lhz r0, 4(r5)
/* 8022151C 0021D17C 80 E3 00 04 */ lwz r7, 4(r3)
/* 80221520 0021D180 54 00 10 3A */ slwi r0, r0, 2
/* 80221524 0021D184 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80221528 0021D188 ED 01 00 24 */ fdivs f8, f1, f0
/* 8022152C 0021D18C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80221530 0021D190 7C 27 04 2E */ lfsx f1, r7, r0
/* 80221534 0021D194 ED 8B 50 28 */ fsubs f12, f11, f10
/* 80221538 0021D198 EC 00 20 28 */ fsubs f0, f0, f4
/* 8022153C 0021D19C ED 62 60 28 */ fsubs f11, f2, f12
/* 80221540 0021D1A0 7C 47 24 2E */ lfsx f2, r7, r4
/* 80221544 0021D1A4 EC CC 50 28 */ fsubs f6, f12, f10
/* 80221548 0021D1A8 EC 2C 00 72 */ fmuls f1, f12, f1
/* 8022154C 0021D1AC EC 6B 02 32 */ fmuls f3, f11, f8
/* 80221550 0021D1B0 ED 29 30 2A */ fadds f9, f9, f6
/* 80221554 0021D1B4 EC C7 58 28 */ fsubs f6, f7, f11
/* 80221558 0021D1B8 EC 49 00 B2 */ fmuls f2, f9, f2
/* 8022155C 0021D1BC EC A6 01 72 */ fmuls f5, f6, f5
/* 80221560 0021D1C0 EC A5 18 2A */ fadds f5, f5, f3
/* 80221564 0021D1C4 EC A5 10 2A */ fadds f5, f5, f2
/* 80221568 0021D1C8 EC A5 08 2A */ fadds f5, f5, f1
/* 8022156C 0021D1CC EC 05 00 32 */ fmuls f0, f5, f0
/* 80221570 0021D1D0 FC 00 00 1E */ fctiwz f0, f0
/* 80221574 0021D1D4 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80221578 0021D1D8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8022157C 0021D1DC B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80221580 0021D1E0 48 00 00 14 */ b lbl_80221594
lbl_80221584:
/* 80221584 0021D1E4 80 83 00 00 */ lwz r4, 0(r3)
/* 80221588 0021D1E8 55 00 0B FC */ rlwinm r0, r8, 1, 0xf, 0x1e
/* 8022158C 0021D1EC 7C 04 02 2E */ lhzx r0, r4, r0
/* 80221590 0021D1F0 B0 03 00 1C */ sth r0, 0x1c(r3)
lbl_80221594:
/* 80221594 0021D1F4 38 21 00 20 */ addi r1, r1, 0x20
/* 80221598 0021D1F8 4E 80 00 20 */ blr
.global func_8022159C
func_8022159C:
/* 8022159C 0021D1FC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802215A0 0021D200 7C 08 02 A6 */ mflr r0
/* 802215A4 0021D204 90 01 00 34 */ stw r0, 0x34(r1)
/* 802215A8 0021D208 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802215AC 0021D20C 7C 7F 1B 78 */ mr r31, r3
/* 802215B0 0021D210 A0 04 00 00 */ lhz r0, 0(r4)
/* 802215B4 0021D214 A0 C4 00 02 */ lhz r6, 2(r4)
/* 802215B8 0021D218 2C 00 00 01 */ cmpwi r0, 1
/* 802215BC 0021D21C 41 82 00 18 */ beq lbl_802215D4
/* 802215C0 0021D220 40 80 00 08 */ bge lbl_802215C8
/* 802215C4 0021D224 48 00 00 D8 */ b lbl_8022169C
lbl_802215C8:
/* 802215C8 0021D228 2C 00 00 03 */ cmpwi r0, 3
/* 802215CC 0021D22C 40 80 00 D0 */ bge lbl_8022169C
/* 802215D0 0021D230 48 00 00 5C */ b lbl_8022162C
lbl_802215D4:
/* 802215D4 0021D234 C0 44 00 08 */ lfs f2, 8(r4)
/* 802215D8 0021D238 54 C4 23 36 */ rlwinm r4, r6, 4, 0xc, 0x1b
/* 802215DC 0021D23C C0 05 00 08 */ lfs f0, 8(r5)
/* 802215E0 0021D240 EC 21 10 28 */ fsubs f1, f1, f2
/* 802215E4 0021D244 A0 05 00 02 */ lhz r0, 2(r5)
/* 802215E8 0021D248 EC 00 10 28 */ fsubs f0, f0, f2
/* 802215EC 0021D24C 80 C3 00 00 */ lwz r6, 0(r3)
/* 802215F0 0021D250 54 00 20 36 */ slwi r0, r0, 4
/* 802215F4 0021D254 38 A1 00 18 */ addi r5, r1, 0x18
/* 802215F8 0021D258 EC 21 00 24 */ fdivs f1, f1, f0
/* 802215FC 0021D25C 7C 66 22 14 */ add r3, r6, r4
/* 80221600 0021D260 7C 86 02 14 */ add r4, r6, r0
/* 80221604 0021D264 48 05 BD 8D */ bl C_QUATSlerp
/* 80221608 0021D268 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8022160C 0021D26C D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80221610 0021D270 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80221614 0021D274 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 80221618 0021D278 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8022161C 0021D27C D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 80221620 0021D280 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80221624 0021D284 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80221628 0021D288 48 00 00 9C */ b lbl_802216C4
lbl_8022162C:
/* 8022162C 0021D28C C0 44 00 08 */ lfs f2, 8(r4)
/* 80221630 0021D290 54 C8 23 36 */ rlwinm r8, r6, 4, 0xc, 0x1b
/* 80221634 0021D294 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221638 0021D298 38 E1 00 08 */ addi r7, r1, 8
/* 8022163C 0021D29C EC 21 10 28 */ fsubs f1, f1, f2
/* 80221640 0021D2A0 A0 C5 00 02 */ lhz r6, 2(r5)
/* 80221644 0021D2A4 EC 00 10 28 */ fsubs f0, f0, f2
/* 80221648 0021D2A8 A0 05 00 04 */ lhz r0, 4(r5)
/* 8022164C 0021D2AC A0 84 00 06 */ lhz r4, 6(r4)
/* 80221650 0021D2B0 54 C6 20 36 */ slwi r6, r6, 4
/* 80221654 0021D2B4 EC 21 00 24 */ fdivs f1, f1, f0
/* 80221658 0021D2B8 81 23 00 00 */ lwz r9, 0(r3)
/* 8022165C 0021D2BC 54 85 20 36 */ slwi r5, r4, 4
/* 80221660 0021D2C0 54 00 20 36 */ slwi r0, r0, 4
/* 80221664 0021D2C4 7C 89 32 14 */ add r4, r9, r6
/* 80221668 0021D2C8 7C 69 42 14 */ add r3, r9, r8
/* 8022166C 0021D2CC 7C A9 2A 14 */ add r5, r9, r5
/* 80221670 0021D2D0 7C C9 02 14 */ add r6, r9, r0
/* 80221674 0021D2D4 48 05 BE B9 */ bl C_QUATSquad
/* 80221678 0021D2D8 C0 01 00 08 */ lfs f0, 8(r1)
/* 8022167C 0021D2DC D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80221680 0021D2E0 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80221684 0021D2E4 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 80221688 0021D2E8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8022168C 0021D2EC D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 80221690 0021D2F0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80221694 0021D2F4 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80221698 0021D2F8 48 00 00 2C */ b lbl_802216C4
lbl_8022169C:
/* 8022169C 0021D2FC 54 C0 23 36 */ rlwinm r0, r6, 4, 0xc, 0x1b
/* 802216A0 0021D300 80 83 00 00 */ lwz r4, 0(r3)
/* 802216A4 0021D304 7C 04 04 6E */ lfsux f0, r4, r0
/* 802216A8 0021D308 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802216AC 0021D30C C0 04 00 04 */ lfs f0, 4(r4)
/* 802216B0 0021D310 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802216B4 0021D314 C0 04 00 08 */ lfs f0, 8(r4)
/* 802216B8 0021D318 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802216BC 0021D31C C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802216C0 0021D320 D0 03 00 28 */ stfs f0, 0x28(r3)
lbl_802216C4:
/* 802216C4 0021D324 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802216C8 0021D328 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802216CC 0021D32C 7C 08 03 A6 */ mtlr r0
/* 802216D0 0021D330 38 21 00 30 */ addi r1, r1, 0x30
/* 802216D4 0021D334 4E 80 00 20 */ blr
.global func_802216D8
func_802216D8:
/* 802216D8 0021D338 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802216DC 0021D33C 3C C0 43 30 */ lis r6, 0x4330
/* 802216E0 0021D340 A0 04 00 00 */ lhz r0, 0(r4)
/* 802216E4 0021D344 90 C1 00 30 */ stw r6, 0x30(r1)
/* 802216E8 0021D348 2C 00 00 01 */ cmpwi r0, 1
/* 802216EC 0021D34C A0 E4 00 02 */ lhz r7, 2(r4)
/* 802216F0 0021D350 90 C1 00 38 */ stw r6, 0x38(r1)
/* 802216F4 0021D354 41 82 00 18 */ beq lbl_8022170C
/* 802216F8 0021D358 40 80 00 08 */ bge lbl_80221700
/* 802216FC 0021D35C 48 00 02 DC */ b lbl_802219D8
lbl_80221700:
/* 80221700 0021D360 2C 00 00 03 */ cmpwi r0, 3
/* 80221704 0021D364 40 80 02 D4 */ bge lbl_802219D8
/* 80221708 0021D368 48 00 01 0C */ b lbl_80221814
lbl_8022170C:
/* 8022170C 0021D36C C0 44 00 08 */ lfs f2, 8(r4)
/* 80221710 0021D370 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d
/* 80221714 0021D374 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221718 0021D378 EC 21 10 28 */ fsubs f1, f1, f2
/* 8022171C 0021D37C A0 85 00 02 */ lhz r4, 2(r5)
/* 80221720 0021D380 EC 00 10 28 */ fsubs f0, f0, f2
/* 80221724 0021D384 80 C3 00 00 */ lwz r6, 0(r3)
/* 80221728 0021D388 54 84 10 3A */ slwi r4, r4, 2
/* 8022172C 0021D38C 7C A6 02 14 */ add r5, r6, r0
/* 80221730 0021D390 EC 81 00 24 */ fdivs f4, f1, f0
/* 80221734 0021D394 7C 06 00 AE */ lbzx r0, r6, r0
/* 80221738 0021D398 98 01 00 0F */ stb r0, 0xf(r1)
/* 8022173C 0021D39C E0 21 A0 0F */ psq_l f1, 15(r1), 1, qr2
/* 80221740 0021D3A0 C0 02 9B F8 */ lfs f0, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221744 0021D3A4 7C 04 30 EE */ lbzux r0, r4, r6
/* 80221748 0021D3A8 EC 40 20 28 */ fsubs f2, f0, f4
/* 8022174C 0021D3AC 98 01 00 0E */ stb r0, 0xe(r1)
/* 80221750 0021D3B0 EC 62 00 72 */ fmuls f3, f2, f1
/* 80221754 0021D3B4 E0 01 A0 0E */ psq_l f0, 14(r1), 1, qr2
/* 80221758 0021D3B8 C0 22 9C 10 */ lfs f1, lbl_80642210-_SDA2_BASE_(r2)
/* 8022175C 0021D3BC EC 04 00 32 */ fmuls f0, f4, f0
/* 80221760 0021D3C0 EC 63 00 2A */ fadds f3, f3, f0
/* 80221764 0021D3C4 EC 01 18 2A */ fadds f0, f1, f3
/* 80221768 0021D3C8 F0 01 A0 2C */ psq_st f0, 44(r1), 1, qr2
/* 8022176C 0021D3CC 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80221770 0021D3D0 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80221774 0021D3D4 88 05 00 01 */ lbz r0, 1(r5)
/* 80221778 0021D3D8 98 01 00 0D */ stb r0, 0xd(r1)
/* 8022177C 0021D3DC E0 01 A0 0D */ psq_l f0, 13(r1), 1, qr2
/* 80221780 0021D3E0 88 04 00 01 */ lbz r0, 1(r4)
/* 80221784 0021D3E4 EC 62 00 32 */ fmuls f3, f2, f0
/* 80221788 0021D3E8 98 01 00 0C */ stb r0, 0xc(r1)
/* 8022178C 0021D3EC E0 01 A0 0C */ psq_l f0, 12(r1), 1, qr2
/* 80221790 0021D3F0 EC 04 00 32 */ fmuls f0, f4, f0
/* 80221794 0021D3F4 EC 63 00 2A */ fadds f3, f3, f0
/* 80221798 0021D3F8 EC 01 18 2A */ fadds f0, f1, f3
/* 8022179C 0021D3FC F0 01 A0 28 */ psq_st f0, 40(r1), 1, qr2
/* 802217A0 0021D400 88 01 00 28 */ lbz r0, 0x28(r1)
/* 802217A4 0021D404 98 03 00 1D */ stb r0, 0x1d(r3)
/* 802217A8 0021D408 88 05 00 02 */ lbz r0, 2(r5)
/* 802217AC 0021D40C 98 01 00 0B */ stb r0, 0xb(r1)
/* 802217B0 0021D410 E0 01 A0 0B */ psq_l f0, 11(r1), 1, qr2
/* 802217B4 0021D414 88 04 00 02 */ lbz r0, 2(r4)
/* 802217B8 0021D418 EC 62 00 32 */ fmuls f3, f2, f0
/* 802217BC 0021D41C 98 01 00 0A */ stb r0, 0xa(r1)
/* 802217C0 0021D420 E0 01 A0 0A */ psq_l f0, 10(r1), 1, qr2
/* 802217C4 0021D424 EC 04 00 32 */ fmuls f0, f4, f0
/* 802217C8 0021D428 EC 63 00 2A */ fadds f3, f3, f0
/* 802217CC 0021D42C EC 01 18 2A */ fadds f0, f1, f3
/* 802217D0 0021D430 F0 01 A0 24 */ psq_st f0, 36(r1), 1, qr2
/* 802217D4 0021D434 88 01 00 24 */ lbz r0, 0x24(r1)
/* 802217D8 0021D438 98 03 00 1E */ stb r0, 0x1e(r3)
/* 802217DC 0021D43C 88 05 00 03 */ lbz r0, 3(r5)
/* 802217E0 0021D440 98 01 00 09 */ stb r0, 9(r1)
/* 802217E4 0021D444 E0 01 A0 09 */ psq_l f0, 9(r1), 1, qr2
/* 802217E8 0021D448 88 04 00 03 */ lbz r0, 3(r4)
/* 802217EC 0021D44C EC 42 00 32 */ fmuls f2, f2, f0
/* 802217F0 0021D450 98 01 00 08 */ stb r0, 8(r1)
/* 802217F4 0021D454 E0 01 A0 08 */ psq_l f0, 8(r1), 1, qr2
/* 802217F8 0021D458 EC 04 00 32 */ fmuls f0, f4, f0
/* 802217FC 0021D45C EC 42 00 2A */ fadds f2, f2, f0
/* 80221800 0021D460 EC 01 10 2A */ fadds f0, f1, f2
/* 80221804 0021D464 F0 01 A0 20 */ psq_st f0, 32(r1), 1, qr2
/* 80221808 0021D468 88 01 00 20 */ lbz r0, 0x20(r1)
/* 8022180C 0021D46C 98 03 00 1F */ stb r0, 0x1f(r3)
/* 80221810 0021D470 48 00 01 F0 */ b lbl_80221A00
lbl_80221814:
/* 80221814 0021D474 C0 44 00 08 */ lfs f2, 8(r4)
/* 80221818 0021D478 54 E6 13 BA */ rlwinm r6, r7, 2, 0xe, 0x1d
/* 8022181C 0021D47C C0 05 00 08 */ lfs f0, 8(r5)
/* 80221820 0021D480 EC 21 10 28 */ fsubs f1, f1, f2
/* 80221824 0021D484 A0 05 00 02 */ lhz r0, 2(r5)
/* 80221828 0021D488 EC 00 10 28 */ fsubs f0, f0, f2
/* 8022182C 0021D48C 80 E3 00 00 */ lwz r7, 0(r3)
/* 80221830 0021D490 A1 04 00 06 */ lhz r8, 6(r4)
/* 80221834 0021D494 54 00 10 3A */ slwi r0, r0, 2
/* 80221838 0021D498 ED 41 00 24 */ fdivs f10, f1, f0
/* 8022183C 0021D49C 7C 87 30 AE */ lbzx r4, r7, r6
/* 80221840 0021D4A0 7D 27 32 14 */ add r9, r7, r6
/* 80221844 0021D4A4 7C 07 00 EE */ lbzux r0, r7, r0
/* 80221848 0021D4A8 90 81 00 34 */ stw r4, 0x34(r1)
/* 8022184C 0021D4AC 55 06 20 36 */ slwi r6, r8, 4
/* 80221850 0021D4B0 EC AA 02 B2 */ fmuls f5, f10, f10
/* 80221854 0021D4B4 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80221858 0021D4B8 80 83 00 04 */ lwz r4, 4(r3)
/* 8022185C 0021D4BC A0 05 00 04 */ lhz r0, 4(r5)
/* 80221860 0021D4C0 EC 25 02 B2 */ fmuls f1, f5, f10
/* 80221864 0021D4C4 C0 C2 9B F8 */ lfs f6, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221868 0021D4C8 EC 05 28 2A */ fadds f0, f5, f5
/* 8022186C 0021D4CC 54 00 20 36 */ slwi r0, r0, 4
/* 80221870 0021D4D0 C8 81 00 30 */ lfd f4, 0x30(r1)
/* 80221874 0021D4D4 7C A4 02 14 */ add r5, r4, r0
/* 80221878 0021D4D8 EC 41 28 28 */ fsubs f2, f1, f5
/* 8022187C 0021D4DC 7D 24 04 2E */ lfsx f9, r4, r0
/* 80221880 0021D4E0 EC 00 08 28 */ fsubs f0, f0, f1
/* 80221884 0021D4E4 C8 22 9C 08 */ lfd f1, lbl_80642208-_SDA2_BASE_(r2)
/* 80221888 0021D4E8 7D 06 24 6E */ lfsux f8, r6, r4
/* 8022188C 0021D4EC EC A2 28 28 */ fsubs f5, f2, f5
/* 80221890 0021D4F0 EC 60 10 28 */ fsubs f3, f0, f2
/* 80221894 0021D4F4 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 80221898 0021D4F8 EC E4 08 28 */ fsubs f7, f4, f1
/* 8022189C 0021D4FC EC AA 28 2A */ fadds f5, f10, f5
/* 802218A0 0021D500 EC 86 18 28 */ fsubs f4, f6, f3
/* 802218A4 0021D504 EC C0 08 28 */ fsubs f6, f0, f1
/* 802218A8 0021D508 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 802218AC 0021D50C ED 08 01 72 */ fmuls f8, f8, f5
/* 802218B0 0021D510 EC E7 01 32 */ fmuls f7, f7, f4
/* 802218B4 0021D514 EC C6 00 F2 */ fmuls f6, f6, f3
/* 802218B8 0021D518 ED 29 00 B2 */ fmuls f9, f9, f2
/* 802218BC 0021D51C EC C7 30 2A */ fadds f6, f7, f6
/* 802218C0 0021D520 EC C8 30 2A */ fadds f6, f8, f6
/* 802218C4 0021D524 EC C9 30 2A */ fadds f6, f9, f6
/* 802218C8 0021D528 EC C0 30 2A */ fadds f6, f0, f6
/* 802218CC 0021D52C F0 C1 A0 1C */ psq_st f6, 28(r1), 1, qr2
/* 802218D0 0021D530 88 01 00 1C */ lbz r0, 0x1c(r1)
/* 802218D4 0021D534 98 03 00 1C */ stb r0, 0x1c(r3)
/* 802218D8 0021D538 88 89 00 01 */ lbz r4, 1(r9)
/* 802218DC 0021D53C 88 07 00 01 */ lbz r0, 1(r7)
/* 802218E0 0021D540 90 81 00 34 */ stw r4, 0x34(r1)
/* 802218E4 0021D544 C0 C6 00 04 */ lfs f6, 4(r6)
/* 802218E8 0021D548 C8 E1 00 30 */ lfd f7, 0x30(r1)
/* 802218EC 0021D54C 90 01 00 3C */ stw r0, 0x3c(r1)
/* 802218F0 0021D550 ED 06 01 72 */ fmuls f8, f6, f5
/* 802218F4 0021D554 EC E7 08 28 */ fsubs f7, f7, f1
/* 802218F8 0021D558 C1 25 00 04 */ lfs f9, 4(r5)
/* 802218FC 0021D55C C8 C1 00 38 */ lfd f6, 0x38(r1)
/* 80221900 0021D560 ED 29 00 B2 */ fmuls f9, f9, f2
/* 80221904 0021D564 EC C6 08 28 */ fsubs f6, f6, f1
/* 80221908 0021D568 EC E7 01 32 */ fmuls f7, f7, f4
/* 8022190C 0021D56C EC C6 00 F2 */ fmuls f6, f6, f3
/* 80221910 0021D570 EC C7 30 2A */ fadds f6, f7, f6
/* 80221914 0021D574 EC C8 30 2A */ fadds f6, f8, f6
/* 80221918 0021D578 EC C9 30 2A */ fadds f6, f9, f6
/* 8022191C 0021D57C EC C0 30 2A */ fadds f6, f0, f6
/* 80221920 0021D580 F0 C1 A0 18 */ psq_st f6, 24(r1), 1, qr2
/* 80221924 0021D584 88 01 00 18 */ lbz r0, 0x18(r1)
/* 80221928 0021D588 98 03 00 1D */ stb r0, 0x1d(r3)
/* 8022192C 0021D58C 88 89 00 02 */ lbz r4, 2(r9)
/* 80221930 0021D590 88 07 00 02 */ lbz r0, 2(r7)
/* 80221934 0021D594 90 81 00 34 */ stw r4, 0x34(r1)
/* 80221938 0021D598 C0 C6 00 08 */ lfs f6, 8(r6)
/* 8022193C 0021D59C C8 E1 00 30 */ lfd f7, 0x30(r1)
/* 80221940 0021D5A0 C1 25 00 08 */ lfs f9, 8(r5)
/* 80221944 0021D5A4 ED 06 01 72 */ fmuls f8, f6, f5
/* 80221948 0021D5A8 90 01 00 3C */ stw r0, 0x3c(r1)
/* 8022194C 0021D5AC EC E7 08 28 */ fsubs f7, f7, f1
/* 80221950 0021D5B0 ED 29 00 B2 */ fmuls f9, f9, f2
/* 80221954 0021D5B4 C8 C1 00 38 */ lfd f6, 0x38(r1)
/* 80221958 0021D5B8 EC E7 01 32 */ fmuls f7, f7, f4
/* 8022195C 0021D5BC EC C6 08 28 */ fsubs f6, f6, f1
/* 80221960 0021D5C0 EC C6 00 F2 */ fmuls f6, f6, f3
/* 80221964 0021D5C4 EC C7 30 2A */ fadds f6, f7, f6
/* 80221968 0021D5C8 EC C8 30 2A */ fadds f6, f8, f6
/* 8022196C 0021D5CC EC C9 30 2A */ fadds f6, f9, f6
/* 80221970 0021D5D0 EC C0 30 2A */ fadds f6, f0, f6
/* 80221974 0021D5D4 F0 C1 A0 14 */ psq_st f6, 20(r1), 1, qr2
/* 80221978 0021D5D8 88 01 00 14 */ lbz r0, 0x14(r1)
/* 8022197C 0021D5DC 98 03 00 1E */ stb r0, 0x1e(r3)
/* 80221980 0021D5E0 88 89 00 03 */ lbz r4, 3(r9)
/* 80221984 0021D5E4 88 07 00 03 */ lbz r0, 3(r7)
/* 80221988 0021D5E8 90 81 00 34 */ stw r4, 0x34(r1)
/* 8022198C 0021D5EC C0 E6 00 0C */ lfs f7, 0xc(r6)
/* 80221990 0021D5F0 C8 C1 00 30 */ lfd f6, 0x30(r1)
/* 80221994 0021D5F4 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80221998 0021D5F8 EC E7 01 72 */ fmuls f7, f7, f5
/* 8022199C 0021D5FC EC C6 08 28 */ fsubs f6, f6, f1
/* 802219A0 0021D600 C1 05 00 0C */ lfs f8, 0xc(r5)
/* 802219A4 0021D604 C8 A1 00 38 */ lfd f5, 0x38(r1)
/* 802219A8 0021D608 EC 25 08 28 */ fsubs f1, f5, f1
/* 802219AC 0021D60C EC A8 00 B2 */ fmuls f5, f8, f2
/* 802219B0 0021D610 EC 46 01 32 */ fmuls f2, f6, f4
/* 802219B4 0021D614 EC 21 00 F2 */ fmuls f1, f1, f3
/* 802219B8 0021D618 EC 22 08 2A */ fadds f1, f2, f1
/* 802219BC 0021D61C EC 27 08 2A */ fadds f1, f7, f1
/* 802219C0 0021D620 EC 25 08 2A */ fadds f1, f5, f1
/* 802219C4 0021D624 EC 00 08 2A */ fadds f0, f0, f1
/* 802219C8 0021D628 F0 01 A0 10 */ psq_st f0, 16(r1), 1, qr2
/* 802219CC 0021D62C 88 01 00 10 */ lbz r0, 0x10(r1)
/* 802219D0 0021D630 98 03 00 1F */ stb r0, 0x1f(r3)
/* 802219D4 0021D634 48 00 00 2C */ b lbl_80221A00
lbl_802219D8:
/* 802219D8 0021D638 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d
/* 802219DC 0021D63C 80 83 00 00 */ lwz r4, 0(r3)
/* 802219E0 0021D640 7C 04 00 EE */ lbzux r0, r4, r0
/* 802219E4 0021D644 98 03 00 1C */ stb r0, 0x1c(r3)
/* 802219E8 0021D648 88 04 00 01 */ lbz r0, 1(r4)
/* 802219EC 0021D64C 98 03 00 1D */ stb r0, 0x1d(r3)
/* 802219F0 0021D650 88 04 00 02 */ lbz r0, 2(r4)
/* 802219F4 0021D654 98 03 00 1E */ stb r0, 0x1e(r3)
/* 802219F8 0021D658 88 04 00 03 */ lbz r0, 3(r4)
/* 802219FC 0021D65C 98 03 00 1F */ stb r0, 0x1f(r3)
lbl_80221A00:
/* 80221A00 0021D660 38 21 00 40 */ addi r1, r1, 0x40
/* 80221A04 0021D664 4E 80 00 20 */ blr
.global func_80221A08
func_80221A08:
/* 80221A08 0021D668 A0 04 00 00 */ lhz r0, 0(r4)
/* 80221A0C 0021D66C A0 C4 00 02 */ lhz r6, 2(r4)
/* 80221A10 0021D670 2C 00 00 01 */ cmpwi r0, 1
/* 80221A14 0021D674 41 82 00 18 */ beq lbl_80221A2C
/* 80221A18 0021D678 40 80 00 08 */ bge lbl_80221A20
/* 80221A1C 0021D67C 48 00 00 FC */ b lbl_80221B18
lbl_80221A20:
/* 80221A20 0021D680 2C 00 00 03 */ cmpwi r0, 3
/* 80221A24 0021D684 40 80 00 F4 */ bge lbl_80221B18
/* 80221A28 0021D688 48 00 00 50 */ b lbl_80221A78
lbl_80221A2C:
/* 80221A2C 0021D68C C0 44 00 08 */ lfs f2, 8(r4)
/* 80221A30 0021D690 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d
/* 80221A34 0021D694 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221A38 0021D698 EC 61 10 28 */ fsubs f3, f1, f2
/* 80221A3C 0021D69C C0 22 9B F8 */ lfs f1, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221A40 0021D6A0 EC 40 10 28 */ fsubs f2, f0, f2
/* 80221A44 0021D6A4 80 83 00 00 */ lwz r4, 0(r3)
/* 80221A48 0021D6A8 7C 04 04 2E */ lfsx f0, r4, r0
/* 80221A4C 0021D6AC EC 43 10 24 */ fdivs f2, f3, f2
/* 80221A50 0021D6B0 EC 21 10 28 */ fsubs f1, f1, f2
/* 80221A54 0021D6B4 EC 21 00 32 */ fmuls f1, f1, f0
/* 80221A58 0021D6B8 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80221A5C 0021D6BC A0 05 00 02 */ lhz r0, 2(r5)
/* 80221A60 0021D6C0 54 00 10 3A */ slwi r0, r0, 2
/* 80221A64 0021D6C4 7C 04 04 2E */ lfsx f0, r4, r0
/* 80221A68 0021D6C8 EC 02 00 32 */ fmuls f0, f2, f0
/* 80221A6C 0021D6CC EC 01 00 2A */ fadds f0, f1, f0
/* 80221A70 0021D6D0 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80221A74 0021D6D4 4E 80 00 20 */ blr
lbl_80221A78:
/* 80221A78 0021D6D8 C0 44 00 08 */ lfs f2, 8(r4)
/* 80221A7C 0021D6DC 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d
/* 80221A80 0021D6E0 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221A84 0021D6E4 EC 61 10 28 */ fsubs f3, f1, f2
/* 80221A88 0021D6E8 80 E3 00 00 */ lwz r7, 0(r3)
/* 80221A8C 0021D6EC EC 20 10 28 */ fsubs f1, f0, f2
/* 80221A90 0021D6F0 C0 42 9B F8 */ lfs f2, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221A94 0021D6F4 7C 07 04 2E */ lfsx f0, r7, r0
/* 80221A98 0021D6F8 80 C3 00 04 */ lwz r6, 4(r3)
/* 80221A9C 0021D6FC EC 83 08 24 */ fdivs f4, f3, f1
/* 80221AA0 0021D700 EC A4 01 32 */ fmuls f5, f4, f4
/* 80221AA4 0021D704 EC 65 01 32 */ fmuls f3, f5, f4
/* 80221AA8 0021D708 EC 25 28 2A */ fadds f1, f5, f5
/* 80221AAC 0021D70C EC C3 28 28 */ fsubs f6, f3, f5
/* 80221AB0 0021D710 EC 61 18 28 */ fsubs f3, f1, f3
/* 80221AB4 0021D714 EC 26 28 28 */ fsubs f1, f6, f5
/* 80221AB8 0021D718 EC 63 30 28 */ fsubs f3, f3, f6
/* 80221ABC 0021D71C EC 84 08 2A */ fadds f4, f4, f1
/* 80221AC0 0021D720 EC 22 18 28 */ fsubs f1, f2, f3
/* 80221AC4 0021D724 EC 21 00 32 */ fmuls f1, f1, f0
/* 80221AC8 0021D728 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80221ACC 0021D72C A0 05 00 02 */ lhz r0, 2(r5)
/* 80221AD0 0021D730 54 00 10 3A */ slwi r0, r0, 2
/* 80221AD4 0021D734 7C 07 04 2E */ lfsx f0, r7, r0
/* 80221AD8 0021D738 EC 03 00 32 */ fmuls f0, f3, f0
/* 80221ADC 0021D73C EC 21 00 2A */ fadds f1, f1, f0
/* 80221AE0 0021D740 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80221AE4 0021D744 A0 04 00 06 */ lhz r0, 6(r4)
/* 80221AE8 0021D748 54 00 10 3A */ slwi r0, r0, 2
/* 80221AEC 0021D74C 7C 06 04 2E */ lfsx f0, r6, r0
/* 80221AF0 0021D750 EC 04 00 32 */ fmuls f0, f4, f0
/* 80221AF4 0021D754 EC 21 00 2A */ fadds f1, f1, f0
/* 80221AF8 0021D758 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80221AFC 0021D75C A0 05 00 04 */ lhz r0, 4(r5)
/* 80221B00 0021D760 54 00 10 3A */ slwi r0, r0, 2
/* 80221B04 0021D764 7C 06 04 2E */ lfsx f0, r6, r0
/* 80221B08 0021D768 EC 06 00 32 */ fmuls f0, f6, f0
/* 80221B0C 0021D76C EC 01 00 2A */ fadds f0, f1, f0
/* 80221B10 0021D770 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80221B14 0021D774 4E 80 00 20 */ blr
lbl_80221B18:
/* 80221B18 0021D778 80 83 00 00 */ lwz r4, 0(r3)
/* 80221B1C 0021D77C 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d
/* 80221B20 0021D780 7C 04 04 2E */ lfsx f0, r4, r0
/* 80221B24 0021D784 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80221B28 0021D788 4E 80 00 20 */ blr
.global func_80221B2C
func_80221B2C:
/* 80221B2C 0021D78C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80221B30 0021D790 7C 08 02 A6 */ mflr r0
/* 80221B34 0021D794 90 01 00 34 */ stw r0, 0x34(r1)
/* 80221B38 0021D798 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80221B3C 0021D79C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80221B40 0021D7A0 FF E0 08 90 */ fmr f31, f1
/* 80221B44 0021D7A4 7C 86 23 78 */ mr r6, r4
/* 80221B48 0021D7A8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80221B4C 0021D7AC 7C 7F 1B 78 */ mr r31, r3
/* 80221B50 0021D7B0 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80221B54 0021D7B4 2C 07 00 00 */ cmpwi r7, 0
/* 80221B58 0021D7B8 40 82 00 A8 */ bne lbl_80221C00
/* 80221B5C 0021D7BC C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80221B60 0021D7C0 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80221B64 0021D7C4 40 82 00 0C */ bne lbl_80221B70
/* 80221B68 0021D7C8 C0 23 00 1C */ lfs f1, 0x1c(r3)
/* 80221B6C 0021D7CC 48 00 01 A0 */ b lbl_80221D0C
lbl_80221B70:
/* 80221B70 0021D7D0 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80221B74 0021D7D4 3C 00 43 30 */ lis r0, 0x4330
/* 80221B78 0021D7D8 90 01 00 08 */ stw r0, 8(r1)
/* 80221B7C 0021D7DC 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80221B80 0021D7E0 C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80221B84 0021D7E4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80221B88 0021D7E8 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80221B8C 0021D7EC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80221B90 0021D7F0 C8 41 00 08 */ lfd f2, 8(r1)
/* 80221B94 0021D7F4 EC 42 18 28 */ fsubs f2, f2, f3
/* 80221B98 0021D7F8 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80221B9C 0021D7FC EC 00 08 2A */ fadds f0, f0, f1
/* 80221BA0 0021D800 FC 00 00 1E */ fctiwz f0, f0
/* 80221BA4 0021D804 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80221BA8 0021D808 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80221BAC 0021D80C 2C 00 00 00 */ cmpwi r0, 0
/* 80221BB0 0021D810 41 81 00 14 */ bgt lbl_80221BC4
/* 80221BB4 0021D814 80 83 00 00 */ lwz r4, 0(r3)
/* 80221BB8 0021D818 C0 04 00 00 */ lfs f0, 0(r4)
/* 80221BBC 0021D81C D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80221BC0 0021D820 48 00 00 38 */ b lbl_80221BF8
lbl_80221BC4:
/* 80221BC4 0021D824 A0 83 00 08 */ lhz r4, 8(r3)
/* 80221BC8 0021D828 7C 00 20 00 */ cmpw r0, r4
/* 80221BCC 0021D82C 41 80 00 1C */ blt lbl_80221BE8
/* 80221BD0 0021D830 38 04 FF FF */ addi r0, r4, -1
/* 80221BD4 0021D834 80 83 00 00 */ lwz r4, 0(r3)
/* 80221BD8 0021D838 54 00 10 3A */ slwi r0, r0, 2
/* 80221BDC 0021D83C 7C 04 04 2E */ lfsx f0, r4, r0
/* 80221BE0 0021D840 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80221BE4 0021D844 48 00 00 14 */ b lbl_80221BF8
lbl_80221BE8:
/* 80221BE8 0021D848 80 83 00 00 */ lwz r4, 0(r3)
/* 80221BEC 0021D84C 54 00 10 3A */ slwi r0, r0, 2
/* 80221BF0 0021D850 7C 04 04 2E */ lfsx f0, r4, r0
/* 80221BF4 0021D854 D0 03 00 1C */ stfs f0, 0x1c(r3)
lbl_80221BF8:
/* 80221BF8 0021D858 C0 23 00 1C */ lfs f1, 0x1c(r3)
/* 80221BFC 0021D85C 48 00 01 10 */ b lbl_80221D0C
lbl_80221C00:
/* 80221C00 0021D860 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80221C04 0021D864 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80221C08 0021D868 4C 40 13 82 */ cror 2, 0, 2
/* 80221C0C 0021D86C 40 82 00 24 */ bne lbl_80221C30
/* 80221C10 0021D870 A0 07 00 00 */ lhz r0, 0(r7)
/* 80221C14 0021D874 2C 00 00 00 */ cmpwi r0, 0
/* 80221C18 0021D878 40 82 00 18 */ bne lbl_80221C30
/* 80221C1C 0021D87C A0 07 00 02 */ lhz r0, 2(r7)
/* 80221C20 0021D880 80 63 00 00 */ lwz r3, 0(r3)
/* 80221C24 0021D884 54 00 10 3A */ slwi r0, r0, 2
/* 80221C28 0021D888 7C 23 04 2E */ lfsx f1, r3, r0
/* 80221C2C 0021D88C 48 00 00 E0 */ b lbl_80221D0C
lbl_80221C30:
/* 80221C30 0021D890 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80221C34 0021D894 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80221C38 0021D898 4C 41 13 82 */ cror 2, 1, 2
/* 80221C3C 0021D89C 40 82 00 28 */ bne lbl_80221C64
/* 80221C40 0021D8A0 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 80221C44 0021D8A4 80 A3 00 00 */ lwz r5, 0(r3)
/* 80221C48 0021D8A8 38 04 FF FF */ addi r0, r4, -1
/* 80221C4C 0021D8AC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80221C50 0021D8B0 7C 67 02 14 */ add r3, r7, r0
/* 80221C54 0021D8B4 A0 03 00 02 */ lhz r0, 2(r3)
/* 80221C58 0021D8B8 54 00 10 3A */ slwi r0, r0, 2
/* 80221C5C 0021D8BC 7C 25 04 2E */ lfsx f1, r5, r0
/* 80221C60 0021D8C0 48 00 00 AC */ b lbl_80221D0C
lbl_80221C64:
/* 80221C64 0021D8C4 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 80221C68 0021D8C8 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 80221C6C 0021D8CC EC 41 10 28 */ fsubs f2, f1, f2
/* 80221C70 0021D8D0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80221C74 0021D8D4 40 80 00 18 */ bge lbl_80221C8C
/* 80221C78 0021D8D8 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 80221C7C 0021D8DC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80221C80 0021D8E0 40 81 00 0C */ ble lbl_80221C8C
/* 80221C84 0021D8E4 C0 23 00 1C */ lfs f1, 0x1c(r3)
/* 80221C88 0021D8E8 48 00 00 84 */ b lbl_80221D0C
lbl_80221C8C:
/* 80221C8C 0021D8EC A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80221C90 0021D8F0 2C 00 00 00 */ cmpwi r0, 0
/* 80221C94 0021D8F4 41 82 00 20 */ beq lbl_80221CB4
/* 80221C98 0021D8F8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80221C9C 0021D8FC 7C 87 02 14 */ add r4, r7, r0
/* 80221CA0 0021D900 C0 04 00 08 */ lfs f0, 8(r4)
/* 80221CA4 0021D904 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80221CA8 0021D908 40 80 00 0C */ bge lbl_80221CB4
/* 80221CAC 0021D90C 38 00 00 00 */ li r0, 0
/* 80221CB0 0021D910 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80221CB4:
/* 80221CB4 0021D914 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80221CB8 0021D918 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80221CBC 0021D91C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80221CC0 0021D920 7C 84 02 14 */ add r4, r4, r0
/* 80221CC4 0021D924 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80221CC8 0021D928 38 A4 00 0C */ addi r5, r4, 0xc
/* 80221CCC 0021D92C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80221CD0 0021D930 40 80 00 28 */ bge lbl_80221CF8
/* 80221CD4 0021D934 48 00 00 14 */ b lbl_80221CE8
lbl_80221CD8:
/* 80221CD8 0021D938 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80221CDC 0021D93C 38 A5 00 0C */ addi r5, r5, 0xc
/* 80221CE0 0021D940 38 04 00 01 */ addi r0, r4, 1
/* 80221CE4 0021D944 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80221CE8:
/* 80221CE8 0021D948 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221CEC 0021D94C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80221CF0 0021D950 41 80 FF E8 */ blt lbl_80221CD8
/* 80221CF4 0021D954 38 85 FF F4 */ addi r4, r5, -12
lbl_80221CF8:
/* 80221CF8 0021D958 FC 20 F8 90 */ fmr f1, f31
/* 80221CFC 0021D95C 7F E3 FB 78 */ mr r3, r31
/* 80221D00 0021D960 4B FF FD 09 */ bl func_80221A08
/* 80221D04 0021D964 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80221D08 0021D968 C0 3F 00 1C */ lfs f1, 0x1c(r31)
lbl_80221D0C:
/* 80221D0C 0021D96C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80221D10 0021D970 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80221D14 0021D974 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80221D18 0021D978 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80221D1C 0021D97C 7C 08 03 A6 */ mtlr r0
/* 80221D20 0021D980 38 21 00 30 */ addi r1, r1, 0x30
/* 80221D24 0021D984 4E 80 00 20 */ blr
.global func_80221D28
func_80221D28:
/* 80221D28 0021D988 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80221D2C 0021D98C A0 04 00 00 */ lhz r0, 0(r4)
/* 80221D30 0021D990 A0 C4 00 02 */ lhz r6, 2(r4)
/* 80221D34 0021D994 2C 00 00 01 */ cmpwi r0, 1
/* 80221D38 0021D998 41 82 00 18 */ beq lbl_80221D50
/* 80221D3C 0021D99C 40 80 00 08 */ bge lbl_80221D44
/* 80221D40 0021D9A0 48 00 02 2C */ b lbl_80221F6C
lbl_80221D44:
/* 80221D44 0021D9A4 2C 00 00 03 */ cmpwi r0, 3
/* 80221D48 0021D9A8 40 80 02 24 */ bge lbl_80221F6C
/* 80221D4C 0021D9AC 48 00 00 B4 */ b lbl_80221E00
lbl_80221D50:
/* 80221D50 0021D9B0 C0 44 00 08 */ lfs f2, 8(r4)
/* 80221D54 0021D9B4 54 C0 1B 78 */ rlwinm r0, r6, 3, 0xd, 0x1c
/* 80221D58 0021D9B8 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221D5C 0021D9BC EC 61 10 28 */ fsubs f3, f1, f2
/* 80221D60 0021D9C0 80 C3 00 00 */ lwz r6, 0(r3)
/* 80221D64 0021D9C4 EC 00 10 28 */ fsubs f0, f0, f2
/* 80221D68 0021D9C8 C0 42 9B F8 */ lfs f2, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221D6C 0021D9CC 7C 86 02 14 */ add r4, r6, r0
/* 80221D70 0021D9D0 C0 24 00 04 */ lfs f1, 4(r4)
/* 80221D74 0021D9D4 EC 83 00 24 */ fdivs f4, f3, f0
/* 80221D78 0021D9D8 7C 06 04 2E */ lfsx f0, r6, r0
/* 80221D7C 0021D9DC EC 42 20 28 */ fsubs f2, f2, f4
/* 80221D80 0021D9E0 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80221D84 0021D9E4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80221D88 0021D9E8 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 80221D8C 0021D9EC D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80221D90 0021D9F0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80221D94 0021D9F4 80 81 00 30 */ lwz r4, 0x30(r1)
/* 80221D98 0021D9F8 90 01 00 64 */ stw r0, 0x64(r1)
/* 80221D9C 0021D9FC 90 81 00 60 */ stw r4, 0x60(r1)
/* 80221DA0 0021DA00 C0 41 00 64 */ lfs f2, 0x64(r1)
/* 80221DA4 0021DA04 C0 61 00 60 */ lfs f3, 0x60(r1)
/* 80221DA8 0021DA08 D0 43 00 20 */ stfs f2, 0x20(r3)
/* 80221DAC 0021DA0C D0 63 00 1C */ stfs f3, 0x1c(r3)
/* 80221DB0 0021DA10 A0 05 00 02 */ lhz r0, 2(r5)
/* 80221DB4 0021DA14 54 00 18 38 */ slwi r0, r0, 3
/* 80221DB8 0021DA18 7C 86 02 14 */ add r4, r6, r0
/* 80221DBC 0021DA1C 7C 06 04 2E */ lfsx f0, r6, r0
/* 80221DC0 0021DA20 C0 24 00 04 */ lfs f1, 4(r4)
/* 80221DC4 0021DA24 EC 00 01 32 */ fmuls f0, f0, f4
/* 80221DC8 0021DA28 EC 21 01 32 */ fmuls f1, f1, f4
/* 80221DCC 0021DA2C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80221DD0 0021DA30 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80221DD4 0021DA34 80 81 00 28 */ lwz r4, 0x28(r1)
/* 80221DD8 0021DA38 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80221DDC 0021DA3C 90 81 00 58 */ stw r4, 0x58(r1)
/* 80221DE0 0021DA40 90 01 00 5C */ stw r0, 0x5c(r1)
/* 80221DE4 0021DA44 C0 21 00 58 */ lfs f1, 0x58(r1)
/* 80221DE8 0021DA48 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80221DEC 0021DA4C EC 23 08 2A */ fadds f1, f3, f1
/* 80221DF0 0021DA50 EC 02 00 2A */ fadds f0, f2, f0
/* 80221DF4 0021DA54 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80221DF8 0021DA58 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80221DFC 0021DA5C 48 00 01 88 */ b lbl_80221F84
lbl_80221E00:
/* 80221E00 0021DA60 C0 44 00 08 */ lfs f2, 8(r4)
/* 80221E04 0021DA64 54 C0 1B 78 */ rlwinm r0, r6, 3, 0xd, 0x1c
/* 80221E08 0021DA68 C0 05 00 08 */ lfs f0, 8(r5)
/* 80221E0C 0021DA6C EC 21 10 28 */ fsubs f1, f1, f2
/* 80221E10 0021DA70 81 03 00 00 */ lwz r8, 0(r3)
/* 80221E14 0021DA74 EC 00 10 28 */ fsubs f0, f0, f2
/* 80221E18 0021DA78 C0 82 9B F8 */ lfs f4, lbl_806421F8-_SDA2_BASE_(r2)
/* 80221E1C 0021DA7C 7C E8 02 14 */ add r7, r8, r0
/* 80221E20 0021DA80 80 C3 00 04 */ lwz r6, 4(r3)
/* 80221E24 0021DA84 EC C1 00 24 */ fdivs f6, f1, f0
/* 80221E28 0021DA88 C0 47 00 04 */ lfs f2, 4(r7)
/* 80221E2C 0021DA8C 7C 28 04 2E */ lfsx f1, r8, r0
/* 80221E30 0021DA90 EC E6 01 B2 */ fmuls f7, f6, f6
/* 80221E34 0021DA94 EC A7 01 B2 */ fmuls f5, f7, f6
/* 80221E38 0021DA98 EC 67 38 2A */ fadds f3, f7, f7
/* 80221E3C 0021DA9C EC 05 38 28 */ fsubs f0, f5, f7
/* 80221E40 0021DAA0 EC A3 28 28 */ fsubs f5, f3, f5
/* 80221E44 0021DAA4 EC 60 38 28 */ fsubs f3, f0, f7
/* 80221E48 0021DAA8 EC A5 00 28 */ fsubs f5, f5, f0
/* 80221E4C 0021DAAC EC C6 18 2A */ fadds f6, f6, f3
/* 80221E50 0021DAB0 EC 64 28 28 */ fsubs f3, f4, f5
/* 80221E54 0021DAB4 EC 42 00 F2 */ fmuls f2, f2, f3
/* 80221E58 0021DAB8 EC 21 00 F2 */ fmuls f1, f1, f3
/* 80221E5C 0021DABC D0 41 00 24 */ stfs f2, 0x24(r1)
/* 80221E60 0021DAC0 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80221E64 0021DAC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80221E68 0021DAC8 80 E1 00 20 */ lwz r7, 0x20(r1)
/* 80221E6C 0021DACC 90 01 00 54 */ stw r0, 0x54(r1)
/* 80221E70 0021DAD0 90 E1 00 50 */ stw r7, 0x50(r1)
/* 80221E74 0021DAD4 C0 61 00 54 */ lfs f3, 0x54(r1)
/* 80221E78 0021DAD8 C0 81 00 50 */ lfs f4, 0x50(r1)
/* 80221E7C 0021DADC D0 63 00 20 */ stfs f3, 0x20(r3)
/* 80221E80 0021DAE0 D0 83 00 1C */ stfs f4, 0x1c(r3)
/* 80221E84 0021DAE4 A0 05 00 02 */ lhz r0, 2(r5)
/* 80221E88 0021DAE8 54 00 18 38 */ slwi r0, r0, 3
/* 80221E8C 0021DAEC 7C E8 02 14 */ add r7, r8, r0
/* 80221E90 0021DAF0 7C 28 04 2E */ lfsx f1, r8, r0
/* 80221E94 0021DAF4 C0 47 00 04 */ lfs f2, 4(r7)
/* 80221E98 0021DAF8 EC 21 01 72 */ fmuls f1, f1, f5
/* 80221E9C 0021DAFC EC 42 01 72 */ fmuls f2, f2, f5
/* 80221EA0 0021DB00 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80221EA4 0021DB04 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80221EA8 0021DB08 80 E1 00 18 */ lwz r7, 0x18(r1)
/* 80221EAC 0021DB0C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80221EB0 0021DB10 90 E1 00 48 */ stw r7, 0x48(r1)
/* 80221EB4 0021DB14 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80221EB8 0021DB18 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 80221EBC 0021DB1C C0 21 00 4C */ lfs f1, 0x4c(r1)
/* 80221EC0 0021DB20 EC 84 10 2A */ fadds f4, f4, f2
/* 80221EC4 0021DB24 EC 63 08 2A */ fadds f3, f3, f1
/* 80221EC8 0021DB28 D0 83 00 1C */ stfs f4, 0x1c(r3)
/* 80221ECC 0021DB2C D0 63 00 20 */ stfs f3, 0x20(r3)
/* 80221ED0 0021DB30 A0 04 00 06 */ lhz r0, 6(r4)
/* 80221ED4 0021DB34 54 00 18 38 */ slwi r0, r0, 3
/* 80221ED8 0021DB38 7C 86 02 14 */ add r4, r6, r0
/* 80221EDC 0021DB3C 7C 26 04 2E */ lfsx f1, r6, r0
/* 80221EE0 0021DB40 C0 44 00 04 */ lfs f2, 4(r4)
/* 80221EE4 0021DB44 EC 21 01 B2 */ fmuls f1, f1, f6
/* 80221EE8 0021DB48 EC 42 01 B2 */ fmuls f2, f2, f6
/* 80221EEC 0021DB4C D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80221EF0 0021DB50 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80221EF4 0021DB54 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80221EF8 0021DB58 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80221EFC 0021DB5C 90 81 00 40 */ stw r4, 0x40(r1)
/* 80221F00 0021DB60 90 01 00 44 */ stw r0, 0x44(r1)
/* 80221F04 0021DB64 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 80221F08 0021DB68 C0 21 00 44 */ lfs f1, 0x44(r1)
/* 80221F0C 0021DB6C EC 84 10 2A */ fadds f4, f4, f2
/* 80221F10 0021DB70 EC 63 08 2A */ fadds f3, f3, f1
/* 80221F14 0021DB74 D0 83 00 1C */ stfs f4, 0x1c(r3)
/* 80221F18 0021DB78 D0 63 00 20 */ stfs f3, 0x20(r3)
/* 80221F1C 0021DB7C A0 05 00 04 */ lhz r0, 4(r5)
/* 80221F20 0021DB80 54 00 18 38 */ slwi r0, r0, 3
/* 80221F24 0021DB84 7C 86 02 14 */ add r4, r6, r0
/* 80221F28 0021DB88 7C 26 04 2E */ lfsx f1, r6, r0
/* 80221F2C 0021DB8C C0 44 00 04 */ lfs f2, 4(r4)
/* 80221F30 0021DB90 EC 42 00 32 */ fmuls f2, f2, f0
/* 80221F34 0021DB94 EC 01 00 32 */ fmuls f0, f1, f0
/* 80221F38 0021DB98 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80221F3C 0021DB9C D0 01 00 08 */ stfs f0, 8(r1)
/* 80221F40 0021DBA0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80221F44 0021DBA4 80 81 00 08 */ lwz r4, 8(r1)
/* 80221F48 0021DBA8 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80221F4C 0021DBAC 90 81 00 38 */ stw r4, 0x38(r1)
/* 80221F50 0021DBB0 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80221F54 0021DBB4 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80221F58 0021DBB8 EC 03 00 2A */ fadds f0, f3, f0
/* 80221F5C 0021DBBC EC 24 08 2A */ fadds f1, f4, f1
/* 80221F60 0021DBC0 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80221F64 0021DBC4 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80221F68 0021DBC8 48 00 00 1C */ b lbl_80221F84
lbl_80221F6C:
/* 80221F6C 0021DBCC 54 C0 1B 78 */ rlwinm r0, r6, 3, 0xd, 0x1c
/* 80221F70 0021DBD0 80 83 00 00 */ lwz r4, 0(r3)
/* 80221F74 0021DBD4 7C 04 04 6E */ lfsux f0, r4, r0
/* 80221F78 0021DBD8 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80221F7C 0021DBDC C0 04 00 04 */ lfs f0, 4(r4)
/* 80221F80 0021DBE0 D0 03 00 20 */ stfs f0, 0x20(r3)
lbl_80221F84:
/* 80221F84 0021DBE4 38 21 00 70 */ addi r1, r1, 0x70
/* 80221F88 0021DBE8 4E 80 00 20 */ blr
.global func_80221F8C
func_80221F8C:
/* 80221F8C 0021DBEC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80221F90 0021DBF0 7C 08 02 A6 */ mflr r0
/* 80221F94 0021DBF4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80221F98 0021DBF8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80221F9C 0021DBFC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80221FA0 0021DC00 FF E0 08 90 */ fmr f31, f1
/* 80221FA4 0021DC04 7C 86 23 78 */ mr r6, r4
/* 80221FA8 0021DC08 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80221FAC 0021DC0C 7C 7F 1B 78 */ mr r31, r3
/* 80221FB0 0021DC10 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80221FB4 0021DC14 2C 07 00 00 */ cmpwi r7, 0
/* 80221FB8 0021DC18 40 82 00 C8 */ bne lbl_80222080
/* 80221FBC 0021DC1C C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80221FC0 0021DC20 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80221FC4 0021DC24 40 82 00 10 */ bne lbl_80221FD4
/* 80221FC8 0021DC28 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 80221FCC 0021DC2C 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 80221FD0 0021DC30 48 00 01 D4 */ b lbl_802221A4
lbl_80221FD4:
/* 80221FD4 0021DC34 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80221FD8 0021DC38 3C 00 43 30 */ lis r0, 0x4330
/* 80221FDC 0021DC3C 90 01 00 08 */ stw r0, 8(r1)
/* 80221FE0 0021DC40 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80221FE4 0021DC44 C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80221FE8 0021DC48 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80221FEC 0021DC4C C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80221FF0 0021DC50 90 01 00 0C */ stw r0, 0xc(r1)
/* 80221FF4 0021DC54 C8 41 00 08 */ lfd f2, 8(r1)
/* 80221FF8 0021DC58 EC 42 18 28 */ fsubs f2, f2, f3
/* 80221FFC 0021DC5C EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222000 0021DC60 EC 00 08 2A */ fadds f0, f0, f1
/* 80222004 0021DC64 FC 00 00 1E */ fctiwz f0, f0
/* 80222008 0021DC68 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8022200C 0021DC6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222010 0021DC70 2C 00 00 00 */ cmpwi r0, 0
/* 80222014 0021DC74 41 81 00 1C */ bgt lbl_80222030
/* 80222018 0021DC78 80 83 00 00 */ lwz r4, 0(r3)
/* 8022201C 0021DC7C C0 04 00 00 */ lfs f0, 0(r4)
/* 80222020 0021DC80 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80222024 0021DC84 C0 04 00 04 */ lfs f0, 4(r4)
/* 80222028 0021DC88 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8022202C 0021DC8C 48 00 00 48 */ b lbl_80222074
lbl_80222030:
/* 80222030 0021DC90 A0 83 00 08 */ lhz r4, 8(r3)
/* 80222034 0021DC94 7C 00 20 00 */ cmpw r0, r4
/* 80222038 0021DC98 41 80 00 24 */ blt lbl_8022205C
/* 8022203C 0021DC9C 38 04 FF FF */ addi r0, r4, -1
/* 80222040 0021DCA0 80 83 00 00 */ lwz r4, 0(r3)
/* 80222044 0021DCA4 54 00 18 38 */ slwi r0, r0, 3
/* 80222048 0021DCA8 7C 04 04 6E */ lfsux f0, r4, r0
/* 8022204C 0021DCAC D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80222050 0021DCB0 C0 04 00 04 */ lfs f0, 4(r4)
/* 80222054 0021DCB4 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80222058 0021DCB8 48 00 00 1C */ b lbl_80222074
lbl_8022205C:
/* 8022205C 0021DCBC 54 00 18 38 */ slwi r0, r0, 3
/* 80222060 0021DCC0 80 83 00 00 */ lwz r4, 0(r3)
/* 80222064 0021DCC4 7C 04 04 6E */ lfsux f0, r4, r0
/* 80222068 0021DCC8 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8022206C 0021DCCC C0 04 00 04 */ lfs f0, 4(r4)
/* 80222070 0021DCD0 D0 03 00 20 */ stfs f0, 0x20(r3)
lbl_80222074:
/* 80222074 0021DCD4 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 80222078 0021DCD8 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 8022207C 0021DCDC 48 00 01 28 */ b lbl_802221A4
lbl_80222080:
/* 80222080 0021DCE0 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80222084 0021DCE4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222088 0021DCE8 4C 40 13 82 */ cror 2, 0, 2
/* 8022208C 0021DCEC 40 82 00 2C */ bne lbl_802220B8
/* 80222090 0021DCF0 A0 07 00 00 */ lhz r0, 0(r7)
/* 80222094 0021DCF4 2C 00 00 00 */ cmpwi r0, 0
/* 80222098 0021DCF8 40 82 00 20 */ bne lbl_802220B8
/* 8022209C 0021DCFC A0 07 00 02 */ lhz r0, 2(r7)
/* 802220A0 0021DD00 80 63 00 00 */ lwz r3, 0(r3)
/* 802220A4 0021DD04 54 00 18 38 */ slwi r0, r0, 3
/* 802220A8 0021DD08 7C 83 02 14 */ add r4, r3, r0
/* 802220AC 0021DD0C 7C 63 00 2E */ lwzx r3, r3, r0
/* 802220B0 0021DD10 80 84 00 04 */ lwz r4, 4(r4)
/* 802220B4 0021DD14 48 00 00 F0 */ b lbl_802221A4
lbl_802220B8:
/* 802220B8 0021DD18 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802220BC 0021DD1C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802220C0 0021DD20 4C 41 13 82 */ cror 2, 1, 2
/* 802220C4 0021DD24 40 82 00 30 */ bne lbl_802220F4
/* 802220C8 0021DD28 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 802220CC 0021DD2C 80 A3 00 00 */ lwz r5, 0(r3)
/* 802220D0 0021DD30 38 04 FF FF */ addi r0, r4, -1
/* 802220D4 0021DD34 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802220D8 0021DD38 7C 67 02 14 */ add r3, r7, r0
/* 802220DC 0021DD3C A0 03 00 02 */ lhz r0, 2(r3)
/* 802220E0 0021DD40 54 00 18 38 */ slwi r0, r0, 3
/* 802220E4 0021DD44 7C 85 02 14 */ add r4, r5, r0
/* 802220E8 0021DD48 7C 65 00 2E */ lwzx r3, r5, r0
/* 802220EC 0021DD4C 80 84 00 04 */ lwz r4, 4(r4)
/* 802220F0 0021DD50 48 00 00 B4 */ b lbl_802221A4
lbl_802220F4:
/* 802220F4 0021DD54 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 802220F8 0021DD58 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 802220FC 0021DD5C EC 41 10 28 */ fsubs f2, f1, f2
/* 80222100 0021DD60 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222104 0021DD64 40 80 00 1C */ bge lbl_80222120
/* 80222108 0021DD68 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 8022210C 0021DD6C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222110 0021DD70 40 81 00 10 */ ble lbl_80222120
/* 80222114 0021DD74 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 80222118 0021DD78 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 8022211C 0021DD7C 48 00 00 88 */ b lbl_802221A4
lbl_80222120:
/* 80222120 0021DD80 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222124 0021DD84 2C 00 00 00 */ cmpwi r0, 0
/* 80222128 0021DD88 41 82 00 20 */ beq lbl_80222148
/* 8022212C 0021DD8C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222130 0021DD90 7C 87 02 14 */ add r4, r7, r0
/* 80222134 0021DD94 C0 04 00 08 */ lfs f0, 8(r4)
/* 80222138 0021DD98 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8022213C 0021DD9C 40 80 00 0C */ bge lbl_80222148
/* 80222140 0021DDA0 38 00 00 00 */ li r0, 0
/* 80222144 0021DDA4 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222148:
/* 80222148 0021DDA8 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8022214C 0021DDAC 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80222150 0021DDB0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222154 0021DDB4 7C 84 02 14 */ add r4, r4, r0
/* 80222158 0021DDB8 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 8022215C 0021DDBC 38 A4 00 0C */ addi r5, r4, 0xc
/* 80222160 0021DDC0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222164 0021DDC4 40 80 00 28 */ bge lbl_8022218C
/* 80222168 0021DDC8 48 00 00 14 */ b lbl_8022217C
lbl_8022216C:
/* 8022216C 0021DDCC A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222170 0021DDD0 38 A5 00 0C */ addi r5, r5, 0xc
/* 80222174 0021DDD4 38 04 00 01 */ addi r0, r4, 1
/* 80222178 0021DDD8 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_8022217C:
/* 8022217C 0021DDDC C0 05 00 08 */ lfs f0, 8(r5)
/* 80222180 0021DDE0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222184 0021DDE4 41 80 FF E8 */ blt lbl_8022216C
/* 80222188 0021DDE8 38 85 FF F4 */ addi r4, r5, -12
lbl_8022218C:
/* 8022218C 0021DDEC FC 20 F8 90 */ fmr f1, f31
/* 80222190 0021DDF0 7F E3 FB 78 */ mr r3, r31
/* 80222194 0021DDF4 4B FF FB 95 */ bl func_80221D28
/* 80222198 0021DDF8 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 8022219C 0021DDFC 80 7F 00 1C */ lwz r3, 0x1c(r31)
/* 802221A0 0021DE00 80 9F 00 20 */ lwz r4, 0x20(r31)
lbl_802221A4:
/* 802221A4 0021DE04 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 802221A8 0021DE08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802221AC 0021DE0C CB E1 00 20 */ lfd f31, 0x20(r1)
/* 802221B0 0021DE10 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802221B4 0021DE14 7C 08 03 A6 */ mtlr r0
/* 802221B8 0021DE18 38 21 00 30 */ addi r1, r1, 0x30
/* 802221BC 0021DE1C 4E 80 00 20 */ blr
.global func_802221C0
func_802221C0:
/* 802221C0 0021DE20 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802221C4 0021DE24 7C 08 02 A6 */ mflr r0
/* 802221C8 0021DE28 90 01 00 94 */ stw r0, 0x94(r1)
/* 802221CC 0021DE2C DB E1 00 80 */ stfd f31, 0x80(r1)
/* 802221D0 0021DE30 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 802221D4 0021DE34 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 802221D8 0021DE38 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 802221DC 0021DE3C DB A1 00 60 */ stfd f29, 0x60(r1)
/* 802221E0 0021DE40 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 802221E4 0021DE44 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 802221E8 0021DE48 7C 7F 1B 78 */ mr r31, r3
/* 802221EC 0021DE4C 93 C1 00 58 */ stw r30, 0x58(r1)
/* 802221F0 0021DE50 7C BE 2B 78 */ mr r30, r5
/* 802221F4 0021DE54 93 A1 00 54 */ stw r29, 0x54(r1)
/* 802221F8 0021DE58 7C 9D 23 78 */ mr r29, r4
/* 802221FC 0021DE5C A0 04 00 00 */ lhz r0, 0(r4)
/* 80222200 0021DE60 A0 C4 00 02 */ lhz r6, 2(r4)
/* 80222204 0021DE64 2C 00 00 01 */ cmpwi r0, 1
/* 80222208 0021DE68 41 82 00 18 */ beq lbl_80222220
/* 8022220C 0021DE6C 40 80 00 08 */ bge lbl_80222214
/* 80222210 0021DE70 48 00 01 78 */ b lbl_80222388
lbl_80222214:
/* 80222214 0021DE74 2C 00 00 03 */ cmpwi r0, 3
/* 80222218 0021DE78 40 80 01 70 */ bge lbl_80222388
/* 8022221C 0021DE7C 48 00 00 7C */ b lbl_80222298
lbl_80222220:
/* 80222220 0021DE80 C0 64 00 08 */ lfs f3, 8(r4)
/* 80222224 0021DE84 1C 06 00 0C */ mulli r0, r6, 0xc
/* 80222228 0021DE88 C0 05 00 08 */ lfs f0, 8(r5)
/* 8022222C 0021DE8C 38 81 00 44 */ addi r4, r1, 0x44
/* 80222230 0021DE90 EC 41 18 28 */ fsubs f2, f1, f3
/* 80222234 0021DE94 80 63 00 00 */ lwz r3, 0(r3)
/* 80222238 0021DE98 EC 20 18 28 */ fsubs f1, f0, f3
/* 8022223C 0021DE9C C0 02 9B F8 */ lfs f0, lbl_806421F8-_SDA2_BASE_(r2)
/* 80222240 0021DEA0 7C 63 02 14 */ add r3, r3, r0
/* 80222244 0021DEA4 EF E2 08 24 */ fdivs f31, f2, f1
/* 80222248 0021DEA8 EC 20 F8 28 */ fsubs f1, f0, f31
/* 8022224C 0021DEAC 48 05 AA C1 */ bl PSVECScale
/* 80222250 0021DEB0 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 80222254 0021DEB4 FC 20 F8 90 */ fmr f1, f31
/* 80222258 0021DEB8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8022225C 0021DEBC 38 81 00 38 */ addi r4, r1, 0x38
/* 80222260 0021DEC0 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80222264 0021DEC4 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 80222268 0021DEC8 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 8022226C 0021DECC C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 80222270 0021DED0 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 80222274 0021DED4 A0 1E 00 02 */ lhz r0, 2(r30)
/* 80222278 0021DED8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022227C 0021DEDC 7C 63 02 14 */ add r3, r3, r0
/* 80222280 0021DEE0 48 05 AA 8D */ bl PSVECScale
/* 80222284 0021DEE4 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80222288 0021DEE8 38 81 00 38 */ addi r4, r1, 0x38
/* 8022228C 0021DEEC 7C 65 1B 78 */ mr r5, r3
/* 80222290 0021DEF0 48 05 AA 35 */ bl PSVECAdd
/* 80222294 0021DEF4 48 00 01 14 */ b lbl_802223A8
lbl_80222298:
/* 80222298 0021DEF8 C0 64 00 08 */ lfs f3, 8(r4)
/* 8022229C 0021DEFC 1C 06 00 0C */ mulli r0, r6, 0xc
/* 802222A0 0021DF00 C0 05 00 08 */ lfs f0, 8(r5)
/* 802222A4 0021DF04 38 81 00 2C */ addi r4, r1, 0x2c
/* 802222A8 0021DF08 EC 41 18 28 */ fsubs f2, f1, f3
/* 802222AC 0021DF0C 80 63 00 00 */ lwz r3, 0(r3)
/* 802222B0 0021DF10 EC 00 18 28 */ fsubs f0, f0, f3
/* 802222B4 0021DF14 C0 22 9B F8 */ lfs f1, lbl_806421F8-_SDA2_BASE_(r2)
/* 802222B8 0021DF18 7C 63 02 14 */ add r3, r3, r0
/* 802222BC 0021DF1C EC 62 00 24 */ fdivs f3, f2, f0
/* 802222C0 0021DF20 EC 83 00 F2 */ fmuls f4, f3, f3
/* 802222C4 0021DF24 EC 44 00 F2 */ fmuls f2, f4, f3
/* 802222C8 0021DF28 EC 04 20 2A */ fadds f0, f4, f4
/* 802222CC 0021DF2C EF E2 20 28 */ fsubs f31, f2, f4
/* 802222D0 0021DF30 EC 40 10 28 */ fsubs f2, f0, f2
/* 802222D4 0021DF34 EC 1F 20 28 */ fsubs f0, f31, f4
/* 802222D8 0021DF38 EF C2 F8 28 */ fsubs f30, f2, f31
/* 802222DC 0021DF3C EF A3 00 2A */ fadds f29, f3, f0
/* 802222E0 0021DF40 EC 21 F0 28 */ fsubs f1, f1, f30
/* 802222E4 0021DF44 48 05 AA 29 */ bl PSVECScale
/* 802222E8 0021DF48 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 802222EC 0021DF4C FC 20 F0 90 */ fmr f1, f30
/* 802222F0 0021DF50 80 7F 00 00 */ lwz r3, 0(r31)
/* 802222F4 0021DF54 38 81 00 20 */ addi r4, r1, 0x20
/* 802222F8 0021DF58 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802222FC 0021DF5C C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80222300 0021DF60 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 80222304 0021DF64 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80222308 0021DF68 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 8022230C 0021DF6C A0 1E 00 02 */ lhz r0, 2(r30)
/* 80222310 0021DF70 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222314 0021DF74 7C 63 02 14 */ add r3, r3, r0
/* 80222318 0021DF78 48 05 A9 F5 */ bl PSVECScale
/* 8022231C 0021DF7C 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80222320 0021DF80 38 81 00 20 */ addi r4, r1, 0x20
/* 80222324 0021DF84 7C 65 1B 78 */ mr r5, r3
/* 80222328 0021DF88 48 05 A9 9D */ bl PSVECAdd
/* 8022232C 0021DF8C A0 1D 00 06 */ lhz r0, 6(r29)
/* 80222330 0021DF90 FC 20 E8 90 */ fmr f1, f29
/* 80222334 0021DF94 80 7F 00 04 */ lwz r3, 4(r31)
/* 80222338 0021DF98 38 81 00 14 */ addi r4, r1, 0x14
/* 8022233C 0021DF9C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222340 0021DFA0 7C 63 02 14 */ add r3, r3, r0
/* 80222344 0021DFA4 48 05 A9 C9 */ bl PSVECScale
/* 80222348 0021DFA8 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8022234C 0021DFAC 38 81 00 14 */ addi r4, r1, 0x14
/* 80222350 0021DFB0 7C 65 1B 78 */ mr r5, r3
/* 80222354 0021DFB4 48 05 A9 71 */ bl PSVECAdd
/* 80222358 0021DFB8 A0 1E 00 04 */ lhz r0, 4(r30)
/* 8022235C 0021DFBC FC 20 F8 90 */ fmr f1, f31
/* 80222360 0021DFC0 80 7F 00 04 */ lwz r3, 4(r31)
/* 80222364 0021DFC4 38 81 00 08 */ addi r4, r1, 8
/* 80222368 0021DFC8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022236C 0021DFCC 7C 63 02 14 */ add r3, r3, r0
/* 80222370 0021DFD0 48 05 A9 9D */ bl PSVECScale
/* 80222374 0021DFD4 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80222378 0021DFD8 38 81 00 08 */ addi r4, r1, 8
/* 8022237C 0021DFDC 7C 65 1B 78 */ mr r5, r3
/* 80222380 0021DFE0 48 05 A9 45 */ bl PSVECAdd
/* 80222384 0021DFE4 48 00 00 24 */ b lbl_802223A8
lbl_80222388:
/* 80222388 0021DFE8 1C 06 00 0C */ mulli r0, r6, 0xc
/* 8022238C 0021DFEC 80 83 00 00 */ lwz r4, 0(r3)
/* 80222390 0021DFF0 7C 04 04 6E */ lfsux f0, r4, r0
/* 80222394 0021DFF4 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80222398 0021DFF8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8022239C 0021DFFC D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802223A0 0021E000 C0 04 00 08 */ lfs f0, 8(r4)
/* 802223A4 0021E004 D0 03 00 24 */ stfs f0, 0x24(r3)
lbl_802223A8:
/* 802223A8 0021E008 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 802223AC 0021E00C CB E1 00 80 */ lfd f31, 0x80(r1)
/* 802223B0 0021E010 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 802223B4 0021E014 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 802223B8 0021E018 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 802223BC 0021E01C CB A1 00 60 */ lfd f29, 0x60(r1)
/* 802223C0 0021E020 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 802223C4 0021E024 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 802223C8 0021E028 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802223CC 0021E02C 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 802223D0 0021E030 7C 08 03 A6 */ mtlr r0
/* 802223D4 0021E034 38 21 00 90 */ addi r1, r1, 0x90
/* 802223D8 0021E038 4E 80 00 20 */ blr
.global func_802223DC
func_802223DC:
/* 802223DC 0021E03C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802223E0 0021E040 7C 08 02 A6 */ mflr r0
/* 802223E4 0021E044 90 01 00 34 */ stw r0, 0x34(r1)
/* 802223E8 0021E048 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 802223EC 0021E04C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 802223F0 0021E050 FF E0 08 90 */ fmr f31, f1
/* 802223F4 0021E054 7C A6 2B 78 */ mr r6, r5
/* 802223F8 0021E058 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802223FC 0021E05C 7C 9F 23 78 */ mr r31, r4
/* 80222400 0021E060 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80222404 0021E064 7C 7E 1B 78 */ mr r30, r3
/* 80222408 0021E068 80 E4 00 10 */ lwz r7, 0x10(r4)
/* 8022240C 0021E06C 2C 07 00 00 */ cmpwi r7, 0
/* 80222410 0021E070 40 82 01 00 */ bne lbl_80222510
/* 80222414 0021E074 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 80222418 0021E078 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8022241C 0021E07C 40 82 00 20 */ bne lbl_8022243C
/* 80222420 0021E080 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 80222424 0021E084 D0 03 00 00 */ stfs f0, 0(r3)
/* 80222428 0021E088 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 8022242C 0021E08C D0 03 00 04 */ stfs f0, 4(r3)
/* 80222430 0021E090 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 80222434 0021E094 D0 03 00 08 */ stfs f0, 8(r3)
/* 80222438 0021E098 48 00 02 3C */ b lbl_80222674
lbl_8022243C:
/* 8022243C 0021E09C A0 A4 00 16 */ lhz r5, 0x16(r4)
/* 80222440 0021E0A0 3C 00 43 30 */ lis r0, 0x4330
/* 80222444 0021E0A4 90 01 00 08 */ stw r0, 8(r1)
/* 80222448 0021E0A8 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8022244C 0021E0AC C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80222450 0021E0B0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80222454 0021E0B4 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80222458 0021E0B8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8022245C 0021E0BC C8 41 00 08 */ lfd f2, 8(r1)
/* 80222460 0021E0C0 EC 42 18 28 */ fsubs f2, f2, f3
/* 80222464 0021E0C4 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222468 0021E0C8 EC 00 08 2A */ fadds f0, f0, f1
/* 8022246C 0021E0CC FC 00 00 1E */ fctiwz f0, f0
/* 80222470 0021E0D0 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80222474 0021E0D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222478 0021E0D8 2C 00 00 00 */ cmpwi r0, 0
/* 8022247C 0021E0DC 41 81 00 24 */ bgt lbl_802224A0
/* 80222480 0021E0E0 80 A4 00 00 */ lwz r5, 0(r4)
/* 80222484 0021E0E4 C0 05 00 00 */ lfs f0, 0(r5)
/* 80222488 0021E0E8 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8022248C 0021E0EC C0 05 00 04 */ lfs f0, 4(r5)
/* 80222490 0021E0F0 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80222494 0021E0F4 C0 05 00 08 */ lfs f0, 8(r5)
/* 80222498 0021E0F8 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 8022249C 0021E0FC 48 00 00 58 */ b lbl_802224F4
lbl_802224A0:
/* 802224A0 0021E100 A0 A4 00 08 */ lhz r5, 8(r4)
/* 802224A4 0021E104 7C 00 28 00 */ cmpw r0, r5
/* 802224A8 0021E108 41 80 00 2C */ blt lbl_802224D4
/* 802224AC 0021E10C 38 05 FF FF */ addi r0, r5, -1
/* 802224B0 0021E110 80 A4 00 00 */ lwz r5, 0(r4)
/* 802224B4 0021E114 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802224B8 0021E118 7C 05 04 6E */ lfsux f0, r5, r0
/* 802224BC 0021E11C D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 802224C0 0021E120 C0 05 00 04 */ lfs f0, 4(r5)
/* 802224C4 0021E124 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 802224C8 0021E128 C0 05 00 08 */ lfs f0, 8(r5)
/* 802224CC 0021E12C D0 04 00 24 */ stfs f0, 0x24(r4)
/* 802224D0 0021E130 48 00 00 24 */ b lbl_802224F4
lbl_802224D4:
/* 802224D4 0021E134 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802224D8 0021E138 80 A4 00 00 */ lwz r5, 0(r4)
/* 802224DC 0021E13C 7C 05 04 6E */ lfsux f0, r5, r0
/* 802224E0 0021E140 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 802224E4 0021E144 C0 05 00 04 */ lfs f0, 4(r5)
/* 802224E8 0021E148 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 802224EC 0021E14C C0 05 00 08 */ lfs f0, 8(r5)
/* 802224F0 0021E150 D0 04 00 24 */ stfs f0, 0x24(r4)
lbl_802224F4:
/* 802224F4 0021E154 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802224F8 0021E158 D0 03 00 00 */ stfs f0, 0(r3)
/* 802224FC 0021E15C C0 04 00 20 */ lfs f0, 0x20(r4)
/* 80222500 0021E160 D0 03 00 04 */ stfs f0, 4(r3)
/* 80222504 0021E164 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 80222508 0021E168 D0 03 00 08 */ stfs f0, 8(r3)
/* 8022250C 0021E16C 48 00 01 68 */ b lbl_80222674
lbl_80222510:
/* 80222510 0021E170 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80222514 0021E174 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222518 0021E178 4C 40 13 82 */ cror 2, 0, 2
/* 8022251C 0021E17C 40 82 00 38 */ bne lbl_80222554
/* 80222520 0021E180 A0 07 00 00 */ lhz r0, 0(r7)
/* 80222524 0021E184 2C 00 00 00 */ cmpwi r0, 0
/* 80222528 0021E188 40 82 00 2C */ bne lbl_80222554
/* 8022252C 0021E18C A0 07 00 02 */ lhz r0, 2(r7)
/* 80222530 0021E190 80 84 00 00 */ lwz r4, 0(r4)
/* 80222534 0021E194 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222538 0021E198 7C 04 04 6E */ lfsux f0, r4, r0
/* 8022253C 0021E19C D0 03 00 00 */ stfs f0, 0(r3)
/* 80222540 0021E1A0 C0 04 00 04 */ lfs f0, 4(r4)
/* 80222544 0021E1A4 D0 03 00 04 */ stfs f0, 4(r3)
/* 80222548 0021E1A8 C0 04 00 08 */ lfs f0, 8(r4)
/* 8022254C 0021E1AC D0 03 00 08 */ stfs f0, 8(r3)
/* 80222550 0021E1B0 48 00 01 24 */ b lbl_80222674
lbl_80222554:
/* 80222554 0021E1B4 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80222558 0021E1B8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8022255C 0021E1BC 4C 41 13 82 */ cror 2, 1, 2
/* 80222560 0021E1C0 40 82 00 40 */ bne lbl_802225A0
/* 80222564 0021E1C4 A0 A4 00 14 */ lhz r5, 0x14(r4)
/* 80222568 0021E1C8 80 C4 00 00 */ lwz r6, 0(r4)
/* 8022256C 0021E1CC 38 05 FF FF */ addi r0, r5, -1
/* 80222570 0021E1D0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222574 0021E1D4 7C 87 02 14 */ add r4, r7, r0
/* 80222578 0021E1D8 A0 04 00 02 */ lhz r0, 2(r4)
/* 8022257C 0021E1DC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222580 0021E1E0 7C 06 04 2E */ lfsx f0, r6, r0
/* 80222584 0021E1E4 7C 86 02 14 */ add r4, r6, r0
/* 80222588 0021E1E8 D0 03 00 00 */ stfs f0, 0(r3)
/* 8022258C 0021E1EC C0 04 00 04 */ lfs f0, 4(r4)
/* 80222590 0021E1F0 D0 03 00 04 */ stfs f0, 4(r3)
/* 80222594 0021E1F4 C0 04 00 08 */ lfs f0, 8(r4)
/* 80222598 0021E1F8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8022259C 0021E1FC 48 00 00 D8 */ b lbl_80222674
lbl_802225A0:
/* 802225A0 0021E200 C0 44 00 18 */ lfs f2, 0x18(r4)
/* 802225A4 0021E204 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 802225A8 0021E208 EC 41 10 28 */ fsubs f2, f1, f2
/* 802225AC 0021E20C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802225B0 0021E210 40 80 00 2C */ bge lbl_802225DC
/* 802225B4 0021E214 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 802225B8 0021E218 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802225BC 0021E21C 40 81 00 20 */ ble lbl_802225DC
/* 802225C0 0021E220 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802225C4 0021E224 D0 03 00 00 */ stfs f0, 0(r3)
/* 802225C8 0021E228 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802225CC 0021E22C D0 03 00 04 */ stfs f0, 4(r3)
/* 802225D0 0021E230 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802225D4 0021E234 D0 03 00 08 */ stfs f0, 8(r3)
/* 802225D8 0021E238 48 00 00 9C */ b lbl_80222674
lbl_802225DC:
/* 802225DC 0021E23C A0 04 00 16 */ lhz r0, 0x16(r4)
/* 802225E0 0021E240 2C 00 00 00 */ cmpwi r0, 0
/* 802225E4 0021E244 41 82 00 20 */ beq lbl_80222604
/* 802225E8 0021E248 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802225EC 0021E24C 7C 67 02 14 */ add r3, r7, r0
/* 802225F0 0021E250 C0 03 00 08 */ lfs f0, 8(r3)
/* 802225F4 0021E254 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802225F8 0021E258 40 80 00 0C */ bge lbl_80222604
/* 802225FC 0021E25C 38 00 00 00 */ li r0, 0
/* 80222600 0021E260 B0 04 00 16 */ sth r0, 0x16(r4)
lbl_80222604:
/* 80222604 0021E264 A0 04 00 16 */ lhz r0, 0x16(r4)
/* 80222608 0021E268 80 64 00 10 */ lwz r3, 0x10(r4)
/* 8022260C 0021E26C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222610 0021E270 7C E3 02 14 */ add r7, r3, r0
/* 80222614 0021E274 C0 07 00 14 */ lfs f0, 0x14(r7)
/* 80222618 0021E278 38 A7 00 0C */ addi r5, r7, 0xc
/* 8022261C 0021E27C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222620 0021E280 40 80 00 28 */ bge lbl_80222648
/* 80222624 0021E284 48 00 00 14 */ b lbl_80222638
lbl_80222628:
/* 80222628 0021E288 A0 64 00 16 */ lhz r3, 0x16(r4)
/* 8022262C 0021E28C 38 A5 00 0C */ addi r5, r5, 0xc
/* 80222630 0021E290 38 03 00 01 */ addi r0, r3, 1
/* 80222634 0021E294 B0 04 00 16 */ sth r0, 0x16(r4)
lbl_80222638:
/* 80222638 0021E298 C0 05 00 08 */ lfs f0, 8(r5)
/* 8022263C 0021E29C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222640 0021E2A0 41 80 FF E8 */ blt lbl_80222628
/* 80222644 0021E2A4 38 E5 FF F4 */ addi r7, r5, -12
lbl_80222648:
/* 80222648 0021E2A8 FC 20 F8 90 */ fmr f1, f31
/* 8022264C 0021E2AC 7F E3 FB 78 */ mr r3, r31
/* 80222650 0021E2B0 7C E4 3B 78 */ mr r4, r7
/* 80222654 0021E2B4 4B FF FB 6D */ bl func_802221C0
/* 80222658 0021E2B8 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 8022265C 0021E2BC C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 80222660 0021E2C0 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80222664 0021E2C4 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80222668 0021E2C8 D0 1E 00 04 */ stfs f0, 4(r30)
/* 8022266C 0021E2CC C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 80222670 0021E2D0 D0 1E 00 08 */ stfs f0, 8(r30)
lbl_80222674:
/* 80222674 0021E2D4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80222678 0021E2D8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8022267C 0021E2DC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80222680 0021E2E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80222684 0021E2E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80222688 0021E2E8 7C 08 03 A6 */ mtlr r0
/* 8022268C 0021E2EC 38 21 00 30 */ addi r1, r1, 0x30
/* 80222690 0021E2F0 4E 80 00 20 */ blr
.global func_80222694
func_80222694:
/* 80222694 0021E2F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80222698 0021E2F8 7C 08 02 A6 */ mflr r0
/* 8022269C 0021E2FC 90 01 00 34 */ stw r0, 0x34(r1)
/* 802226A0 0021E300 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 802226A4 0021E304 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 802226A8 0021E308 FF E0 08 90 */ fmr f31, f1
/* 802226AC 0021E30C 7C A6 2B 78 */ mr r6, r5
/* 802226B0 0021E310 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802226B4 0021E314 7C 9F 23 78 */ mr r31, r4
/* 802226B8 0021E318 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802226BC 0021E31C 7C 7E 1B 78 */ mr r30, r3
/* 802226C0 0021E320 80 E4 00 10 */ lwz r7, 0x10(r4)
/* 802226C4 0021E324 2C 07 00 00 */ cmpwi r7, 0
/* 802226C8 0021E328 40 82 01 28 */ bne lbl_802227F0
/* 802226CC 0021E32C C0 04 00 18 */ lfs f0, 0x18(r4)
/* 802226D0 0021E330 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802226D4 0021E334 40 82 00 28 */ bne lbl_802226FC
/* 802226D8 0021E338 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802226DC 0021E33C D0 03 00 00 */ stfs f0, 0(r3)
/* 802226E0 0021E340 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802226E4 0021E344 D0 03 00 04 */ stfs f0, 4(r3)
/* 802226E8 0021E348 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802226EC 0021E34C D0 03 00 08 */ stfs f0, 8(r3)
/* 802226F0 0021E350 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 802226F4 0021E354 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802226F8 0021E358 48 00 02 7C */ b lbl_80222974
lbl_802226FC:
/* 802226FC 0021E35C A0 A4 00 16 */ lhz r5, 0x16(r4)
/* 80222700 0021E360 3C 00 43 30 */ lis r0, 0x4330
/* 80222704 0021E364 90 01 00 08 */ stw r0, 8(r1)
/* 80222708 0021E368 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8022270C 0021E36C C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80222710 0021E370 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80222714 0021E374 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80222718 0021E378 90 01 00 0C */ stw r0, 0xc(r1)
/* 8022271C 0021E37C C8 41 00 08 */ lfd f2, 8(r1)
/* 80222720 0021E380 EC 42 18 28 */ fsubs f2, f2, f3
/* 80222724 0021E384 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222728 0021E388 EC 00 08 2A */ fadds f0, f0, f1
/* 8022272C 0021E38C FC 00 00 1E */ fctiwz f0, f0
/* 80222730 0021E390 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80222734 0021E394 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222738 0021E398 2C 00 00 00 */ cmpwi r0, 0
/* 8022273C 0021E39C 41 81 00 2C */ bgt lbl_80222768
/* 80222740 0021E3A0 80 A4 00 00 */ lwz r5, 0(r4)
/* 80222744 0021E3A4 C0 05 00 00 */ lfs f0, 0(r5)
/* 80222748 0021E3A8 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8022274C 0021E3AC C0 05 00 04 */ lfs f0, 4(r5)
/* 80222750 0021E3B0 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80222754 0021E3B4 C0 05 00 08 */ lfs f0, 8(r5)
/* 80222758 0021E3B8 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 8022275C 0021E3BC C0 05 00 0C */ lfs f0, 0xc(r5)
/* 80222760 0021E3C0 D0 04 00 28 */ stfs f0, 0x28(r4)
/* 80222764 0021E3C4 48 00 00 68 */ b lbl_802227CC
lbl_80222768:
/* 80222768 0021E3C8 A0 A4 00 08 */ lhz r5, 8(r4)
/* 8022276C 0021E3CC 7C 00 28 00 */ cmpw r0, r5
/* 80222770 0021E3D0 41 80 00 34 */ blt lbl_802227A4
/* 80222774 0021E3D4 38 05 FF FF */ addi r0, r5, -1
/* 80222778 0021E3D8 80 A4 00 00 */ lwz r5, 0(r4)
/* 8022277C 0021E3DC 54 00 20 36 */ slwi r0, r0, 4
/* 80222780 0021E3E0 7C 05 04 6E */ lfsux f0, r5, r0
/* 80222784 0021E3E4 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80222788 0021E3E8 C0 05 00 04 */ lfs f0, 4(r5)
/* 8022278C 0021E3EC D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80222790 0021E3F0 C0 05 00 08 */ lfs f0, 8(r5)
/* 80222794 0021E3F4 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 80222798 0021E3F8 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8022279C 0021E3FC D0 04 00 28 */ stfs f0, 0x28(r4)
/* 802227A0 0021E400 48 00 00 2C */ b lbl_802227CC
lbl_802227A4:
/* 802227A4 0021E404 54 00 20 36 */ slwi r0, r0, 4
/* 802227A8 0021E408 80 A4 00 00 */ lwz r5, 0(r4)
/* 802227AC 0021E40C 7C 05 04 6E */ lfsux f0, r5, r0
/* 802227B0 0021E410 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 802227B4 0021E414 C0 05 00 04 */ lfs f0, 4(r5)
/* 802227B8 0021E418 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 802227BC 0021E41C C0 05 00 08 */ lfs f0, 8(r5)
/* 802227C0 0021E420 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 802227C4 0021E424 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 802227C8 0021E428 D0 04 00 28 */ stfs f0, 0x28(r4)
lbl_802227CC:
/* 802227CC 0021E42C C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802227D0 0021E430 D0 03 00 00 */ stfs f0, 0(r3)
/* 802227D4 0021E434 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802227D8 0021E438 D0 03 00 04 */ stfs f0, 4(r3)
/* 802227DC 0021E43C C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802227E0 0021E440 D0 03 00 08 */ stfs f0, 8(r3)
/* 802227E4 0021E444 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 802227E8 0021E448 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802227EC 0021E44C 48 00 01 88 */ b lbl_80222974
lbl_802227F0:
/* 802227F0 0021E450 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 802227F4 0021E454 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802227F8 0021E458 4C 40 13 82 */ cror 2, 0, 2
/* 802227FC 0021E45C 40 82 00 40 */ bne lbl_8022283C
/* 80222800 0021E460 A0 07 00 00 */ lhz r0, 0(r7)
/* 80222804 0021E464 2C 00 00 00 */ cmpwi r0, 0
/* 80222808 0021E468 40 82 00 34 */ bne lbl_8022283C
/* 8022280C 0021E46C A0 07 00 02 */ lhz r0, 2(r7)
/* 80222810 0021E470 80 84 00 00 */ lwz r4, 0(r4)
/* 80222814 0021E474 54 00 20 36 */ slwi r0, r0, 4
/* 80222818 0021E478 7C 04 04 6E */ lfsux f0, r4, r0
/* 8022281C 0021E47C D0 03 00 00 */ stfs f0, 0(r3)
/* 80222820 0021E480 C0 04 00 04 */ lfs f0, 4(r4)
/* 80222824 0021E484 D0 03 00 04 */ stfs f0, 4(r3)
/* 80222828 0021E488 C0 04 00 08 */ lfs f0, 8(r4)
/* 8022282C 0021E48C D0 03 00 08 */ stfs f0, 8(r3)
/* 80222830 0021E490 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80222834 0021E494 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80222838 0021E498 48 00 01 3C */ b lbl_80222974
lbl_8022283C:
/* 8022283C 0021E49C C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80222840 0021E4A0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222844 0021E4A4 4C 41 13 82 */ cror 2, 1, 2
/* 80222848 0021E4A8 40 82 00 48 */ bne lbl_80222890
/* 8022284C 0021E4AC A0 A4 00 14 */ lhz r5, 0x14(r4)
/* 80222850 0021E4B0 80 C4 00 00 */ lwz r6, 0(r4)
/* 80222854 0021E4B4 38 05 FF FF */ addi r0, r5, -1
/* 80222858 0021E4B8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022285C 0021E4BC 7C 87 02 14 */ add r4, r7, r0
/* 80222860 0021E4C0 A0 04 00 02 */ lhz r0, 2(r4)
/* 80222864 0021E4C4 54 00 20 36 */ slwi r0, r0, 4
/* 80222868 0021E4C8 7C 06 04 2E */ lfsx f0, r6, r0
/* 8022286C 0021E4CC 7C 86 02 14 */ add r4, r6, r0
/* 80222870 0021E4D0 D0 03 00 00 */ stfs f0, 0(r3)
/* 80222874 0021E4D4 C0 04 00 04 */ lfs f0, 4(r4)
/* 80222878 0021E4D8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8022287C 0021E4DC C0 04 00 08 */ lfs f0, 8(r4)
/* 80222880 0021E4E0 D0 03 00 08 */ stfs f0, 8(r3)
/* 80222884 0021E4E4 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80222888 0021E4E8 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8022288C 0021E4EC 48 00 00 E8 */ b lbl_80222974
lbl_80222890:
/* 80222890 0021E4F0 C0 44 00 18 */ lfs f2, 0x18(r4)
/* 80222894 0021E4F4 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 80222898 0021E4F8 EC 41 10 28 */ fsubs f2, f1, f2
/* 8022289C 0021E4FC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802228A0 0021E500 40 80 00 34 */ bge lbl_802228D4
/* 802228A4 0021E504 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 802228A8 0021E508 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802228AC 0021E50C 40 81 00 28 */ ble lbl_802228D4
/* 802228B0 0021E510 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802228B4 0021E514 D0 03 00 00 */ stfs f0, 0(r3)
/* 802228B8 0021E518 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802228BC 0021E51C D0 03 00 04 */ stfs f0, 4(r3)
/* 802228C0 0021E520 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802228C4 0021E524 D0 03 00 08 */ stfs f0, 8(r3)
/* 802228C8 0021E528 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 802228CC 0021E52C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802228D0 0021E530 48 00 00 A4 */ b lbl_80222974
lbl_802228D4:
/* 802228D4 0021E534 A0 04 00 16 */ lhz r0, 0x16(r4)
/* 802228D8 0021E538 2C 00 00 00 */ cmpwi r0, 0
/* 802228DC 0021E53C 41 82 00 20 */ beq lbl_802228FC
/* 802228E0 0021E540 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802228E4 0021E544 7C 67 02 14 */ add r3, r7, r0
/* 802228E8 0021E548 C0 03 00 08 */ lfs f0, 8(r3)
/* 802228EC 0021E54C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802228F0 0021E550 40 80 00 0C */ bge lbl_802228FC
/* 802228F4 0021E554 38 00 00 00 */ li r0, 0
/* 802228F8 0021E558 B0 04 00 16 */ sth r0, 0x16(r4)
lbl_802228FC:
/* 802228FC 0021E55C A0 04 00 16 */ lhz r0, 0x16(r4)
/* 80222900 0021E560 80 64 00 10 */ lwz r3, 0x10(r4)
/* 80222904 0021E564 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222908 0021E568 7C E3 02 14 */ add r7, r3, r0
/* 8022290C 0021E56C C0 07 00 14 */ lfs f0, 0x14(r7)
/* 80222910 0021E570 38 A7 00 0C */ addi r5, r7, 0xc
/* 80222914 0021E574 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222918 0021E578 40 80 00 28 */ bge lbl_80222940
/* 8022291C 0021E57C 48 00 00 14 */ b lbl_80222930
lbl_80222920:
/* 80222920 0021E580 A0 64 00 16 */ lhz r3, 0x16(r4)
/* 80222924 0021E584 38 A5 00 0C */ addi r5, r5, 0xc
/* 80222928 0021E588 38 03 00 01 */ addi r0, r3, 1
/* 8022292C 0021E58C B0 04 00 16 */ sth r0, 0x16(r4)
lbl_80222930:
/* 80222930 0021E590 C0 05 00 08 */ lfs f0, 8(r5)
/* 80222934 0021E594 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222938 0021E598 41 80 FF E8 */ blt lbl_80222920
/* 8022293C 0021E59C 38 E5 FF F4 */ addi r7, r5, -12
lbl_80222940:
/* 80222940 0021E5A0 FC 20 F8 90 */ fmr f1, f31
/* 80222944 0021E5A4 7F E3 FB 78 */ mr r3, r31
/* 80222948 0021E5A8 7C E4 3B 78 */ mr r4, r7
/* 8022294C 0021E5AC 4B FF EC 51 */ bl func_8022159C
/* 80222950 0021E5B0 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80222954 0021E5B4 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 80222958 0021E5B8 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8022295C 0021E5BC C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80222960 0021E5C0 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80222964 0021E5C4 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 80222968 0021E5C8 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8022296C 0021E5CC C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80222970 0021E5D0 D0 1E 00 0C */ stfs f0, 0xc(r30)
lbl_80222974:
/* 80222974 0021E5D4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80222978 0021E5D8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8022297C 0021E5DC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80222980 0021E5E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80222984 0021E5E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80222988 0021E5E8 7C 08 03 A6 */ mtlr r0
/* 8022298C 0021E5EC 38 21 00 30 */ addi r1, r1, 0x30
/* 80222990 0021E5F0 4E 80 00 20 */ blr
.global func_80222994
func_80222994:
/* 80222994 0021E5F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80222998 0021E5F8 7C 08 02 A6 */ mflr r0
/* 8022299C 0021E5FC 90 01 00 34 */ stw r0, 0x34(r1)
/* 802229A0 0021E600 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 802229A4 0021E604 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 802229A8 0021E608 FF E0 08 90 */ fmr f31, f1
/* 802229AC 0021E60C 7C 86 23 78 */ mr r6, r4
/* 802229B0 0021E610 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802229B4 0021E614 7C 7F 1B 78 */ mr r31, r3
/* 802229B8 0021E618 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 802229BC 0021E61C 2C 07 00 00 */ cmpwi r7, 0
/* 802229C0 0021E620 40 82 00 A0 */ bne lbl_80222A60
/* 802229C4 0021E624 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 802229C8 0021E628 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802229CC 0021E62C 40 82 00 0C */ bne lbl_802229D8
/* 802229D0 0021E630 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 802229D4 0021E634 48 00 01 90 */ b lbl_80222B64
lbl_802229D8:
/* 802229D8 0021E638 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 802229DC 0021E63C 3C 00 43 30 */ lis r0, 0x4330
/* 802229E0 0021E640 90 01 00 08 */ stw r0, 8(r1)
/* 802229E4 0021E644 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802229E8 0021E648 C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 802229EC 0021E64C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802229F0 0021E650 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 802229F4 0021E654 90 01 00 0C */ stw r0, 0xc(r1)
/* 802229F8 0021E658 C8 41 00 08 */ lfd f2, 8(r1)
/* 802229FC 0021E65C EC 42 18 28 */ fsubs f2, f2, f3
/* 80222A00 0021E660 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222A04 0021E664 EC 00 08 2A */ fadds f0, f0, f1
/* 80222A08 0021E668 FC 00 00 1E */ fctiwz f0, f0
/* 80222A0C 0021E66C D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80222A10 0021E670 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222A14 0021E674 2C 00 00 00 */ cmpwi r0, 0
/* 80222A18 0021E678 41 81 00 14 */ bgt lbl_80222A2C
/* 80222A1C 0021E67C 80 83 00 00 */ lwz r4, 0(r3)
/* 80222A20 0021E680 88 04 00 00 */ lbz r0, 0(r4)
/* 80222A24 0021E684 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80222A28 0021E688 48 00 00 30 */ b lbl_80222A58
lbl_80222A2C:
/* 80222A2C 0021E68C A0 83 00 08 */ lhz r4, 8(r3)
/* 80222A30 0021E690 7C 00 20 00 */ cmpw r0, r4
/* 80222A34 0021E694 41 80 00 18 */ blt lbl_80222A4C
/* 80222A38 0021E698 80 03 00 00 */ lwz r0, 0(r3)
/* 80222A3C 0021E69C 7C 84 02 14 */ add r4, r4, r0
/* 80222A40 0021E6A0 88 04 FF FF */ lbz r0, -1(r4)
/* 80222A44 0021E6A4 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80222A48 0021E6A8 48 00 00 10 */ b lbl_80222A58
lbl_80222A4C:
/* 80222A4C 0021E6AC 80 83 00 00 */ lwz r4, 0(r3)
/* 80222A50 0021E6B0 7C 04 00 AE */ lbzx r0, r4, r0
/* 80222A54 0021E6B4 98 03 00 1C */ stb r0, 0x1c(r3)
lbl_80222A58:
/* 80222A58 0021E6B8 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 80222A5C 0021E6BC 48 00 01 08 */ b lbl_80222B64
lbl_80222A60:
/* 80222A60 0021E6C0 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80222A64 0021E6C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222A68 0021E6C8 4C 40 13 82 */ cror 2, 0, 2
/* 80222A6C 0021E6CC 40 82 00 20 */ bne lbl_80222A8C
/* 80222A70 0021E6D0 A0 07 00 00 */ lhz r0, 0(r7)
/* 80222A74 0021E6D4 2C 00 00 00 */ cmpwi r0, 0
/* 80222A78 0021E6D8 40 82 00 14 */ bne lbl_80222A8C
/* 80222A7C 0021E6DC 80 63 00 00 */ lwz r3, 0(r3)
/* 80222A80 0021E6E0 A0 07 00 02 */ lhz r0, 2(r7)
/* 80222A84 0021E6E4 7C 63 00 AE */ lbzx r3, r3, r0
/* 80222A88 0021E6E8 48 00 00 DC */ b lbl_80222B64
lbl_80222A8C:
/* 80222A8C 0021E6EC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80222A90 0021E6F0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222A94 0021E6F4 4C 41 13 82 */ cror 2, 1, 2
/* 80222A98 0021E6F8 40 82 00 24 */ bne lbl_80222ABC
/* 80222A9C 0021E6FC A0 83 00 14 */ lhz r4, 0x14(r3)
/* 80222AA0 0021E700 80 A3 00 00 */ lwz r5, 0(r3)
/* 80222AA4 0021E704 38 04 FF FF */ addi r0, r4, -1
/* 80222AA8 0021E708 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222AAC 0021E70C 7C 67 02 14 */ add r3, r7, r0
/* 80222AB0 0021E710 A0 03 00 02 */ lhz r0, 2(r3)
/* 80222AB4 0021E714 7C 65 00 AE */ lbzx r3, r5, r0
/* 80222AB8 0021E718 48 00 00 AC */ b lbl_80222B64
lbl_80222ABC:
/* 80222ABC 0021E71C C0 43 00 18 */ lfs f2, 0x18(r3)
/* 80222AC0 0021E720 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 80222AC4 0021E724 EC 41 10 28 */ fsubs f2, f1, f2
/* 80222AC8 0021E728 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222ACC 0021E72C 40 80 00 18 */ bge lbl_80222AE4
/* 80222AD0 0021E730 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 80222AD4 0021E734 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222AD8 0021E738 40 81 00 0C */ ble lbl_80222AE4
/* 80222ADC 0021E73C 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 80222AE0 0021E740 48 00 00 84 */ b lbl_80222B64
lbl_80222AE4:
/* 80222AE4 0021E744 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222AE8 0021E748 2C 00 00 00 */ cmpwi r0, 0
/* 80222AEC 0021E74C 41 82 00 20 */ beq lbl_80222B0C
/* 80222AF0 0021E750 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222AF4 0021E754 7C 87 02 14 */ add r4, r7, r0
/* 80222AF8 0021E758 C0 04 00 08 */ lfs f0, 8(r4)
/* 80222AFC 0021E75C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222B00 0021E760 40 80 00 0C */ bge lbl_80222B0C
/* 80222B04 0021E764 38 00 00 00 */ li r0, 0
/* 80222B08 0021E768 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222B0C:
/* 80222B0C 0021E76C A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222B10 0021E770 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80222B14 0021E774 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222B18 0021E778 7C 84 02 14 */ add r4, r4, r0
/* 80222B1C 0021E77C C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80222B20 0021E780 38 A4 00 0C */ addi r5, r4, 0xc
/* 80222B24 0021E784 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222B28 0021E788 40 80 00 28 */ bge lbl_80222B50
/* 80222B2C 0021E78C 48 00 00 14 */ b lbl_80222B40
lbl_80222B30:
/* 80222B30 0021E790 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222B34 0021E794 38 A5 00 0C */ addi r5, r5, 0xc
/* 80222B38 0021E798 38 04 00 01 */ addi r0, r4, 1
/* 80222B3C 0021E79C B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222B40:
/* 80222B40 0021E7A0 C0 05 00 08 */ lfs f0, 8(r5)
/* 80222B44 0021E7A4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222B48 0021E7A8 41 80 FF E8 */ blt lbl_80222B30
/* 80222B4C 0021E7AC 38 85 FF F4 */ addi r4, r5, -12
lbl_80222B50:
/* 80222B50 0021E7B0 FC 20 F8 90 */ fmr f1, f31
/* 80222B54 0021E7B4 7F E3 FB 78 */ mr r3, r31
/* 80222B58 0021E7B8 4B FF E2 6D */ bl func_80220DC4
/* 80222B5C 0021E7BC D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80222B60 0021E7C0 88 7F 00 1C */ lbz r3, 0x1c(r31)
lbl_80222B64:
/* 80222B64 0021E7C4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80222B68 0021E7C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80222B6C 0021E7CC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80222B70 0021E7D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80222B74 0021E7D4 7C 08 03 A6 */ mtlr r0
/* 80222B78 0021E7D8 38 21 00 30 */ addi r1, r1, 0x30
/* 80222B7C 0021E7DC 4E 80 00 20 */ blr
.global func_80222B80
func_80222B80:
/* 80222B80 0021E7E0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80222B84 0021E7E4 7C 08 02 A6 */ mflr r0
/* 80222B88 0021E7E8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80222B8C 0021E7EC DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80222B90 0021E7F0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80222B94 0021E7F4 FF E0 08 90 */ fmr f31, f1
/* 80222B98 0021E7F8 7C 86 23 78 */ mr r6, r4
/* 80222B9C 0021E7FC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80222BA0 0021E800 7C 7F 1B 78 */ mr r31, r3
/* 80222BA4 0021E804 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80222BA8 0021E808 2C 07 00 00 */ cmpwi r7, 0
/* 80222BAC 0021E80C 40 82 00 A0 */ bne lbl_80222C4C
/* 80222BB0 0021E810 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80222BB4 0021E814 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80222BB8 0021E818 40 82 00 0C */ bne lbl_80222BC4
/* 80222BBC 0021E81C 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 80222BC0 0021E820 48 00 01 90 */ b lbl_80222D50
lbl_80222BC4:
/* 80222BC4 0021E824 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222BC8 0021E828 3C 00 43 30 */ lis r0, 0x4330
/* 80222BCC 0021E82C 90 01 00 08 */ stw r0, 8(r1)
/* 80222BD0 0021E830 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80222BD4 0021E834 C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80222BD8 0021E838 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80222BDC 0021E83C C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80222BE0 0021E840 90 01 00 0C */ stw r0, 0xc(r1)
/* 80222BE4 0021E844 C8 41 00 08 */ lfd f2, 8(r1)
/* 80222BE8 0021E848 EC 42 18 28 */ fsubs f2, f2, f3
/* 80222BEC 0021E84C EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222BF0 0021E850 EC 00 08 2A */ fadds f0, f0, f1
/* 80222BF4 0021E854 FC 00 00 1E */ fctiwz f0, f0
/* 80222BF8 0021E858 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80222BFC 0021E85C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222C00 0021E860 2C 00 00 00 */ cmpwi r0, 0
/* 80222C04 0021E864 41 81 00 14 */ bgt lbl_80222C18
/* 80222C08 0021E868 80 83 00 00 */ lwz r4, 0(r3)
/* 80222C0C 0021E86C 88 04 00 00 */ lbz r0, 0(r4)
/* 80222C10 0021E870 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80222C14 0021E874 48 00 00 30 */ b lbl_80222C44
lbl_80222C18:
/* 80222C18 0021E878 A0 83 00 08 */ lhz r4, 8(r3)
/* 80222C1C 0021E87C 7C 00 20 00 */ cmpw r0, r4
/* 80222C20 0021E880 41 80 00 18 */ blt lbl_80222C38
/* 80222C24 0021E884 80 03 00 00 */ lwz r0, 0(r3)
/* 80222C28 0021E888 7C 84 02 14 */ add r4, r4, r0
/* 80222C2C 0021E88C 88 04 FF FF */ lbz r0, -1(r4)
/* 80222C30 0021E890 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80222C34 0021E894 48 00 00 10 */ b lbl_80222C44
lbl_80222C38:
/* 80222C38 0021E898 80 83 00 00 */ lwz r4, 0(r3)
/* 80222C3C 0021E89C 7C 04 00 AE */ lbzx r0, r4, r0
/* 80222C40 0021E8A0 98 03 00 1C */ stb r0, 0x1c(r3)
lbl_80222C44:
/* 80222C44 0021E8A4 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 80222C48 0021E8A8 48 00 01 08 */ b lbl_80222D50
lbl_80222C4C:
/* 80222C4C 0021E8AC C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80222C50 0021E8B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222C54 0021E8B4 4C 40 13 82 */ cror 2, 0, 2
/* 80222C58 0021E8B8 40 82 00 20 */ bne lbl_80222C78
/* 80222C5C 0021E8BC A0 07 00 00 */ lhz r0, 0(r7)
/* 80222C60 0021E8C0 2C 00 00 00 */ cmpwi r0, 0
/* 80222C64 0021E8C4 40 82 00 14 */ bne lbl_80222C78
/* 80222C68 0021E8C8 80 63 00 00 */ lwz r3, 0(r3)
/* 80222C6C 0021E8CC A0 07 00 02 */ lhz r0, 2(r7)
/* 80222C70 0021E8D0 7C 63 00 AE */ lbzx r3, r3, r0
/* 80222C74 0021E8D4 48 00 00 DC */ b lbl_80222D50
lbl_80222C78:
/* 80222C78 0021E8D8 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80222C7C 0021E8DC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222C80 0021E8E0 4C 41 13 82 */ cror 2, 1, 2
/* 80222C84 0021E8E4 40 82 00 24 */ bne lbl_80222CA8
/* 80222C88 0021E8E8 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 80222C8C 0021E8EC 80 A3 00 00 */ lwz r5, 0(r3)
/* 80222C90 0021E8F0 38 04 FF FF */ addi r0, r4, -1
/* 80222C94 0021E8F4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222C98 0021E8F8 7C 67 02 14 */ add r3, r7, r0
/* 80222C9C 0021E8FC A0 03 00 02 */ lhz r0, 2(r3)
/* 80222CA0 0021E900 7C 65 00 AE */ lbzx r3, r5, r0
/* 80222CA4 0021E904 48 00 00 AC */ b lbl_80222D50
lbl_80222CA8:
/* 80222CA8 0021E908 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 80222CAC 0021E90C C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 80222CB0 0021E910 EC 41 10 28 */ fsubs f2, f1, f2
/* 80222CB4 0021E914 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222CB8 0021E918 40 80 00 18 */ bge lbl_80222CD0
/* 80222CBC 0021E91C C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 80222CC0 0021E920 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222CC4 0021E924 40 81 00 0C */ ble lbl_80222CD0
/* 80222CC8 0021E928 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 80222CCC 0021E92C 48 00 00 84 */ b lbl_80222D50
lbl_80222CD0:
/* 80222CD0 0021E930 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222CD4 0021E934 2C 00 00 00 */ cmpwi r0, 0
/* 80222CD8 0021E938 41 82 00 20 */ beq lbl_80222CF8
/* 80222CDC 0021E93C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222CE0 0021E940 7C 87 02 14 */ add r4, r7, r0
/* 80222CE4 0021E944 C0 04 00 08 */ lfs f0, 8(r4)
/* 80222CE8 0021E948 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222CEC 0021E94C 40 80 00 0C */ bge lbl_80222CF8
/* 80222CF0 0021E950 38 00 00 00 */ li r0, 0
/* 80222CF4 0021E954 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222CF8:
/* 80222CF8 0021E958 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222CFC 0021E95C 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80222D00 0021E960 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222D04 0021E964 7C 84 02 14 */ add r4, r4, r0
/* 80222D08 0021E968 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80222D0C 0021E96C 38 A4 00 0C */ addi r5, r4, 0xc
/* 80222D10 0021E970 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222D14 0021E974 40 80 00 28 */ bge lbl_80222D3C
/* 80222D18 0021E978 48 00 00 14 */ b lbl_80222D2C
lbl_80222D1C:
/* 80222D1C 0021E97C A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222D20 0021E980 38 A5 00 0C */ addi r5, r5, 0xc
/* 80222D24 0021E984 38 04 00 01 */ addi r0, r4, 1
/* 80222D28 0021E988 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222D2C:
/* 80222D2C 0021E98C C0 05 00 08 */ lfs f0, 8(r5)
/* 80222D30 0021E990 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222D34 0021E994 41 80 FF E8 */ blt lbl_80222D1C
/* 80222D38 0021E998 38 85 FF F4 */ addi r4, r5, -12
lbl_80222D3C:
/* 80222D3C 0021E99C FC 20 F8 90 */ fmr f1, f31
/* 80222D40 0021E9A0 7F E3 FB 78 */ mr r3, r31
/* 80222D44 0021E9A4 4B FF E2 7D */ bl func_80220FC0
/* 80222D48 0021E9A8 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80222D4C 0021E9AC 88 7F 00 1C */ lbz r3, 0x1c(r31)
lbl_80222D50:
/* 80222D50 0021E9B0 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80222D54 0021E9B4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80222D58 0021E9B8 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80222D5C 0021E9BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80222D60 0021E9C0 7C 08 03 A6 */ mtlr r0
/* 80222D64 0021E9C4 38 21 00 30 */ addi r1, r1, 0x30
/* 80222D68 0021E9C8 4E 80 00 20 */ blr
.global func_80222D6C
func_80222D6C:
/* 80222D6C 0021E9CC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80222D70 0021E9D0 7C 08 02 A6 */ mflr r0
/* 80222D74 0021E9D4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80222D78 0021E9D8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80222D7C 0021E9DC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80222D80 0021E9E0 FF E0 08 90 */ fmr f31, f1
/* 80222D84 0021E9E4 7C 86 23 78 */ mr r6, r4
/* 80222D88 0021E9E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80222D8C 0021E9EC 7C 7F 1B 78 */ mr r31, r3
/* 80222D90 0021E9F0 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80222D94 0021E9F4 2C 07 00 00 */ cmpwi r7, 0
/* 80222D98 0021E9F8 40 82 00 A8 */ bne lbl_80222E40
/* 80222D9C 0021E9FC C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80222DA0 0021EA00 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80222DA4 0021EA04 40 82 00 0C */ bne lbl_80222DB0
/* 80222DA8 0021EA08 A8 63 00 1C */ lha r3, 0x1c(r3)
/* 80222DAC 0021EA0C 48 00 01 A0 */ b lbl_80222F4C
lbl_80222DB0:
/* 80222DB0 0021EA10 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222DB4 0021EA14 3C 00 43 30 */ lis r0, 0x4330
/* 80222DB8 0021EA18 90 01 00 08 */ stw r0, 8(r1)
/* 80222DBC 0021EA1C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80222DC0 0021EA20 C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80222DC4 0021EA24 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80222DC8 0021EA28 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80222DCC 0021EA2C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80222DD0 0021EA30 C8 41 00 08 */ lfd f2, 8(r1)
/* 80222DD4 0021EA34 EC 42 18 28 */ fsubs f2, f2, f3
/* 80222DD8 0021EA38 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222DDC 0021EA3C EC 00 08 2A */ fadds f0, f0, f1
/* 80222DE0 0021EA40 FC 00 00 1E */ fctiwz f0, f0
/* 80222DE4 0021EA44 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80222DE8 0021EA48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222DEC 0021EA4C 2C 00 00 00 */ cmpwi r0, 0
/* 80222DF0 0021EA50 41 81 00 14 */ bgt lbl_80222E04
/* 80222DF4 0021EA54 80 83 00 00 */ lwz r4, 0(r3)
/* 80222DF8 0021EA58 A8 04 00 00 */ lha r0, 0(r4)
/* 80222DFC 0021EA5C B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80222E00 0021EA60 48 00 00 38 */ b lbl_80222E38
lbl_80222E04:
/* 80222E04 0021EA64 A0 83 00 08 */ lhz r4, 8(r3)
/* 80222E08 0021EA68 7C 00 20 00 */ cmpw r0, r4
/* 80222E0C 0021EA6C 41 80 00 1C */ blt lbl_80222E28
/* 80222E10 0021EA70 38 04 FF FF */ addi r0, r4, -1
/* 80222E14 0021EA74 80 83 00 00 */ lwz r4, 0(r3)
/* 80222E18 0021EA78 54 00 08 3C */ slwi r0, r0, 1
/* 80222E1C 0021EA7C 7C 04 02 AE */ lhax r0, r4, r0
/* 80222E20 0021EA80 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80222E24 0021EA84 48 00 00 14 */ b lbl_80222E38
lbl_80222E28:
/* 80222E28 0021EA88 80 83 00 00 */ lwz r4, 0(r3)
/* 80222E2C 0021EA8C 54 00 08 3C */ slwi r0, r0, 1
/* 80222E30 0021EA90 7C 04 02 AE */ lhax r0, r4, r0
/* 80222E34 0021EA94 B0 03 00 1C */ sth r0, 0x1c(r3)
lbl_80222E38:
/* 80222E38 0021EA98 A8 63 00 1C */ lha r3, 0x1c(r3)
/* 80222E3C 0021EA9C 48 00 01 10 */ b lbl_80222F4C
lbl_80222E40:
/* 80222E40 0021EAA0 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80222E44 0021EAA4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222E48 0021EAA8 4C 40 13 82 */ cror 2, 0, 2
/* 80222E4C 0021EAAC 40 82 00 24 */ bne lbl_80222E70
/* 80222E50 0021EAB0 A0 07 00 00 */ lhz r0, 0(r7)
/* 80222E54 0021EAB4 2C 00 00 00 */ cmpwi r0, 0
/* 80222E58 0021EAB8 40 82 00 18 */ bne lbl_80222E70
/* 80222E5C 0021EABC A0 07 00 02 */ lhz r0, 2(r7)
/* 80222E60 0021EAC0 80 63 00 00 */ lwz r3, 0(r3)
/* 80222E64 0021EAC4 54 00 08 3C */ slwi r0, r0, 1
/* 80222E68 0021EAC8 7C 63 02 AE */ lhax r3, r3, r0
/* 80222E6C 0021EACC 48 00 00 E0 */ b lbl_80222F4C
lbl_80222E70:
/* 80222E70 0021EAD0 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80222E74 0021EAD4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222E78 0021EAD8 4C 41 13 82 */ cror 2, 1, 2
/* 80222E7C 0021EADC 40 82 00 28 */ bne lbl_80222EA4
/* 80222E80 0021EAE0 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 80222E84 0021EAE4 80 A3 00 00 */ lwz r5, 0(r3)
/* 80222E88 0021EAE8 38 04 FF FF */ addi r0, r4, -1
/* 80222E8C 0021EAEC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222E90 0021EAF0 7C 67 02 14 */ add r3, r7, r0
/* 80222E94 0021EAF4 A0 03 00 02 */ lhz r0, 2(r3)
/* 80222E98 0021EAF8 54 00 08 3C */ slwi r0, r0, 1
/* 80222E9C 0021EAFC 7C 65 02 AE */ lhax r3, r5, r0
/* 80222EA0 0021EB00 48 00 00 AC */ b lbl_80222F4C
lbl_80222EA4:
/* 80222EA4 0021EB04 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 80222EA8 0021EB08 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 80222EAC 0021EB0C EC 41 10 28 */ fsubs f2, f1, f2
/* 80222EB0 0021EB10 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222EB4 0021EB14 40 80 00 18 */ bge lbl_80222ECC
/* 80222EB8 0021EB18 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 80222EBC 0021EB1C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80222EC0 0021EB20 40 81 00 0C */ ble lbl_80222ECC
/* 80222EC4 0021EB24 A8 63 00 1C */ lha r3, 0x1c(r3)
/* 80222EC8 0021EB28 48 00 00 84 */ b lbl_80222F4C
lbl_80222ECC:
/* 80222ECC 0021EB2C A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222ED0 0021EB30 2C 00 00 00 */ cmpwi r0, 0
/* 80222ED4 0021EB34 41 82 00 20 */ beq lbl_80222EF4
/* 80222ED8 0021EB38 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222EDC 0021EB3C 7C 87 02 14 */ add r4, r7, r0
/* 80222EE0 0021EB40 C0 04 00 08 */ lfs f0, 8(r4)
/* 80222EE4 0021EB44 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80222EE8 0021EB48 40 80 00 0C */ bge lbl_80222EF4
/* 80222EEC 0021EB4C 38 00 00 00 */ li r0, 0
/* 80222EF0 0021EB50 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222EF4:
/* 80222EF4 0021EB54 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80222EF8 0021EB58 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80222EFC 0021EB5C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222F00 0021EB60 7C 84 02 14 */ add r4, r4, r0
/* 80222F04 0021EB64 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80222F08 0021EB68 38 A4 00 0C */ addi r5, r4, 0xc
/* 80222F0C 0021EB6C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222F10 0021EB70 40 80 00 28 */ bge lbl_80222F38
/* 80222F14 0021EB74 48 00 00 14 */ b lbl_80222F28
lbl_80222F18:
/* 80222F18 0021EB78 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222F1C 0021EB7C 38 A5 00 0C */ addi r5, r5, 0xc
/* 80222F20 0021EB80 38 04 00 01 */ addi r0, r4, 1
/* 80222F24 0021EB84 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80222F28:
/* 80222F28 0021EB88 C0 05 00 08 */ lfs f0, 8(r5)
/* 80222F2C 0021EB8C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80222F30 0021EB90 41 80 FF E8 */ blt lbl_80222F18
/* 80222F34 0021EB94 38 85 FF F4 */ addi r4, r5, -12
lbl_80222F38:
/* 80222F38 0021EB98 FC 20 F8 90 */ fmr f1, f31
/* 80222F3C 0021EB9C 7F E3 FB 78 */ mr r3, r31
/* 80222F40 0021EBA0 4B FF E2 65 */ bl func_802211A4
/* 80222F44 0021EBA4 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80222F48 0021EBA8 A8 7F 00 1C */ lha r3, 0x1c(r31)
lbl_80222F4C:
/* 80222F4C 0021EBAC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80222F50 0021EBB0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80222F54 0021EBB4 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80222F58 0021EBB8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80222F5C 0021EBBC 7C 08 03 A6 */ mtlr r0
/* 80222F60 0021EBC0 38 21 00 30 */ addi r1, r1, 0x30
/* 80222F64 0021EBC4 4E 80 00 20 */ blr
.global func_80222F68
func_80222F68:
/* 80222F68 0021EBC8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80222F6C 0021EBCC 7C 08 02 A6 */ mflr r0
/* 80222F70 0021EBD0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80222F74 0021EBD4 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80222F78 0021EBD8 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80222F7C 0021EBDC FF E0 08 90 */ fmr f31, f1
/* 80222F80 0021EBE0 7C 86 23 78 */ mr r6, r4
/* 80222F84 0021EBE4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80222F88 0021EBE8 7C 7F 1B 78 */ mr r31, r3
/* 80222F8C 0021EBEC 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80222F90 0021EBF0 2C 07 00 00 */ cmpwi r7, 0
/* 80222F94 0021EBF4 40 82 00 A8 */ bne lbl_8022303C
/* 80222F98 0021EBF8 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80222F9C 0021EBFC FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80222FA0 0021EC00 40 82 00 0C */ bne lbl_80222FAC
/* 80222FA4 0021EC04 A0 63 00 1C */ lhz r3, 0x1c(r3)
/* 80222FA8 0021EC08 48 00 01 A0 */ b lbl_80223148
lbl_80222FAC:
/* 80222FAC 0021EC0C A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80222FB0 0021EC10 3C 00 43 30 */ lis r0, 0x4330
/* 80222FB4 0021EC14 90 01 00 08 */ stw r0, 8(r1)
/* 80222FB8 0021EC18 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80222FBC 0021EC1C C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 80222FC0 0021EC20 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80222FC4 0021EC24 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 80222FC8 0021EC28 90 01 00 0C */ stw r0, 0xc(r1)
/* 80222FCC 0021EC2C C8 41 00 08 */ lfd f2, 8(r1)
/* 80222FD0 0021EC30 EC 42 18 28 */ fsubs f2, f2, f3
/* 80222FD4 0021EC34 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80222FD8 0021EC38 EC 00 08 2A */ fadds f0, f0, f1
/* 80222FDC 0021EC3C FC 00 00 1E */ fctiwz f0, f0
/* 80222FE0 0021EC40 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80222FE4 0021EC44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80222FE8 0021EC48 2C 00 00 00 */ cmpwi r0, 0
/* 80222FEC 0021EC4C 41 81 00 14 */ bgt lbl_80223000
/* 80222FF0 0021EC50 80 83 00 00 */ lwz r4, 0(r3)
/* 80222FF4 0021EC54 A0 04 00 00 */ lhz r0, 0(r4)
/* 80222FF8 0021EC58 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80222FFC 0021EC5C 48 00 00 38 */ b lbl_80223034
lbl_80223000:
/* 80223000 0021EC60 A0 83 00 08 */ lhz r4, 8(r3)
/* 80223004 0021EC64 7C 00 20 00 */ cmpw r0, r4
/* 80223008 0021EC68 41 80 00 1C */ blt lbl_80223024
/* 8022300C 0021EC6C 38 04 FF FF */ addi r0, r4, -1
/* 80223010 0021EC70 80 83 00 00 */ lwz r4, 0(r3)
/* 80223014 0021EC74 54 00 08 3C */ slwi r0, r0, 1
/* 80223018 0021EC78 7C 04 02 2E */ lhzx r0, r4, r0
/* 8022301C 0021EC7C B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80223020 0021EC80 48 00 00 14 */ b lbl_80223034
lbl_80223024:
/* 80223024 0021EC84 80 83 00 00 */ lwz r4, 0(r3)
/* 80223028 0021EC88 54 00 08 3C */ slwi r0, r0, 1
/* 8022302C 0021EC8C 7C 04 02 2E */ lhzx r0, r4, r0
/* 80223030 0021EC90 B0 03 00 1C */ sth r0, 0x1c(r3)
lbl_80223034:
/* 80223034 0021EC94 A0 63 00 1C */ lhz r3, 0x1c(r3)
/* 80223038 0021EC98 48 00 01 10 */ b lbl_80223148
lbl_8022303C:
/* 8022303C 0021EC9C C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80223040 0021ECA0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80223044 0021ECA4 4C 40 13 82 */ cror 2, 0, 2
/* 80223048 0021ECA8 40 82 00 24 */ bne lbl_8022306C
/* 8022304C 0021ECAC A0 07 00 00 */ lhz r0, 0(r7)
/* 80223050 0021ECB0 2C 00 00 00 */ cmpwi r0, 0
/* 80223054 0021ECB4 40 82 00 18 */ bne lbl_8022306C
/* 80223058 0021ECB8 A0 07 00 02 */ lhz r0, 2(r7)
/* 8022305C 0021ECBC 80 63 00 00 */ lwz r3, 0(r3)
/* 80223060 0021ECC0 54 00 08 3C */ slwi r0, r0, 1
/* 80223064 0021ECC4 7C 63 02 2E */ lhzx r3, r3, r0
/* 80223068 0021ECC8 48 00 00 E0 */ b lbl_80223148
lbl_8022306C:
/* 8022306C 0021ECCC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80223070 0021ECD0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80223074 0021ECD4 4C 41 13 82 */ cror 2, 1, 2
/* 80223078 0021ECD8 40 82 00 28 */ bne lbl_802230A0
/* 8022307C 0021ECDC A0 83 00 14 */ lhz r4, 0x14(r3)
/* 80223080 0021ECE0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80223084 0021ECE4 38 04 FF FF */ addi r0, r4, -1
/* 80223088 0021ECE8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022308C 0021ECEC 7C 67 02 14 */ add r3, r7, r0
/* 80223090 0021ECF0 A0 03 00 02 */ lhz r0, 2(r3)
/* 80223094 0021ECF4 54 00 08 3C */ slwi r0, r0, 1
/* 80223098 0021ECF8 7C 65 02 2E */ lhzx r3, r5, r0
/* 8022309C 0021ECFC 48 00 00 AC */ b lbl_80223148
lbl_802230A0:
/* 802230A0 0021ED00 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 802230A4 0021ED04 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 802230A8 0021ED08 EC 41 10 28 */ fsubs f2, f1, f2
/* 802230AC 0021ED0C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802230B0 0021ED10 40 80 00 18 */ bge lbl_802230C8
/* 802230B4 0021ED14 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 802230B8 0021ED18 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802230BC 0021ED1C 40 81 00 0C */ ble lbl_802230C8
/* 802230C0 0021ED20 A0 63 00 1C */ lhz r3, 0x1c(r3)
/* 802230C4 0021ED24 48 00 00 84 */ b lbl_80223148
lbl_802230C8:
/* 802230C8 0021ED28 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 802230CC 0021ED2C 2C 00 00 00 */ cmpwi r0, 0
/* 802230D0 0021ED30 41 82 00 20 */ beq lbl_802230F0
/* 802230D4 0021ED34 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802230D8 0021ED38 7C 87 02 14 */ add r4, r7, r0
/* 802230DC 0021ED3C C0 04 00 08 */ lfs f0, 8(r4)
/* 802230E0 0021ED40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802230E4 0021ED44 40 80 00 0C */ bge lbl_802230F0
/* 802230E8 0021ED48 38 00 00 00 */ li r0, 0
/* 802230EC 0021ED4C B0 03 00 16 */ sth r0, 0x16(r3)
lbl_802230F0:
/* 802230F0 0021ED50 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 802230F4 0021ED54 80 83 00 10 */ lwz r4, 0x10(r3)
/* 802230F8 0021ED58 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802230FC 0021ED5C 7C 84 02 14 */ add r4, r4, r0
/* 80223100 0021ED60 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80223104 0021ED64 38 A4 00 0C */ addi r5, r4, 0xc
/* 80223108 0021ED68 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8022310C 0021ED6C 40 80 00 28 */ bge lbl_80223134
/* 80223110 0021ED70 48 00 00 14 */ b lbl_80223124
lbl_80223114:
/* 80223114 0021ED74 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 80223118 0021ED78 38 A5 00 0C */ addi r5, r5, 0xc
/* 8022311C 0021ED7C 38 04 00 01 */ addi r0, r4, 1
/* 80223120 0021ED80 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80223124:
/* 80223124 0021ED84 C0 05 00 08 */ lfs f0, 8(r5)
/* 80223128 0021ED88 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8022312C 0021ED8C 41 80 FF E8 */ blt lbl_80223114
/* 80223130 0021ED90 38 85 FF F4 */ addi r4, r5, -12
lbl_80223134:
/* 80223134 0021ED94 FC 20 F8 90 */ fmr f1, f31
/* 80223138 0021ED98 7F E3 FB 78 */ mr r3, r31
/* 8022313C 0021ED9C 4B FF E2 69 */ bl func_802213A4
/* 80223140 0021EDA0 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80223144 0021EDA4 A0 7F 00 1C */ lhz r3, 0x1c(r31)
lbl_80223148:
/* 80223148 0021EDA8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8022314C 0021EDAC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80223150 0021EDB0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80223154 0021EDB4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80223158 0021EDB8 7C 08 03 A6 */ mtlr r0
/* 8022315C 0021EDBC 38 21 00 30 */ addi r1, r1, 0x30
/* 80223160 0021EDC0 4E 80 00 20 */ blr
.global func_80223164
func_80223164:
/* 80223164 0021EDC4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80223168 0021EDC8 7C 08 02 A6 */ mflr r0
/* 8022316C 0021EDCC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80223170 0021EDD0 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80223174 0021EDD4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80223178 0021EDD8 FF E0 08 90 */ fmr f31, f1
/* 8022317C 0021EDDC 7C 86 23 78 */ mr r6, r4
/* 80223180 0021EDE0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80223184 0021EDE4 7C 7F 1B 78 */ mr r31, r3
/* 80223188 0021EDE8 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 8022318C 0021EDEC 2C 07 00 00 */ cmpwi r7, 0
/* 80223190 0021EDF0 40 82 00 F0 */ bne lbl_80223280
/* 80223194 0021EDF4 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80223198 0021EDF8 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8022319C 0021EDFC 40 82 00 0C */ bne lbl_802231A8
/* 802231A0 0021EE00 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 802231A4 0021EE04 48 00 01 E8 */ b lbl_8022338C
lbl_802231A8:
/* 802231A8 0021EE08 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 802231AC 0021EE0C 3C 00 43 30 */ lis r0, 0x4330
/* 802231B0 0021EE10 90 01 00 08 */ stw r0, 8(r1)
/* 802231B4 0021EE14 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802231B8 0021EE18 C8 62 9C 00 */ lfd f3, lbl_80642200-_SDA2_BASE_(r2)
/* 802231BC 0021EE1C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802231C0 0021EE20 C0 02 9C 10 */ lfs f0, lbl_80642210-_SDA2_BASE_(r2)
/* 802231C4 0021EE24 90 01 00 0C */ stw r0, 0xc(r1)
/* 802231C8 0021EE28 C8 41 00 08 */ lfd f2, 8(r1)
/* 802231CC 0021EE2C EC 42 18 28 */ fsubs f2, f2, f3
/* 802231D0 0021EE30 EC 21 00 B2 */ fmuls f1, f1, f2
/* 802231D4 0021EE34 EC 00 08 2A */ fadds f0, f0, f1
/* 802231D8 0021EE38 FC 00 00 1E */ fctiwz f0, f0
/* 802231DC 0021EE3C D8 01 00 10 */ stfd f0, 0x10(r1)
/* 802231E0 0021EE40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802231E4 0021EE44 2C 00 00 00 */ cmpwi r0, 0
/* 802231E8 0021EE48 41 81 00 2C */ bgt lbl_80223214
/* 802231EC 0021EE4C 80 83 00 00 */ lwz r4, 0(r3)
/* 802231F0 0021EE50 88 04 00 00 */ lbz r0, 0(r4)
/* 802231F4 0021EE54 98 03 00 1C */ stb r0, 0x1c(r3)
/* 802231F8 0021EE58 88 04 00 01 */ lbz r0, 1(r4)
/* 802231FC 0021EE5C 98 03 00 1D */ stb r0, 0x1d(r3)
/* 80223200 0021EE60 88 04 00 02 */ lbz r0, 2(r4)
/* 80223204 0021EE64 98 03 00 1E */ stb r0, 0x1e(r3)
/* 80223208 0021EE68 88 04 00 03 */ lbz r0, 3(r4)
/* 8022320C 0021EE6C 98 03 00 1F */ stb r0, 0x1f(r3)
/* 80223210 0021EE70 48 00 00 68 */ b lbl_80223278
lbl_80223214:
/* 80223214 0021EE74 A0 83 00 08 */ lhz r4, 8(r3)
/* 80223218 0021EE78 7C 00 20 00 */ cmpw r0, r4
/* 8022321C 0021EE7C 41 80 00 34 */ blt lbl_80223250
/* 80223220 0021EE80 38 04 FF FF */ addi r0, r4, -1
/* 80223224 0021EE84 80 83 00 00 */ lwz r4, 0(r3)
/* 80223228 0021EE88 54 00 10 3A */ slwi r0, r0, 2
/* 8022322C 0021EE8C 7C 04 00 EE */ lbzux r0, r4, r0
/* 80223230 0021EE90 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80223234 0021EE94 88 04 00 01 */ lbz r0, 1(r4)
/* 80223238 0021EE98 98 03 00 1D */ stb r0, 0x1d(r3)
/* 8022323C 0021EE9C 88 04 00 02 */ lbz r0, 2(r4)
/* 80223240 0021EEA0 98 03 00 1E */ stb r0, 0x1e(r3)
/* 80223244 0021EEA4 88 04 00 03 */ lbz r0, 3(r4)
/* 80223248 0021EEA8 98 03 00 1F */ stb r0, 0x1f(r3)
/* 8022324C 0021EEAC 48 00 00 2C */ b lbl_80223278
lbl_80223250:
/* 80223250 0021EEB0 54 00 10 3A */ slwi r0, r0, 2
/* 80223254 0021EEB4 80 83 00 00 */ lwz r4, 0(r3)
/* 80223258 0021EEB8 7C 04 00 EE */ lbzux r0, r4, r0
/* 8022325C 0021EEBC 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80223260 0021EEC0 88 04 00 01 */ lbz r0, 1(r4)
/* 80223264 0021EEC4 98 03 00 1D */ stb r0, 0x1d(r3)
/* 80223268 0021EEC8 88 04 00 02 */ lbz r0, 2(r4)
/* 8022326C 0021EECC 98 03 00 1E */ stb r0, 0x1e(r3)
/* 80223270 0021EED0 88 04 00 03 */ lbz r0, 3(r4)
/* 80223274 0021EED4 98 03 00 1F */ stb r0, 0x1f(r3)
lbl_80223278:
/* 80223278 0021EED8 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 8022327C 0021EEDC 48 00 01 10 */ b lbl_8022338C
lbl_80223280:
/* 80223280 0021EEE0 C0 02 9C 14 */ lfs f0, lbl_80642214-_SDA2_BASE_(r2)
/* 80223284 0021EEE4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80223288 0021EEE8 4C 40 13 82 */ cror 2, 0, 2
/* 8022328C 0021EEEC 40 82 00 24 */ bne lbl_802232B0
/* 80223290 0021EEF0 A0 07 00 00 */ lhz r0, 0(r7)
/* 80223294 0021EEF4 2C 00 00 00 */ cmpwi r0, 0
/* 80223298 0021EEF8 40 82 00 18 */ bne lbl_802232B0
/* 8022329C 0021EEFC A0 07 00 02 */ lhz r0, 2(r7)
/* 802232A0 0021EF00 80 63 00 00 */ lwz r3, 0(r3)
/* 802232A4 0021EF04 54 00 10 3A */ slwi r0, r0, 2
/* 802232A8 0021EF08 7C 63 00 2E */ lwzx r3, r3, r0
/* 802232AC 0021EF0C 48 00 00 E0 */ b lbl_8022338C
lbl_802232B0:
/* 802232B0 0021EF10 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802232B4 0021EF14 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802232B8 0021EF18 4C 41 13 82 */ cror 2, 1, 2
/* 802232BC 0021EF1C 40 82 00 28 */ bne lbl_802232E4
/* 802232C0 0021EF20 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 802232C4 0021EF24 80 A3 00 00 */ lwz r5, 0(r3)
/* 802232C8 0021EF28 38 04 FF FF */ addi r0, r4, -1
/* 802232CC 0021EF2C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802232D0 0021EF30 7C 67 02 14 */ add r3, r7, r0
/* 802232D4 0021EF34 A0 03 00 02 */ lhz r0, 2(r3)
/* 802232D8 0021EF38 54 00 10 3A */ slwi r0, r0, 2
/* 802232DC 0021EF3C 7C 65 00 2E */ lwzx r3, r5, r0
/* 802232E0 0021EF40 48 00 00 AC */ b lbl_8022338C
lbl_802232E4:
/* 802232E4 0021EF44 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 802232E8 0021EF48 C0 02 9C 18 */ lfs f0, lbl_80642218-_SDA2_BASE_(r2)
/* 802232EC 0021EF4C EC 41 10 28 */ fsubs f2, f1, f2
/* 802232F0 0021EF50 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802232F4 0021EF54 40 80 00 18 */ bge lbl_8022330C
/* 802232F8 0021EF58 C0 02 9C 1C */ lfs f0, lbl_8064221C-_SDA2_BASE_(r2)
/* 802232FC 0021EF5C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80223300 0021EF60 40 81 00 0C */ ble lbl_8022330C
/* 80223304 0021EF64 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 80223308 0021EF68 48 00 00 84 */ b lbl_8022338C
lbl_8022330C:
/* 8022330C 0021EF6C A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80223310 0021EF70 2C 00 00 00 */ cmpwi r0, 0
/* 80223314 0021EF74 41 82 00 20 */ beq lbl_80223334
/* 80223318 0021EF78 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022331C 0021EF7C 7C 87 02 14 */ add r4, r7, r0
/* 80223320 0021EF80 C0 04 00 08 */ lfs f0, 8(r4)
/* 80223324 0021EF84 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80223328 0021EF88 40 80 00 0C */ bge lbl_80223334
/* 8022332C 0021EF8C 38 00 00 00 */ li r0, 0
/* 80223330 0021EF90 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80223334:
/* 80223334 0021EF94 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 80223338 0021EF98 80 83 00 10 */ lwz r4, 0x10(r3)
/* 8022333C 0021EF9C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80223340 0021EFA0 7C 84 02 14 */ add r4, r4, r0
/* 80223344 0021EFA4 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80223348 0021EFA8 38 A4 00 0C */ addi r5, r4, 0xc
/* 8022334C 0021EFAC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80223350 0021EFB0 40 80 00 28 */ bge lbl_80223378
/* 80223354 0021EFB4 48 00 00 14 */ b lbl_80223368
lbl_80223358:
/* 80223358 0021EFB8 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 8022335C 0021EFBC 38 A5 00 0C */ addi r5, r5, 0xc
/* 80223360 0021EFC0 38 04 00 01 */ addi r0, r4, 1
/* 80223364 0021EFC4 B0 03 00 16 */ sth r0, 0x16(r3)
lbl_80223368:
/* 80223368 0021EFC8 C0 05 00 08 */ lfs f0, 8(r5)
/* 8022336C 0021EFCC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80223370 0021EFD0 41 80 FF E8 */ blt lbl_80223358
/* 80223374 0021EFD4 38 85 FF F4 */ addi r4, r5, -12
lbl_80223378:
/* 80223378 0021EFD8 FC 20 F8 90 */ fmr f1, f31
/* 8022337C 0021EFDC 7F E3 FB 78 */ mr r3, r31
/* 80223380 0021EFE0 4B FF E3 59 */ bl func_802216D8
/* 80223384 0021EFE4 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 80223388 0021EFE8 80 7F 00 1C */ lwz r3, 0x1c(r31)
lbl_8022338C:
/* 8022338C 0021EFEC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80223390 0021EFF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80223394 0021EFF4 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80223398 0021EFF8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8022339C 0021EFFC 7C 08 03 A6 */ mtlr r0
/* 802233A0 0021F000 38 21 00 30 */ addi r1, r1, 0x30
/* 802233A4 0021F004 4E 80 00 20 */ blr
.global func_802233A8
func_802233A8:
/* 802233A8 0021F008 38 A0 00 01 */ li r5, 1
/* 802233AC 0021F00C 38 6D A2 B8 */ addi r3, r13, lbl_8063F578-_SDA_BASE_
/* 802233B0 0021F010 38 80 00 04 */ li r4, 4
/* 802233B4 0021F014 38 00 00 00 */ li r0, 0
/* 802233B8 0021F018 98 AD A2 B8 */ stb r5, lbl_8063F578-_SDA_BASE_(r13)
/* 802233BC 0021F01C B0 83 00 02 */ sth r4, 2(r3)
/* 802233C0 0021F020 98 03 00 04 */ stb r0, 4(r3)
/* 802233C4 0021F024 4E 80 00 20 */ blr
|