summaryrefslogtreecommitdiff
path: root/asm/code_801EE044.s
blob: 7ce6fa1d63149d3f735baff770fd5fb403524cee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
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
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
.include "macros.inc"

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

.global func_801EE044
func_801EE044:
/* 801EE044 001E9CA4  3D 00 80 49 */	lis r8, lbl_804919B0@ha
/* 801EE048 001E9CA8  3C A0 80 49 */	lis r5, lbl_80491A3C@ha
/* 801EE04C 001E9CAC  38 C0 00 01 */	li r6, 1
/* 801EE050 001E9CB0  39 20 00 00 */	li r9, 0
/* 801EE054 001E9CB4  39 08 19 B0 */	addi r8, r8, lbl_804919B0@l
/* 801EE058 001E9CB8  38 65 1A 3C */	addi r3, r5, lbl_80491A3C@l
/* 801EE05C 001E9CBC  38 E0 00 FF */	li r7, 0xff
/* 801EE060 001E9CC0  38 80 00 04 */	li r4, 4
/* 801EE064 001E9CC4  38 00 00 05 */	li r0, 5
/* 801EE068 001E9CC8  99 28 00 60 */	stb r9, 0x60(r8)
/* 801EE06C 001E9CCC  99 28 00 61 */	stb r9, 0x61(r8)
/* 801EE070 001E9CD0  99 28 00 62 */	stb r9, 0x62(r8)
/* 801EE074 001E9CD4  99 28 00 63 */	stb r9, 0x63(r8)
/* 801EE078 001E9CD8  99 28 00 64 */	stb r9, 0x64(r8)
/* 801EE07C 001E9CDC  99 28 00 65 */	stb r9, 0x65(r8)
/* 801EE080 001E9CE0  99 28 00 66 */	stb r9, 0x66(r8)
/* 801EE084 001E9CE4  98 E8 00 67 */	stb r7, 0x67(r8)
/* 801EE088 001E9CE8  98 C5 1A 3C */	stb r6, 0x1a3c(r5)
/* 801EE08C 001E9CEC  98 83 00 01 */	stb r4, 1(r3)
/* 801EE090 001E9CF0  98 03 00 02 */	stb r0, 2(r3)
/* 801EE094 001E9CF4  98 C3 00 06 */	stb r6, 6(r3)
/* 801EE098 001E9CF8  99 23 00 07 */	stb r9, 7(r3)
/* 801EE09C 001E9CFC  98 C3 00 0F */	stb r6, 0xf(r3)
/* 801EE0A0 001E9D00  4E 80 00 20 */	blr

.global func_801EE0A4
func_801EE0A4:
/* 801EE0A4 001E9D04  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 801EE0A8 001E9D08  7C 08 02 A6 */	mflr r0
/* 801EE0AC 001E9D0C  90 01 00 74 */	stw r0, 0x74(r1)
/* 801EE0B0 001E9D10  DB E1 00 60 */	stfd f31, 0x60(r1)
/* 801EE0B4 001E9D14  F3 E1 00 68 */	psq_st f31, 104(r1), 0, qr0
/* 801EE0B8 001E9D18  DB C1 00 50 */	stfd f30, 0x50(r1)
/* 801EE0BC 001E9D1C  F3 C1 00 58 */	psq_st f30, 88(r1), 0, qr0
/* 801EE0C0 001E9D20  3C 00 43 30 */	lis r0, 0x4330
/* 801EE0C4 001E9D24  C8 42 97 C8 */	lfd f2, lbl_80641DC8-_SDA2_BASE_(r2)
/* 801EE0C8 001E9D28  90 81 00 3C */	stw r4, 0x3c(r1)
/* 801EE0CC 001E9D2C  C0 22 97 C0 */	lfs f1, lbl_80641DC0-_SDA2_BASE_(r2)
/* 801EE0D0 001E9D30  90 01 00 38 */	stw r0, 0x38(r1)
/* 801EE0D4 001E9D34  C8 01 00 38 */	lfd f0, 0x38(r1)
/* 801EE0D8 001E9D38  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 801EE0DC 001E9D3C  7C DF 33 78 */	mr r31, r6
/* 801EE0E0 001E9D40  EC 40 10 28 */	fsubs f2, f0, f2
/* 801EE0E4 001E9D44  C0 02 97 C4 */	lfs f0, lbl_80641DC4-_SDA2_BASE_(r2)
/* 801EE0E8 001E9D48  93 C1 00 48 */	stw r30, 0x48(r1)
/* 801EE0EC 001E9D4C  7C BE 2B 78 */	mr r30, r5
/* 801EE0F0 001E9D50  7F C4 F3 78 */	mr r4, r30
/* 801EE0F4 001E9D54  EF E2 08 24 */	fdivs f31, f2, f1
/* 801EE0F8 001E9D58  93 A1 00 44 */	stw r29, 0x44(r1)
/* 801EE0FC 001E9D5C  7C 7D 1B 78 */	mr r29, r3
/* 801EE100 001E9D60  7F C3 F3 78 */	mr r3, r30
/* 801EE104 001E9D64  EF C0 F8 28 */	fsubs f30, f0, f31
/* 801EE108 001E9D68  FC 20 F0 90 */	fmr f1, f30
/* 801EE10C 001E9D6C  48 08 EC 01 */	bl PSVECScale
/* 801EE110 001E9D70  7F A3 EB 78 */	mr r3, r29
/* 801EE114 001E9D74  7F E4 FB 78 */	mr r4, r31
/* 801EE118 001E9D78  38 A1 00 2C */	addi r5, r1, 0x2c
/* 801EE11C 001E9D7C  48 08 E8 E1 */	bl PSMTXMultVec
/* 801EE120 001E9D80  FC 20 F8 90 */	fmr f1, f31
/* 801EE124 001E9D84  38 61 00 2C */	addi r3, r1, 0x2c
/* 801EE128 001E9D88  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE12C 001E9D8C  48 08 EB E1 */	bl PSVECScale
/* 801EE130 001E9D90  7F C3 F3 78 */	mr r3, r30
/* 801EE134 001E9D94  7F C5 F3 78 */	mr r5, r30
/* 801EE138 001E9D98  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE13C 001E9D9C  48 08 EB 89 */	bl PSVECAdd
/* 801EE140 001E9DA0  FC 20 F0 90 */	fmr f1, f30
/* 801EE144 001E9DA4  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE148 001E9DA8  7C 64 1B 78 */	mr r4, r3
/* 801EE14C 001E9DAC  48 08 EB C1 */	bl PSVECScale
/* 801EE150 001E9DB0  7F A3 EB 78 */	mr r3, r29
/* 801EE154 001E9DB4  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EE158 001E9DB8  38 A1 00 14 */	addi r5, r1, 0x14
/* 801EE15C 001E9DBC  48 08 E8 F5 */	bl PSMTXMultVecSR
/* 801EE160 001E9DC0  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 801EE164 001E9DC4  FC 20 F8 90 */	fmr f1, f31
/* 801EE168 001E9DC8  C0 41 00 18 */	lfs f2, 0x18(r1)
/* 801EE16C 001E9DCC  38 61 00 2C */	addi r3, r1, 0x2c
/* 801EE170 001E9DD0  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801EE174 001E9DD4  38 81 00 08 */	addi r4, r1, 8
/* 801EE178 001E9DD8  D0 61 00 2C */	stfs f3, 0x2c(r1)
/* 801EE17C 001E9DDC  D0 41 00 30 */	stfs f2, 0x30(r1)
/* 801EE180 001E9DE0  D0 01 00 34 */	stfs f0, 0x34(r1)
/* 801EE184 001E9DE4  48 08 EB 89 */	bl PSVECScale
/* 801EE188 001E9DE8  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE18C 001E9DEC  38 81 00 08 */	addi r4, r1, 8
/* 801EE190 001E9DF0  7C 65 1B 78 */	mr r5, r3
/* 801EE194 001E9DF4  48 08 EB 31 */	bl PSVECAdd
/* 801EE198 001E9DF8  E3 E1 00 68 */	psq_l f31, 104(r1), 0, qr0
/* 801EE19C 001E9DFC  CB E1 00 60 */	lfd f31, 0x60(r1)
/* 801EE1A0 001E9E00  E3 C1 00 58 */	psq_l f30, 88(r1), 0, qr0
/* 801EE1A4 001E9E04  CB C1 00 50 */	lfd f30, 0x50(r1)
/* 801EE1A8 001E9E08  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 801EE1AC 001E9E0C  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 801EE1B0 001E9E10  80 01 00 74 */	lwz r0, 0x74(r1)
/* 801EE1B4 001E9E14  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 801EE1B8 001E9E18  7C 08 03 A6 */	mtlr r0
/* 801EE1BC 001E9E1C  38 21 00 70 */	addi r1, r1, 0x70
/* 801EE1C0 001E9E20  4E 80 00 20 */	blr

.global func_801EE1C4
func_801EE1C4:
/* 801EE1C4 001E9E24  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 801EE1C8 001E9E28  7C 08 02 A6 */	mflr r0
/* 801EE1CC 001E9E2C  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 801EE1D0 001E9E30  DB E1 00 B0 */	stfd f31, 0xb0(r1)
/* 801EE1D4 001E9E34  F3 E1 00 B8 */	psq_st f31, 184(r1), 0, qr0
/* 801EE1D8 001E9E38  DB C1 00 A0 */	stfd f30, 0xa0(r1)
/* 801EE1DC 001E9E3C  F3 C1 00 A8 */	psq_st f30, 168(r1), 0, qr0
/* 801EE1E0 001E9E40  DB A1 00 90 */	stfd f29, 0x90(r1)
/* 801EE1E4 001E9E44  F3 A1 00 98 */	psq_st f29, 152(r1), 0, qr0
/* 801EE1E8 001E9E48  3C 00 43 30 */	lis r0, 0x4330
/* 801EE1EC 001E9E4C  C8 82 97 C8 */	lfd f4, lbl_80641DC8-_SDA2_BASE_(r2)
/* 801EE1F0 001E9E50  90 A1 00 6C */	stw r5, 0x6c(r1)
/* 801EE1F4 001E9E54  C0 42 97 C0 */	lfs f2, lbl_80641DC0-_SDA2_BASE_(r2)
/* 801EE1F8 001E9E58  90 01 00 68 */	stw r0, 0x68(r1)
/* 801EE1FC 001E9E5C  C8 01 00 68 */	lfd f0, 0x68(r1)
/* 801EE200 001E9E60  90 C1 00 74 */	stw r6, 0x74(r1)
/* 801EE204 001E9E64  EC 60 20 28 */	fsubs f3, f0, f4
/* 801EE208 001E9E68  C0 02 97 C4 */	lfs f0, lbl_80641DC4-_SDA2_BASE_(r2)
/* 801EE20C 001E9E6C  90 01 00 70 */	stw r0, 0x70(r1)
/* 801EE210 001E9E70  C8 21 00 70 */	lfd f1, 0x70(r1)
/* 801EE214 001E9E74  EF E3 10 24 */	fdivs f31, f3, f2
/* 801EE218 001E9E78  93 E1 00 8C */	stw r31, 0x8c(r1)
/* 801EE21C 001E9E7C  7D 1F 43 78 */	mr r31, r8
/* 801EE220 001E9E80  93 C1 00 88 */	stw r30, 0x88(r1)
/* 801EE224 001E9E84  7C FE 3B 78 */	mr r30, r7
/* 801EE228 001E9E88  93 A1 00 84 */	stw r29, 0x84(r1)
/* 801EE22C 001E9E8C  EC 21 20 28 */	fsubs f1, f1, f4
/* 801EE230 001E9E90  93 81 00 80 */	stw r28, 0x80(r1)
/* 801EE234 001E9E94  7C 7C 1B 78 */	mr r28, r3
/* 801EE238 001E9E98  7C 9D 23 78 */	mr r29, r4
/* 801EE23C 001E9E9C  7F C3 F3 78 */	mr r3, r30
/* 801EE240 001E9EA0  7F C4 F3 78 */	mr r4, r30
/* 801EE244 001E9EA4  EF C1 10 24 */	fdivs f30, f1, f2
/* 801EE248 001E9EA8  EC 3F F0 2A */	fadds f1, f31, f30
/* 801EE24C 001E9EAC  EF A0 08 28 */	fsubs f29, f0, f1
/* 801EE250 001E9EB0  FC 20 E8 90 */	fmr f1, f29
/* 801EE254 001E9EB4  48 08 EA B9 */	bl PSVECScale
/* 801EE258 001E9EB8  7F 83 E3 78 */	mr r3, r28
/* 801EE25C 001E9EBC  7F E4 FB 78 */	mr r4, r31
/* 801EE260 001E9EC0  38 A1 00 5C */	addi r5, r1, 0x5c
/* 801EE264 001E9EC4  48 08 E7 99 */	bl PSMTXMultVec
/* 801EE268 001E9EC8  FC 20 F8 90 */	fmr f1, f31
/* 801EE26C 001E9ECC  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE270 001E9ED0  38 81 00 50 */	addi r4, r1, 0x50
/* 801EE274 001E9ED4  48 08 EA 99 */	bl PSVECScale
/* 801EE278 001E9ED8  7F C3 F3 78 */	mr r3, r30
/* 801EE27C 001E9EDC  7F C5 F3 78 */	mr r5, r30
/* 801EE280 001E9EE0  38 81 00 50 */	addi r4, r1, 0x50
/* 801EE284 001E9EE4  48 08 EA 41 */	bl PSVECAdd
/* 801EE288 001E9EE8  7F A3 EB 78 */	mr r3, r29
/* 801EE28C 001E9EEC  7F E4 FB 78 */	mr r4, r31
/* 801EE290 001E9EF0  38 A1 00 44 */	addi r5, r1, 0x44
/* 801EE294 001E9EF4  48 08 E7 69 */	bl PSMTXMultVec
/* 801EE298 001E9EF8  C0 61 00 44 */	lfs f3, 0x44(r1)
/* 801EE29C 001E9EFC  FC 20 F0 90 */	fmr f1, f30
/* 801EE2A0 001E9F00  C0 41 00 48 */	lfs f2, 0x48(r1)
/* 801EE2A4 001E9F04  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE2A8 001E9F08  C0 01 00 4C */	lfs f0, 0x4c(r1)
/* 801EE2AC 001E9F0C  38 81 00 38 */	addi r4, r1, 0x38
/* 801EE2B0 001E9F10  D0 61 00 5C */	stfs f3, 0x5c(r1)
/* 801EE2B4 001E9F14  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801EE2B8 001E9F18  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 801EE2BC 001E9F1C  48 08 EA 51 */	bl PSVECScale
/* 801EE2C0 001E9F20  7F C3 F3 78 */	mr r3, r30
/* 801EE2C4 001E9F24  7F C5 F3 78 */	mr r5, r30
/* 801EE2C8 001E9F28  38 81 00 38 */	addi r4, r1, 0x38
/* 801EE2CC 001E9F2C  48 08 E9 F9 */	bl PSVECAdd
/* 801EE2D0 001E9F30  FC 20 E8 90 */	fmr f1, f29
/* 801EE2D4 001E9F34  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE2D8 001E9F38  7C 64 1B 78 */	mr r4, r3
/* 801EE2DC 001E9F3C  48 08 EA 31 */	bl PSVECScale
/* 801EE2E0 001E9F40  7F 83 E3 78 */	mr r3, r28
/* 801EE2E4 001E9F44  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EE2E8 001E9F48  38 A1 00 2C */	addi r5, r1, 0x2c
/* 801EE2EC 001E9F4C  48 08 E7 65 */	bl PSMTXMultVecSR
/* 801EE2F0 001E9F50  C0 61 00 2C */	lfs f3, 0x2c(r1)
/* 801EE2F4 001E9F54  FC 20 F8 90 */	fmr f1, f31
/* 801EE2F8 001E9F58  C0 41 00 30 */	lfs f2, 0x30(r1)
/* 801EE2FC 001E9F5C  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE300 001E9F60  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 801EE304 001E9F64  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE308 001E9F68  D0 61 00 5C */	stfs f3, 0x5c(r1)
/* 801EE30C 001E9F6C  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801EE310 001E9F70  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 801EE314 001E9F74  48 08 E9 F9 */	bl PSVECScale
/* 801EE318 001E9F78  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE31C 001E9F7C  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE320 001E9F80  7C 65 1B 78 */	mr r5, r3
/* 801EE324 001E9F84  48 08 E9 A1 */	bl PSVECAdd
/* 801EE328 001E9F88  7F A3 EB 78 */	mr r3, r29
/* 801EE32C 001E9F8C  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EE330 001E9F90  38 A1 00 14 */	addi r5, r1, 0x14
/* 801EE334 001E9F94  48 08 E7 1D */	bl PSMTXMultVecSR
/* 801EE338 001E9F98  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 801EE33C 001E9F9C  FC 20 F0 90 */	fmr f1, f30
/* 801EE340 001E9FA0  C0 41 00 18 */	lfs f2, 0x18(r1)
/* 801EE344 001E9FA4  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE348 001E9FA8  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801EE34C 001E9FAC  38 81 00 08 */	addi r4, r1, 8
/* 801EE350 001E9FB0  D0 61 00 5C */	stfs f3, 0x5c(r1)
/* 801EE354 001E9FB4  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801EE358 001E9FB8  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 801EE35C 001E9FBC  48 08 E9 B1 */	bl PSVECScale
/* 801EE360 001E9FC0  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE364 001E9FC4  38 81 00 08 */	addi r4, r1, 8
/* 801EE368 001E9FC8  7C 65 1B 78 */	mr r5, r3
/* 801EE36C 001E9FCC  48 08 E9 59 */	bl PSVECAdd
/* 801EE370 001E9FD0  E3 E1 00 B8 */	psq_l f31, 184(r1), 0, qr0
/* 801EE374 001E9FD4  CB E1 00 B0 */	lfd f31, 0xb0(r1)
/* 801EE378 001E9FD8  E3 C1 00 A8 */	psq_l f30, 168(r1), 0, qr0
/* 801EE37C 001E9FDC  CB C1 00 A0 */	lfd f30, 0xa0(r1)
/* 801EE380 001E9FE0  E3 A1 00 98 */	psq_l f29, 152(r1), 0, qr0
/* 801EE384 001E9FE4  CB A1 00 90 */	lfd f29, 0x90(r1)
/* 801EE388 001E9FE8  83 E1 00 8C */	lwz r31, 0x8c(r1)
/* 801EE38C 001E9FEC  83 C1 00 88 */	lwz r30, 0x88(r1)
/* 801EE390 001E9FF0  83 A1 00 84 */	lwz r29, 0x84(r1)
/* 801EE394 001E9FF4  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 801EE398 001E9FF8  83 81 00 80 */	lwz r28, 0x80(r1)
/* 801EE39C 001E9FFC  7C 08 03 A6 */	mtlr r0
/* 801EE3A0 001EA000  38 21 00 C0 */	addi r1, r1, 0xc0
/* 801EE3A4 001EA004  4E 80 00 20 */	blr

.global func_801EE3A8
func_801EE3A8:
/* 801EE3A8 001EA008  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 801EE3AC 001EA00C  7C 08 02 A6 */	mflr r0
/* 801EE3B0 001EA010  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 801EE3B4 001EA014  DB E1 00 90 */	stfd f31, 0x90(r1)
/* 801EE3B8 001EA018  F3 E1 00 98 */	psq_st f31, 152(r1), 0, qr0
/* 801EE3BC 001EA01C  DB C1 00 80 */	stfd f30, 0x80(r1)
/* 801EE3C0 001EA020  F3 C1 00 88 */	psq_st f30, 136(r1), 0, qr0
/* 801EE3C4 001EA024  3C 00 43 30 */	lis r0, 0x4330
/* 801EE3C8 001EA028  C8 42 97 C8 */	lfd f2, lbl_80641DC8-_SDA2_BASE_(r2)
/* 801EE3CC 001EA02C  90 81 00 6C */	stw r4, 0x6c(r1)
/* 801EE3D0 001EA030  C0 22 97 C0 */	lfs f1, lbl_80641DC0-_SDA2_BASE_(r2)
/* 801EE3D4 001EA034  90 01 00 68 */	stw r0, 0x68(r1)
/* 801EE3D8 001EA038  C8 01 00 68 */	lfd f0, 0x68(r1)
/* 801EE3DC 001EA03C  93 E1 00 7C */	stw r31, 0x7c(r1)
/* 801EE3E0 001EA040  7C DF 33 78 */	mr r31, r6
/* 801EE3E4 001EA044  EC 40 10 28 */	fsubs f2, f0, f2
/* 801EE3E8 001EA048  C0 02 97 C4 */	lfs f0, lbl_80641DC4-_SDA2_BASE_(r2)
/* 801EE3EC 001EA04C  93 C1 00 78 */	stw r30, 0x78(r1)
/* 801EE3F0 001EA050  7C BE 2B 78 */	mr r30, r5
/* 801EE3F4 001EA054  7F C4 F3 78 */	mr r4, r30
/* 801EE3F8 001EA058  EF E2 08 24 */	fdivs f31, f2, f1
/* 801EE3FC 001EA05C  93 A1 00 74 */	stw r29, 0x74(r1)
/* 801EE400 001EA060  7C 7D 1B 78 */	mr r29, r3
/* 801EE404 001EA064  7F C3 F3 78 */	mr r3, r30
/* 801EE408 001EA068  EF C0 F8 28 */	fsubs f30, f0, f31
/* 801EE40C 001EA06C  FC 20 F0 90 */	fmr f1, f30
/* 801EE410 001EA070  48 08 E8 FD */	bl PSVECScale
/* 801EE414 001EA074  7F A3 EB 78 */	mr r3, r29
/* 801EE418 001EA078  7F E4 FB 78 */	mr r4, r31
/* 801EE41C 001EA07C  38 A1 00 5C */	addi r5, r1, 0x5c
/* 801EE420 001EA080  48 08 E5 DD */	bl PSMTXMultVec
/* 801EE424 001EA084  FC 20 F8 90 */	fmr f1, f31
/* 801EE428 001EA088  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE42C 001EA08C  38 81 00 50 */	addi r4, r1, 0x50
/* 801EE430 001EA090  48 08 E8 DD */	bl PSVECScale
/* 801EE434 001EA094  7F C3 F3 78 */	mr r3, r30
/* 801EE438 001EA098  7F C5 F3 78 */	mr r5, r30
/* 801EE43C 001EA09C  38 81 00 50 */	addi r4, r1, 0x50
/* 801EE440 001EA0A0  48 08 E8 85 */	bl PSVECAdd
/* 801EE444 001EA0A4  FC 20 F0 90 */	fmr f1, f30
/* 801EE448 001EA0A8  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE44C 001EA0AC  7C 64 1B 78 */	mr r4, r3
/* 801EE450 001EA0B0  48 08 E8 BD */	bl PSVECScale
/* 801EE454 001EA0B4  7F A3 EB 78 */	mr r3, r29
/* 801EE458 001EA0B8  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EE45C 001EA0BC  38 A1 00 44 */	addi r5, r1, 0x44
/* 801EE460 001EA0C0  48 08 E5 F1 */	bl PSMTXMultVecSR
/* 801EE464 001EA0C4  C0 61 00 44 */	lfs f3, 0x44(r1)
/* 801EE468 001EA0C8  FC 20 F8 90 */	fmr f1, f31
/* 801EE46C 001EA0CC  C0 41 00 48 */	lfs f2, 0x48(r1)
/* 801EE470 001EA0D0  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE474 001EA0D4  C0 01 00 4C */	lfs f0, 0x4c(r1)
/* 801EE478 001EA0D8  38 81 00 38 */	addi r4, r1, 0x38
/* 801EE47C 001EA0DC  D0 61 00 5C */	stfs f3, 0x5c(r1)
/* 801EE480 001EA0E0  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801EE484 001EA0E4  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 801EE488 001EA0E8  48 08 E8 85 */	bl PSVECScale
/* 801EE48C 001EA0EC  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE490 001EA0F0  38 81 00 38 */	addi r4, r1, 0x38
/* 801EE494 001EA0F4  7C 65 1B 78 */	mr r5, r3
/* 801EE498 001EA0F8  48 08 E8 2D */	bl PSVECAdd
/* 801EE49C 001EA0FC  FC 20 F0 90 */	fmr f1, f30
/* 801EE4A0 001EA100  38 7E 00 18 */	addi r3, r30, 0x18
/* 801EE4A4 001EA104  7C 64 1B 78 */	mr r4, r3
/* 801EE4A8 001EA108  48 08 E8 65 */	bl PSVECScale
/* 801EE4AC 001EA10C  7F A3 EB 78 */	mr r3, r29
/* 801EE4B0 001EA110  38 9F 00 18 */	addi r4, r31, 0x18
/* 801EE4B4 001EA114  38 A1 00 2C */	addi r5, r1, 0x2c
/* 801EE4B8 001EA118  48 08 E5 99 */	bl PSMTXMultVecSR
/* 801EE4BC 001EA11C  C0 61 00 2C */	lfs f3, 0x2c(r1)
/* 801EE4C0 001EA120  FC 20 F8 90 */	fmr f1, f31
/* 801EE4C4 001EA124  C0 41 00 30 */	lfs f2, 0x30(r1)
/* 801EE4C8 001EA128  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE4CC 001EA12C  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 801EE4D0 001EA130  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE4D4 001EA134  D0 61 00 5C */	stfs f3, 0x5c(r1)
/* 801EE4D8 001EA138  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801EE4DC 001EA13C  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 801EE4E0 001EA140  48 08 E8 2D */	bl PSVECScale
/* 801EE4E4 001EA144  38 7E 00 18 */	addi r3, r30, 0x18
/* 801EE4E8 001EA148  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE4EC 001EA14C  7C 65 1B 78 */	mr r5, r3
/* 801EE4F0 001EA150  48 08 E7 D5 */	bl PSVECAdd
/* 801EE4F4 001EA154  FC 20 F0 90 */	fmr f1, f30
/* 801EE4F8 001EA158  38 7E 00 24 */	addi r3, r30, 0x24
/* 801EE4FC 001EA15C  7C 64 1B 78 */	mr r4, r3
/* 801EE500 001EA160  48 08 E8 0D */	bl PSVECScale
/* 801EE504 001EA164  7F A3 EB 78 */	mr r3, r29
/* 801EE508 001EA168  38 9F 00 24 */	addi r4, r31, 0x24
/* 801EE50C 001EA16C  38 A1 00 14 */	addi r5, r1, 0x14
/* 801EE510 001EA170  48 08 E5 41 */	bl PSMTXMultVecSR
/* 801EE514 001EA174  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 801EE518 001EA178  FC 20 F8 90 */	fmr f1, f31
/* 801EE51C 001EA17C  C0 41 00 18 */	lfs f2, 0x18(r1)
/* 801EE520 001EA180  38 61 00 5C */	addi r3, r1, 0x5c
/* 801EE524 001EA184  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801EE528 001EA188  38 81 00 08 */	addi r4, r1, 8
/* 801EE52C 001EA18C  D0 61 00 5C */	stfs f3, 0x5c(r1)
/* 801EE530 001EA190  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801EE534 001EA194  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 801EE538 001EA198  48 08 E7 D5 */	bl PSVECScale
/* 801EE53C 001EA19C  38 7E 00 24 */	addi r3, r30, 0x24
/* 801EE540 001EA1A0  38 81 00 08 */	addi r4, r1, 8
/* 801EE544 001EA1A4  7C 65 1B 78 */	mr r5, r3
/* 801EE548 001EA1A8  48 08 E7 7D */	bl PSVECAdd
/* 801EE54C 001EA1AC  E3 E1 00 98 */	psq_l f31, 152(r1), 0, qr0
/* 801EE550 001EA1B0  CB E1 00 90 */	lfd f31, 0x90(r1)
/* 801EE554 001EA1B4  E3 C1 00 88 */	psq_l f30, 136(r1), 0, qr0
/* 801EE558 001EA1B8  CB C1 00 80 */	lfd f30, 0x80(r1)
/* 801EE55C 001EA1BC  83 E1 00 7C */	lwz r31, 0x7c(r1)
/* 801EE560 001EA1C0  83 C1 00 78 */	lwz r30, 0x78(r1)
/* 801EE564 001EA1C4  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 801EE568 001EA1C8  83 A1 00 74 */	lwz r29, 0x74(r1)
/* 801EE56C 001EA1CC  7C 08 03 A6 */	mtlr r0
/* 801EE570 001EA1D0  38 21 00 A0 */	addi r1, r1, 0xa0
/* 801EE574 001EA1D4  4E 80 00 20 */	blr

.global func_801EE578
func_801EE578:
/* 801EE578 001EA1D8  94 21 FE E0 */	stwu r1, -0x120(r1)
/* 801EE57C 001EA1DC  7C 08 02 A6 */	mflr r0
/* 801EE580 001EA1E0  90 01 01 24 */	stw r0, 0x124(r1)
/* 801EE584 001EA1E4  DB E1 01 10 */	stfd f31, 0x110(r1)
/* 801EE588 001EA1E8  F3 E1 01 18 */	psq_st f31, 280(r1), 0, qr0
/* 801EE58C 001EA1EC  DB C1 01 00 */	stfd f30, 0x100(r1)
/* 801EE590 001EA1F0  F3 C1 01 08 */	psq_st f30, 264(r1), 0, qr0
/* 801EE594 001EA1F4  DB A1 00 F0 */	stfd f29, 0xf0(r1)
/* 801EE598 001EA1F8  F3 A1 00 F8 */	psq_st f29, 248(r1), 0, qr0
/* 801EE59C 001EA1FC  3C 00 43 30 */	lis r0, 0x4330
/* 801EE5A0 001EA200  C8 82 97 C8 */	lfd f4, lbl_80641DC8-_SDA2_BASE_(r2)
/* 801EE5A4 001EA204  90 A1 00 CC */	stw r5, 0xcc(r1)
/* 801EE5A8 001EA208  C0 42 97 C0 */	lfs f2, lbl_80641DC0-_SDA2_BASE_(r2)
/* 801EE5AC 001EA20C  90 01 00 C8 */	stw r0, 0xc8(r1)
/* 801EE5B0 001EA210  C8 01 00 C8 */	lfd f0, 0xc8(r1)
/* 801EE5B4 001EA214  90 C1 00 D4 */	stw r6, 0xd4(r1)
/* 801EE5B8 001EA218  EC 60 20 28 */	fsubs f3, f0, f4
/* 801EE5BC 001EA21C  C0 02 97 C4 */	lfs f0, lbl_80641DC4-_SDA2_BASE_(r2)
/* 801EE5C0 001EA220  90 01 00 D0 */	stw r0, 0xd0(r1)
/* 801EE5C4 001EA224  C8 21 00 D0 */	lfd f1, 0xd0(r1)
/* 801EE5C8 001EA228  EF E3 10 24 */	fdivs f31, f3, f2
/* 801EE5CC 001EA22C  93 E1 00 EC */	stw r31, 0xec(r1)
/* 801EE5D0 001EA230  7D 1F 43 78 */	mr r31, r8
/* 801EE5D4 001EA234  93 C1 00 E8 */	stw r30, 0xe8(r1)
/* 801EE5D8 001EA238  7C FE 3B 78 */	mr r30, r7
/* 801EE5DC 001EA23C  93 A1 00 E4 */	stw r29, 0xe4(r1)
/* 801EE5E0 001EA240  EC 21 20 28 */	fsubs f1, f1, f4
/* 801EE5E4 001EA244  93 81 00 E0 */	stw r28, 0xe0(r1)
/* 801EE5E8 001EA248  7C 7C 1B 78 */	mr r28, r3
/* 801EE5EC 001EA24C  7C 9D 23 78 */	mr r29, r4
/* 801EE5F0 001EA250  7F C3 F3 78 */	mr r3, r30
/* 801EE5F4 001EA254  7F C4 F3 78 */	mr r4, r30
/* 801EE5F8 001EA258  EF C1 10 24 */	fdivs f30, f1, f2
/* 801EE5FC 001EA25C  EC 3F F0 2A */	fadds f1, f31, f30
/* 801EE600 001EA260  EF A0 08 28 */	fsubs f29, f0, f1
/* 801EE604 001EA264  FC 20 E8 90 */	fmr f1, f29
/* 801EE608 001EA268  48 08 E7 05 */	bl PSVECScale
/* 801EE60C 001EA26C  7F 83 E3 78 */	mr r3, r28
/* 801EE610 001EA270  7F E4 FB 78 */	mr r4, r31
/* 801EE614 001EA274  38 A1 00 BC */	addi r5, r1, 0xbc
/* 801EE618 001EA278  48 08 E3 E5 */	bl PSMTXMultVec
/* 801EE61C 001EA27C  FC 20 F8 90 */	fmr f1, f31
/* 801EE620 001EA280  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE624 001EA284  38 81 00 B0 */	addi r4, r1, 0xb0
/* 801EE628 001EA288  48 08 E6 E5 */	bl PSVECScale
/* 801EE62C 001EA28C  7F C3 F3 78 */	mr r3, r30
/* 801EE630 001EA290  7F C5 F3 78 */	mr r5, r30
/* 801EE634 001EA294  38 81 00 B0 */	addi r4, r1, 0xb0
/* 801EE638 001EA298  48 08 E6 8D */	bl PSVECAdd
/* 801EE63C 001EA29C  7F A3 EB 78 */	mr r3, r29
/* 801EE640 001EA2A0  7F E4 FB 78 */	mr r4, r31
/* 801EE644 001EA2A4  38 A1 00 A4 */	addi r5, r1, 0xa4
/* 801EE648 001EA2A8  48 08 E3 B5 */	bl PSMTXMultVec
/* 801EE64C 001EA2AC  C0 61 00 A4 */	lfs f3, 0xa4(r1)
/* 801EE650 001EA2B0  FC 20 F0 90 */	fmr f1, f30
/* 801EE654 001EA2B4  C0 41 00 A8 */	lfs f2, 0xa8(r1)
/* 801EE658 001EA2B8  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE65C 001EA2BC  C0 01 00 AC */	lfs f0, 0xac(r1)
/* 801EE660 001EA2C0  38 81 00 98 */	addi r4, r1, 0x98
/* 801EE664 001EA2C4  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE668 001EA2C8  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE66C 001EA2CC  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE670 001EA2D0  48 08 E6 9D */	bl PSVECScale
/* 801EE674 001EA2D4  7F C3 F3 78 */	mr r3, r30
/* 801EE678 001EA2D8  7F C5 F3 78 */	mr r5, r30
/* 801EE67C 001EA2DC  38 81 00 98 */	addi r4, r1, 0x98
/* 801EE680 001EA2E0  48 08 E6 45 */	bl PSVECAdd
/* 801EE684 001EA2E4  FC 20 E8 90 */	fmr f1, f29
/* 801EE688 001EA2E8  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE68C 001EA2EC  7C 64 1B 78 */	mr r4, r3
/* 801EE690 001EA2F0  48 08 E6 7D */	bl PSVECScale
/* 801EE694 001EA2F4  7F 83 E3 78 */	mr r3, r28
/* 801EE698 001EA2F8  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EE69C 001EA2FC  38 A1 00 8C */	addi r5, r1, 0x8c
/* 801EE6A0 001EA300  48 08 E3 B1 */	bl PSMTXMultVecSR
/* 801EE6A4 001EA304  C0 61 00 8C */	lfs f3, 0x8c(r1)
/* 801EE6A8 001EA308  FC 20 F8 90 */	fmr f1, f31
/* 801EE6AC 001EA30C  C0 41 00 90 */	lfs f2, 0x90(r1)
/* 801EE6B0 001EA310  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE6B4 001EA314  C0 01 00 94 */	lfs f0, 0x94(r1)
/* 801EE6B8 001EA318  38 81 00 80 */	addi r4, r1, 0x80
/* 801EE6BC 001EA31C  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE6C0 001EA320  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE6C4 001EA324  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE6C8 001EA328  48 08 E6 45 */	bl PSVECScale
/* 801EE6CC 001EA32C  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE6D0 001EA330  38 81 00 80 */	addi r4, r1, 0x80
/* 801EE6D4 001EA334  7C 65 1B 78 */	mr r5, r3
/* 801EE6D8 001EA338  48 08 E5 ED */	bl PSVECAdd
/* 801EE6DC 001EA33C  7F A3 EB 78 */	mr r3, r29
/* 801EE6E0 001EA340  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EE6E4 001EA344  38 A1 00 74 */	addi r5, r1, 0x74
/* 801EE6E8 001EA348  48 08 E3 69 */	bl PSMTXMultVecSR
/* 801EE6EC 001EA34C  C0 61 00 74 */	lfs f3, 0x74(r1)
/* 801EE6F0 001EA350  FC 20 F0 90 */	fmr f1, f30
/* 801EE6F4 001EA354  C0 41 00 78 */	lfs f2, 0x78(r1)
/* 801EE6F8 001EA358  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE6FC 001EA35C  C0 01 00 7C */	lfs f0, 0x7c(r1)
/* 801EE700 001EA360  38 81 00 68 */	addi r4, r1, 0x68
/* 801EE704 001EA364  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE708 001EA368  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE70C 001EA36C  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE710 001EA370  48 08 E5 FD */	bl PSVECScale
/* 801EE714 001EA374  38 7E 00 0C */	addi r3, r30, 0xc
/* 801EE718 001EA378  38 81 00 68 */	addi r4, r1, 0x68
/* 801EE71C 001EA37C  7C 65 1B 78 */	mr r5, r3
/* 801EE720 001EA380  48 08 E5 A5 */	bl PSVECAdd
/* 801EE724 001EA384  FC 20 E8 90 */	fmr f1, f29
/* 801EE728 001EA388  38 7E 00 18 */	addi r3, r30, 0x18
/* 801EE72C 001EA38C  7C 64 1B 78 */	mr r4, r3
/* 801EE730 001EA390  48 08 E5 DD */	bl PSVECScale
/* 801EE734 001EA394  7F 83 E3 78 */	mr r3, r28
/* 801EE738 001EA398  38 9F 00 18 */	addi r4, r31, 0x18
/* 801EE73C 001EA39C  38 A1 00 5C */	addi r5, r1, 0x5c
/* 801EE740 001EA3A0  48 08 E3 11 */	bl PSMTXMultVecSR
/* 801EE744 001EA3A4  C0 61 00 5C */	lfs f3, 0x5c(r1)
/* 801EE748 001EA3A8  FC 20 F8 90 */	fmr f1, f31
/* 801EE74C 001EA3AC  C0 41 00 60 */	lfs f2, 0x60(r1)
/* 801EE750 001EA3B0  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE754 001EA3B4  C0 01 00 64 */	lfs f0, 0x64(r1)
/* 801EE758 001EA3B8  38 81 00 50 */	addi r4, r1, 0x50
/* 801EE75C 001EA3BC  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE760 001EA3C0  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE764 001EA3C4  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE768 001EA3C8  48 08 E5 A5 */	bl PSVECScale
/* 801EE76C 001EA3CC  38 7E 00 18 */	addi r3, r30, 0x18
/* 801EE770 001EA3D0  38 81 00 50 */	addi r4, r1, 0x50
/* 801EE774 001EA3D4  7C 65 1B 78 */	mr r5, r3
/* 801EE778 001EA3D8  48 08 E5 4D */	bl PSVECAdd
/* 801EE77C 001EA3DC  7F A3 EB 78 */	mr r3, r29
/* 801EE780 001EA3E0  38 9F 00 18 */	addi r4, r31, 0x18
/* 801EE784 001EA3E4  38 A1 00 44 */	addi r5, r1, 0x44
/* 801EE788 001EA3E8  48 08 E2 C9 */	bl PSMTXMultVecSR
/* 801EE78C 001EA3EC  C0 61 00 44 */	lfs f3, 0x44(r1)
/* 801EE790 001EA3F0  FC 20 F0 90 */	fmr f1, f30
/* 801EE794 001EA3F4  C0 41 00 48 */	lfs f2, 0x48(r1)
/* 801EE798 001EA3F8  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE79C 001EA3FC  C0 01 00 4C */	lfs f0, 0x4c(r1)
/* 801EE7A0 001EA400  38 81 00 38 */	addi r4, r1, 0x38
/* 801EE7A4 001EA404  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE7A8 001EA408  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE7AC 001EA40C  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE7B0 001EA410  48 08 E5 5D */	bl PSVECScale
/* 801EE7B4 001EA414  38 7E 00 18 */	addi r3, r30, 0x18
/* 801EE7B8 001EA418  38 81 00 38 */	addi r4, r1, 0x38
/* 801EE7BC 001EA41C  7C 65 1B 78 */	mr r5, r3
/* 801EE7C0 001EA420  48 08 E5 05 */	bl PSVECAdd
/* 801EE7C4 001EA424  FC 20 E8 90 */	fmr f1, f29
/* 801EE7C8 001EA428  38 7E 00 24 */	addi r3, r30, 0x24
/* 801EE7CC 001EA42C  7C 64 1B 78 */	mr r4, r3
/* 801EE7D0 001EA430  48 08 E5 3D */	bl PSVECScale
/* 801EE7D4 001EA434  7F 83 E3 78 */	mr r3, r28
/* 801EE7D8 001EA438  38 9F 00 24 */	addi r4, r31, 0x24
/* 801EE7DC 001EA43C  38 A1 00 2C */	addi r5, r1, 0x2c
/* 801EE7E0 001EA440  48 08 E2 71 */	bl PSMTXMultVecSR
/* 801EE7E4 001EA444  C0 61 00 2C */	lfs f3, 0x2c(r1)
/* 801EE7E8 001EA448  FC 20 F8 90 */	fmr f1, f31
/* 801EE7EC 001EA44C  C0 41 00 30 */	lfs f2, 0x30(r1)
/* 801EE7F0 001EA450  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE7F4 001EA454  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 801EE7F8 001EA458  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE7FC 001EA45C  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE800 001EA460  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE804 001EA464  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE808 001EA468  48 08 E5 05 */	bl PSVECScale
/* 801EE80C 001EA46C  38 7E 00 24 */	addi r3, r30, 0x24
/* 801EE810 001EA470  38 81 00 20 */	addi r4, r1, 0x20
/* 801EE814 001EA474  7C 65 1B 78 */	mr r5, r3
/* 801EE818 001EA478  48 08 E4 AD */	bl PSVECAdd
/* 801EE81C 001EA47C  7F A3 EB 78 */	mr r3, r29
/* 801EE820 001EA480  38 9F 00 24 */	addi r4, r31, 0x24
/* 801EE824 001EA484  38 A1 00 14 */	addi r5, r1, 0x14
/* 801EE828 001EA488  48 08 E2 29 */	bl PSMTXMultVecSR
/* 801EE82C 001EA48C  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 801EE830 001EA490  FC 20 F0 90 */	fmr f1, f30
/* 801EE834 001EA494  C0 41 00 18 */	lfs f2, 0x18(r1)
/* 801EE838 001EA498  38 61 00 BC */	addi r3, r1, 0xbc
/* 801EE83C 001EA49C  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801EE840 001EA4A0  38 81 00 08 */	addi r4, r1, 8
/* 801EE844 001EA4A4  D0 61 00 BC */	stfs f3, 0xbc(r1)
/* 801EE848 001EA4A8  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 801EE84C 001EA4AC  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 801EE850 001EA4B0  48 08 E4 BD */	bl PSVECScale
/* 801EE854 001EA4B4  38 7E 00 24 */	addi r3, r30, 0x24
/* 801EE858 001EA4B8  38 81 00 08 */	addi r4, r1, 8
/* 801EE85C 001EA4BC  7C 65 1B 78 */	mr r5, r3
/* 801EE860 001EA4C0  48 08 E4 65 */	bl PSVECAdd
/* 801EE864 001EA4C4  E3 E1 01 18 */	psq_l f31, 280(r1), 0, qr0
/* 801EE868 001EA4C8  CB E1 01 10 */	lfd f31, 0x110(r1)
/* 801EE86C 001EA4CC  E3 C1 01 08 */	psq_l f30, 264(r1), 0, qr0
/* 801EE870 001EA4D0  CB C1 01 00 */	lfd f30, 0x100(r1)
/* 801EE874 001EA4D4  E3 A1 00 F8 */	psq_l f29, 248(r1), 0, qr0
/* 801EE878 001EA4D8  CB A1 00 F0 */	lfd f29, 0xf0(r1)
/* 801EE87C 001EA4DC  83 E1 00 EC */	lwz r31, 0xec(r1)
/* 801EE880 001EA4E0  83 C1 00 E8 */	lwz r30, 0xe8(r1)
/* 801EE884 001EA4E4  83 A1 00 E4 */	lwz r29, 0xe4(r1)
/* 801EE888 001EA4E8  80 01 01 24 */	lwz r0, 0x124(r1)
/* 801EE88C 001EA4EC  83 81 00 E0 */	lwz r28, 0xe0(r1)
/* 801EE890 001EA4F0  7C 08 03 A6 */	mtlr r0
/* 801EE894 001EA4F4  38 21 01 20 */	addi r1, r1, 0x120
/* 801EE898 001EA4F8  4E 80 00 20 */	blr
lbl_801EE89C:
/* 801EE89C 001EA4FC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801EE8A0 001EA500  7C 08 02 A6 */	mflr r0
/* 801EE8A4 001EA504  90 01 00 34 */	stw r0, 0x34(r1)
/* 801EE8A8 001EA508  39 61 00 30 */	addi r11, r1, 0x30
/* 801EE8AC 001EA50C  4B FD 88 6D */	bl _savegpr_23
/* 801EE8B0 001EA510  80 C3 00 00 */	lwz r6, 0(r3)
/* 801EE8B4 001EA514  7C 77 1B 78 */	mr r23, r3
/* 801EE8B8 001EA518  83 A4 00 04 */	lwz r29, 4(r4)
/* 801EE8BC 001EA51C  7C 98 23 78 */	mr r24, r4
/* 801EE8C0 001EA520  83 86 00 08 */	lwz r28, 8(r6)
/* 801EE8C4 001EA524  7C B9 2B 78 */	mr r25, r5
/* 801EE8C8 001EA528  7C 1D E0 40 */	cmplw r29, r28
/* 801EE8CC 001EA52C  41 82 02 54 */	beq lbl_801EEB20
/* 801EE8D0 001EA530  3C 60 10 05 */	lis r3, 0x10051005@ha
/* 801EE8D4 001EA534  38 03 10 05 */	addi r0, r3, 0x10051005@l
/* 801EE8D8 001EA538  7C 13 E3 A6 */	mtspr 0x393, r0
/* 801EE8DC 001EA53C  80 66 00 0C */	lwz r3, 0xc(r6)
/* 801EE8E0 001EA540  A3 43 00 00 */	lhz r26, 0(r3)
/* 801EE8E4 001EA544  2C 1A 00 00 */	cmpwi r26, 0
/* 801EE8E8 001EA548  41 82 00 74 */	beq lbl_801EE95C
/* 801EE8EC 001EA54C  83 C3 00 04 */	lwz r30, 4(r3)
/* 801EE8F0 001EA550  48 00 00 60 */	b lbl_801EE950
lbl_801EE8F4:
/* 801EE8F4 001EA554  80 99 00 08 */	lwz r4, 8(r25)
/* 801EE8F8 001EA558  A3 7E 00 00 */	lhz r27, 0(r30)
/* 801EE8FC 001EA55C  2C 04 00 00 */	cmpwi r4, 0
/* 801EE900 001EA560  A0 7E 00 02 */	lhz r3, 2(r30)
/* 801EE904 001EA564  40 82 00 0C */	bne lbl_801EE910
/* 801EE908 001EA568  38 60 00 00 */	li r3, 0
/* 801EE90C 001EA56C  48 00 00 20 */	b lbl_801EE92C
lbl_801EE910:
/* 801EE910 001EA570  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EE914 001EA574  7C 03 00 40 */	cmplw r3, r0
/* 801EE918 001EA578  41 80 00 0C */	blt lbl_801EE924
/* 801EE91C 001EA57C  38 60 00 00 */	li r3, 0
/* 801EE920 001EA580  48 00 00 0C */	b lbl_801EE92C
lbl_801EE924:
/* 801EE924 001EA584  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EE928 001EA588  7C 64 00 2E */	lwzx r3, r4, r0
lbl_801EE92C:
/* 801EE92C 001EA58C  7F 84 E3 78 */	mr r4, r28
/* 801EE930 001EA590  7F A5 EB 78 */	mr r5, r29
/* 801EE934 001EA594  7F 66 DB 78 */	mr r6, r27
/* 801EE938 001EA598  38 63 01 3C */	addi r3, r3, 0x13c
/* 801EE93C 001EA59C  48 02 E1 C1 */	bl func_8021CAFC
/* 801EE940 001EA5A0  1C 1B 00 18 */	mulli r0, r27, 0x18
/* 801EE944 001EA5A4  3B DE 00 04 */	addi r30, r30, 4
/* 801EE948 001EA5A8  7F BD 02 14 */	add r29, r29, r0
/* 801EE94C 001EA5AC  7F 9C 02 14 */	add r28, r28, r0
lbl_801EE950:
/* 801EE950 001EA5B0  57 40 04 3F */	clrlwi. r0, r26, 0x10
/* 801EE954 001EA5B4  3B 5A FF FF */	addi r26, r26, -1
/* 801EE958 001EA5B8  40 82 FF 9C */	bne lbl_801EE8F4
lbl_801EE95C:
/* 801EE95C 001EA5BC  80 77 00 00 */	lwz r3, 0(r23)
/* 801EE960 001EA5C0  80 63 00 0C */	lwz r3, 0xc(r3)
/* 801EE964 001EA5C4  A3 E3 00 08 */	lhz r31, 8(r3)
/* 801EE968 001EA5C8  2C 1F 00 00 */	cmpwi r31, 0
/* 801EE96C 001EA5CC  41 82 00 B8 */	beq lbl_801EEA24
/* 801EE970 001EA5D0  83 63 00 0C */	lwz r27, 0xc(r3)
/* 801EE974 001EA5D4  83 43 00 10 */	lwz r26, 0x10(r3)
/* 801EE978 001EA5D8  48 00 00 A0 */	b lbl_801EEA18
lbl_801EE97C:
/* 801EE97C 001EA5DC  80 B9 00 08 */	lwz r5, 8(r25)
/* 801EE980 001EA5E0  A3 DB 00 00 */	lhz r30, 0(r27)
/* 801EE984 001EA5E4  2C 05 00 00 */	cmpwi r5, 0
/* 801EE988 001EA5E8  A0 7B 00 02 */	lhz r3, 2(r27)
/* 801EE98C 001EA5EC  40 82 00 0C */	bne lbl_801EE998
/* 801EE990 001EA5F0  38 60 00 00 */	li r3, 0
/* 801EE994 001EA5F4  48 00 00 20 */	b lbl_801EE9B4
lbl_801EE998:
/* 801EE998 001EA5F8  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EE99C 001EA5FC  7C 03 00 40 */	cmplw r3, r0
/* 801EE9A0 001EA600  41 80 00 0C */	blt lbl_801EE9AC
/* 801EE9A4 001EA604  38 60 00 00 */	li r3, 0
/* 801EE9A8 001EA608  48 00 00 0C */	b lbl_801EE9B4
lbl_801EE9AC:
/* 801EE9AC 001EA60C  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EE9B0 001EA610  7C 65 00 2E */	lwzx r3, r5, r0
lbl_801EE9B4:
/* 801EE9B4 001EA614  2C 05 00 00 */	cmpwi r5, 0
/* 801EE9B8 001EA618  A0 9B 00 04 */	lhz r4, 4(r27)
/* 801EE9BC 001EA61C  40 82 00 0C */	bne lbl_801EE9C8
/* 801EE9C0 001EA620  38 80 00 00 */	li r4, 0
/* 801EE9C4 001EA624  48 00 00 20 */	b lbl_801EE9E4
lbl_801EE9C8:
/* 801EE9C8 001EA628  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EE9CC 001EA62C  7C 04 00 40 */	cmplw r4, r0
/* 801EE9D0 001EA630  41 80 00 0C */	blt lbl_801EE9DC
/* 801EE9D4 001EA634  38 80 00 00 */	li r4, 0
/* 801EE9D8 001EA638  48 00 00 0C */	b lbl_801EE9E4
lbl_801EE9DC:
/* 801EE9DC 001EA63C  54 80 13 BA */	rlwinm r0, r4, 2, 0xe, 0x1d
/* 801EE9E0 001EA640  7C 85 00 2E */	lwzx r4, r5, r0
lbl_801EE9E4:
/* 801EE9E4 001EA644  7F 45 D3 78 */	mr r5, r26
/* 801EE9E8 001EA648  7F 86 E3 78 */	mr r6, r28
/* 801EE9EC 001EA64C  7F A7 EB 78 */	mr r7, r29
/* 801EE9F0 001EA650  7F C8 F3 78 */	mr r8, r30
/* 801EE9F4 001EA654  38 63 01 3C */	addi r3, r3, 0x13c
/* 801EE9F8 001EA658  38 84 01 3C */	addi r4, r4, 0x13c
/* 801EE9FC 001EA65C  48 02 E3 9D */	bl func_8021CD98
/* 801EEA00 001EA660  1C 7E 00 18 */	mulli r3, r30, 0x18
/* 801EEA04 001EA664  57 C0 0B FC */	rlwinm r0, r30, 1, 0xf, 0x1e
/* 801EEA08 001EA668  3B 7B 00 06 */	addi r27, r27, 6
/* 801EEA0C 001EA66C  7F 5A 02 14 */	add r26, r26, r0
/* 801EEA10 001EA670  7F BD 1A 14 */	add r29, r29, r3
/* 801EEA14 001EA674  7F 9C 1A 14 */	add r28, r28, r3
lbl_801EEA18:
/* 801EEA18 001EA678  57 E0 04 3F */	clrlwi. r0, r31, 0x10
/* 801EEA1C 001EA67C  3B FF FF FF */	addi r31, r31, -1
/* 801EEA20 001EA680  40 82 FF 5C */	bne lbl_801EE97C
lbl_801EEA24:
/* 801EEA24 001EA684  3C 60 00 05 */	lis r3, 0x00050005@ha
/* 801EEA28 001EA688  38 03 00 05 */	addi r0, r3, 0x00050005@l
/* 801EEA2C 001EA68C  7C 13 E3 A6 */	mtspr 0x393, r0
/* 801EEA30 001EA690  80 77 00 00 */	lwz r3, 0(r23)
/* 801EEA34 001EA694  80 63 00 0C */	lwz r3, 0xc(r3)
/* 801EEA38 001EA698  A3 E3 00 14 */	lhz r31, 0x14(r3)
/* 801EEA3C 001EA69C  2C 1F 00 00 */	cmpwi r31, 0
/* 801EEA40 001EA6A0  41 82 00 E0 */	beq lbl_801EEB20
/* 801EEA44 001EA6A4  83 43 00 18 */	lwz r26, 0x18(r3)
/* 801EEA48 001EA6A8  48 00 00 CC */	b lbl_801EEB14
lbl_801EEA4C:
/* 801EEA4C 001EA6AC  80 99 00 08 */	lwz r4, 8(r25)
/* 801EEA50 001EA6B0  A0 BA 00 00 */	lhz r5, 0(r26)
/* 801EEA54 001EA6B4  2C 04 00 00 */	cmpwi r4, 0
/* 801EEA58 001EA6B8  A0 7A 00 02 */	lhz r3, 2(r26)
/* 801EEA5C 001EA6BC  40 82 00 0C */	bne lbl_801EEA68
/* 801EEA60 001EA6C0  39 00 00 00 */	li r8, 0
/* 801EEA64 001EA6C4  48 00 00 20 */	b lbl_801EEA84
lbl_801EEA68:
/* 801EEA68 001EA6C8  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EEA6C 001EA6CC  7C 03 00 40 */	cmplw r3, r0
/* 801EEA70 001EA6D0  41 80 00 0C */	blt lbl_801EEA7C
/* 801EEA74 001EA6D4  39 00 00 00 */	li r8, 0
/* 801EEA78 001EA6D8  48 00 00 0C */	b lbl_801EEA84
lbl_801EEA7C:
/* 801EEA7C 001EA6DC  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EEA80 001EA6E0  7D 04 00 2E */	lwzx r8, r4, r0
lbl_801EEA84:
/* 801EEA84 001EA6E4  A0 DA 00 08 */	lhz r6, 8(r26)
/* 801EEA88 001EA6E8  2C 06 00 00 */	cmpwi r6, 0
/* 801EEA8C 001EA6EC  41 82 00 60 */	beq lbl_801EEAEC
/* 801EEA90 001EA6F0  2C 04 00 00 */	cmpwi r4, 0
/* 801EEA94 001EA6F4  A0 7A 00 04 */	lhz r3, 4(r26)
/* 801EEA98 001EA6F8  40 82 00 0C */	bne lbl_801EEAA4
/* 801EEA9C 001EA6FC  38 80 00 00 */	li r4, 0
/* 801EEAA0 001EA700  48 00 00 20 */	b lbl_801EEAC0
lbl_801EEAA4:
/* 801EEAA4 001EA704  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EEAA8 001EA708  7C 03 00 40 */	cmplw r3, r0
/* 801EEAAC 001EA70C  41 80 00 0C */	blt lbl_801EEAB8
/* 801EEAB0 001EA710  38 80 00 00 */	li r4, 0
/* 801EEAB4 001EA714  48 00 00 0C */	b lbl_801EEAC0
lbl_801EEAB8:
/* 801EEAB8 001EA718  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EEABC 001EA71C  7C 84 00 2E */	lwzx r4, r4, r0
lbl_801EEAC0:
/* 801EEAC0 001EA720  80 77 00 00 */	lwz r3, 0(r23)
/* 801EEAC4 001EA724  1D 25 00 18 */	mulli r9, r5, 0x18
/* 801EEAC8 001EA728  80 F8 00 04 */	lwz r7, 4(r24)
/* 801EEACC 001EA72C  38 84 01 0C */	addi r4, r4, 0x10c
/* 801EEAD0 001EA730  80 03 00 08 */	lwz r0, 8(r3)
/* 801EEAD4 001EA734  38 68 01 0C */	addi r3, r8, 0x10c
/* 801EEAD8 001EA738  A0 BA 00 06 */	lhz r5, 6(r26)
/* 801EEADC 001EA73C  7C E7 4A 14 */	add r7, r7, r9
/* 801EEAE0 001EA740  7D 00 4A 14 */	add r8, r0, r9
/* 801EEAE4 001EA744  4B FF F6 E1 */	bl func_801EE1C4
/* 801EEAE8 001EA748  48 00 00 28 */	b lbl_801EEB10
lbl_801EEAEC:
/* 801EEAEC 001EA74C  80 97 00 00 */	lwz r4, 0(r23)
/* 801EEAF0 001EA750  1C C5 00 18 */	mulli r6, r5, 0x18
/* 801EEAF4 001EA754  80 B8 00 04 */	lwz r5, 4(r24)
/* 801EEAF8 001EA758  38 68 01 0C */	addi r3, r8, 0x10c
/* 801EEAFC 001EA75C  80 04 00 08 */	lwz r0, 8(r4)
/* 801EEB00 001EA760  A0 9A 00 06 */	lhz r4, 6(r26)
/* 801EEB04 001EA764  7C A5 32 14 */	add r5, r5, r6
/* 801EEB08 001EA768  7C C0 32 14 */	add r6, r0, r6
/* 801EEB0C 001EA76C  4B FF F5 99 */	bl func_801EE0A4
lbl_801EEB10:
/* 801EEB10 001EA770  3B 5A 00 0A */	addi r26, r26, 0xa
lbl_801EEB14:
/* 801EEB14 001EA774  57 E0 04 3F */	clrlwi. r0, r31, 0x10
/* 801EEB18 001EA778  3B FF FF FF */	addi r31, r31, -1
/* 801EEB1C 001EA77C  40 82 FF 30 */	bne lbl_801EEA4C
lbl_801EEB20:
/* 801EEB20 001EA780  39 61 00 30 */	addi r11, r1, 0x30
/* 801EEB24 001EA784  4B FD 86 41 */	bl _restgpr_23
/* 801EEB28 001EA788  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801EEB2C 001EA78C  7C 08 03 A6 */	mtlr r0
/* 801EEB30 001EA790  38 21 00 30 */	addi r1, r1, 0x30
/* 801EEB34 001EA794  4E 80 00 20 */	blr
lbl_801EEB38:
/* 801EEB38 001EA798  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801EEB3C 001EA79C  7C 08 02 A6 */	mflr r0
/* 801EEB40 001EA7A0  90 01 00 34 */	stw r0, 0x34(r1)
/* 801EEB44 001EA7A4  39 61 00 30 */	addi r11, r1, 0x30
/* 801EEB48 001EA7A8  4B FD 85 D1 */	bl _savegpr_23
/* 801EEB4C 001EA7AC  80 C3 00 00 */	lwz r6, 0(r3)
/* 801EEB50 001EA7B0  7C 77 1B 78 */	mr r23, r3
/* 801EEB54 001EA7B4  83 A4 00 04 */	lwz r29, 4(r4)
/* 801EEB58 001EA7B8  7C 98 23 78 */	mr r24, r4
/* 801EEB5C 001EA7BC  83 86 00 08 */	lwz r28, 8(r6)
/* 801EEB60 001EA7C0  7C B9 2B 78 */	mr r25, r5
/* 801EEB64 001EA7C4  7C 1D E0 40 */	cmplw r29, r28
/* 801EEB68 001EA7C8  41 82 02 54 */	beq lbl_801EEDBC
/* 801EEB6C 001EA7CC  3C 60 10 05 */	lis r3, 0x10051005@ha
/* 801EEB70 001EA7D0  38 03 10 05 */	addi r0, r3, 0x10051005@l
/* 801EEB74 001EA7D4  7C 13 E3 A6 */	mtspr 0x393, r0
/* 801EEB78 001EA7D8  80 66 00 0C */	lwz r3, 0xc(r6)
/* 801EEB7C 001EA7DC  A3 43 00 00 */	lhz r26, 0(r3)
/* 801EEB80 001EA7E0  2C 1A 00 00 */	cmpwi r26, 0
/* 801EEB84 001EA7E4  41 82 00 74 */	beq lbl_801EEBF8
/* 801EEB88 001EA7E8  83 C3 00 04 */	lwz r30, 4(r3)
/* 801EEB8C 001EA7EC  48 00 00 60 */	b lbl_801EEBEC
lbl_801EEB90:
/* 801EEB90 001EA7F0  80 99 00 08 */	lwz r4, 8(r25)
/* 801EEB94 001EA7F4  A3 7E 00 00 */	lhz r27, 0(r30)
/* 801EEB98 001EA7F8  2C 04 00 00 */	cmpwi r4, 0
/* 801EEB9C 001EA7FC  A0 7E 00 02 */	lhz r3, 2(r30)
/* 801EEBA0 001EA800  40 82 00 0C */	bne lbl_801EEBAC
/* 801EEBA4 001EA804  38 60 00 00 */	li r3, 0
/* 801EEBA8 001EA808  48 00 00 20 */	b lbl_801EEBC8
lbl_801EEBAC:
/* 801EEBAC 001EA80C  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EEBB0 001EA810  7C 03 00 40 */	cmplw r3, r0
/* 801EEBB4 001EA814  41 80 00 0C */	blt lbl_801EEBC0
/* 801EEBB8 001EA818  38 60 00 00 */	li r3, 0
/* 801EEBBC 001EA81C  48 00 00 0C */	b lbl_801EEBC8
lbl_801EEBC0:
/* 801EEBC0 001EA820  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EEBC4 001EA824  7C 64 00 2E */	lwzx r3, r4, r0
lbl_801EEBC8:
/* 801EEBC8 001EA828  7F 84 E3 78 */	mr r4, r28
/* 801EEBCC 001EA82C  7F A5 EB 78 */	mr r5, r29
/* 801EEBD0 001EA830  7F 66 DB 78 */	mr r6, r27
/* 801EEBD4 001EA834  38 63 01 3C */	addi r3, r3, 0x13c
/* 801EEBD8 001EA838  48 02 DF A9 */	bl func_8021CB80
/* 801EEBDC 001EA83C  1C 1B 00 30 */	mulli r0, r27, 0x30
/* 801EEBE0 001EA840  3B DE 00 04 */	addi r30, r30, 4
/* 801EEBE4 001EA844  7F BD 02 14 */	add r29, r29, r0
/* 801EEBE8 001EA848  7F 9C 02 14 */	add r28, r28, r0
lbl_801EEBEC:
/* 801EEBEC 001EA84C  57 40 04 3F */	clrlwi. r0, r26, 0x10
/* 801EEBF0 001EA850  3B 5A FF FF */	addi r26, r26, -1
/* 801EEBF4 001EA854  40 82 FF 9C */	bne lbl_801EEB90
lbl_801EEBF8:
/* 801EEBF8 001EA858  80 77 00 00 */	lwz r3, 0(r23)
/* 801EEBFC 001EA85C  80 63 00 0C */	lwz r3, 0xc(r3)
/* 801EEC00 001EA860  A3 E3 00 08 */	lhz r31, 8(r3)
/* 801EEC04 001EA864  2C 1F 00 00 */	cmpwi r31, 0
/* 801EEC08 001EA868  41 82 00 B8 */	beq lbl_801EECC0
/* 801EEC0C 001EA86C  83 63 00 0C */	lwz r27, 0xc(r3)
/* 801EEC10 001EA870  83 43 00 10 */	lwz r26, 0x10(r3)
/* 801EEC14 001EA874  48 00 00 A0 */	b lbl_801EECB4
lbl_801EEC18:
/* 801EEC18 001EA878  80 B9 00 08 */	lwz r5, 8(r25)
/* 801EEC1C 001EA87C  A3 DB 00 00 */	lhz r30, 0(r27)
/* 801EEC20 001EA880  2C 05 00 00 */	cmpwi r5, 0
/* 801EEC24 001EA884  A0 7B 00 02 */	lhz r3, 2(r27)
/* 801EEC28 001EA888  40 82 00 0C */	bne lbl_801EEC34
/* 801EEC2C 001EA88C  38 60 00 00 */	li r3, 0
/* 801EEC30 001EA890  48 00 00 20 */	b lbl_801EEC50
lbl_801EEC34:
/* 801EEC34 001EA894  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EEC38 001EA898  7C 03 00 40 */	cmplw r3, r0
/* 801EEC3C 001EA89C  41 80 00 0C */	blt lbl_801EEC48
/* 801EEC40 001EA8A0  38 60 00 00 */	li r3, 0
/* 801EEC44 001EA8A4  48 00 00 0C */	b lbl_801EEC50
lbl_801EEC48:
/* 801EEC48 001EA8A8  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EEC4C 001EA8AC  7C 65 00 2E */	lwzx r3, r5, r0
lbl_801EEC50:
/* 801EEC50 001EA8B0  2C 05 00 00 */	cmpwi r5, 0
/* 801EEC54 001EA8B4  A0 9B 00 04 */	lhz r4, 4(r27)
/* 801EEC58 001EA8B8  40 82 00 0C */	bne lbl_801EEC64
/* 801EEC5C 001EA8BC  38 80 00 00 */	li r4, 0
/* 801EEC60 001EA8C0  48 00 00 20 */	b lbl_801EEC80
lbl_801EEC64:
/* 801EEC64 001EA8C4  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EEC68 001EA8C8  7C 04 00 40 */	cmplw r4, r0
/* 801EEC6C 001EA8CC  41 80 00 0C */	blt lbl_801EEC78
/* 801EEC70 001EA8D0  38 80 00 00 */	li r4, 0
/* 801EEC74 001EA8D4  48 00 00 0C */	b lbl_801EEC80
lbl_801EEC78:
/* 801EEC78 001EA8D8  54 80 13 BA */	rlwinm r0, r4, 2, 0xe, 0x1d
/* 801EEC7C 001EA8DC  7C 85 00 2E */	lwzx r4, r5, r0
lbl_801EEC80:
/* 801EEC80 001EA8E0  7F 45 D3 78 */	mr r5, r26
/* 801EEC84 001EA8E4  7F 86 E3 78 */	mr r6, r28
/* 801EEC88 001EA8E8  7F A7 EB 78 */	mr r7, r29
/* 801EEC8C 001EA8EC  7F C8 F3 78 */	mr r8, r30
/* 801EEC90 001EA8F0  38 63 01 3C */	addi r3, r3, 0x13c
/* 801EEC94 001EA8F4  38 84 01 3C */	addi r4, r4, 0x13c
/* 801EEC98 001EA8F8  48 02 E2 6D */	bl func_8021CF04
/* 801EEC9C 001EA8FC  1C 7E 00 30 */	mulli r3, r30, 0x30
/* 801EECA0 001EA900  57 C0 0B FC */	rlwinm r0, r30, 1, 0xf, 0x1e
/* 801EECA4 001EA904  3B 7B 00 06 */	addi r27, r27, 6
/* 801EECA8 001EA908  7F 5A 02 14 */	add r26, r26, r0
/* 801EECAC 001EA90C  7F BD 1A 14 */	add r29, r29, r3
/* 801EECB0 001EA910  7F 9C 1A 14 */	add r28, r28, r3
lbl_801EECB4:
/* 801EECB4 001EA914  57 E0 04 3F */	clrlwi. r0, r31, 0x10
/* 801EECB8 001EA918  3B FF FF FF */	addi r31, r31, -1
/* 801EECBC 001EA91C  40 82 FF 5C */	bne lbl_801EEC18
lbl_801EECC0:
/* 801EECC0 001EA920  3C 60 00 05 */	lis r3, 0x00050005@ha
/* 801EECC4 001EA924  38 03 00 05 */	addi r0, r3, 0x00050005@l
/* 801EECC8 001EA928  7C 13 E3 A6 */	mtspr 0x393, r0
/* 801EECCC 001EA92C  80 77 00 00 */	lwz r3, 0(r23)
/* 801EECD0 001EA930  80 63 00 0C */	lwz r3, 0xc(r3)
/* 801EECD4 001EA934  A3 E3 00 14 */	lhz r31, 0x14(r3)
/* 801EECD8 001EA938  2C 1F 00 00 */	cmpwi r31, 0
/* 801EECDC 001EA93C  41 82 00 E0 */	beq lbl_801EEDBC
/* 801EECE0 001EA940  83 43 00 18 */	lwz r26, 0x18(r3)
/* 801EECE4 001EA944  48 00 00 CC */	b lbl_801EEDB0
lbl_801EECE8:
/* 801EECE8 001EA948  80 99 00 08 */	lwz r4, 8(r25)
/* 801EECEC 001EA94C  A0 BA 00 00 */	lhz r5, 0(r26)
/* 801EECF0 001EA950  2C 04 00 00 */	cmpwi r4, 0
/* 801EECF4 001EA954  A0 7A 00 02 */	lhz r3, 2(r26)
/* 801EECF8 001EA958  40 82 00 0C */	bne lbl_801EED04
/* 801EECFC 001EA95C  39 00 00 00 */	li r8, 0
/* 801EED00 001EA960  48 00 00 20 */	b lbl_801EED20
lbl_801EED04:
/* 801EED04 001EA964  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EED08 001EA968  7C 03 00 40 */	cmplw r3, r0
/* 801EED0C 001EA96C  41 80 00 0C */	blt lbl_801EED18
/* 801EED10 001EA970  39 00 00 00 */	li r8, 0
/* 801EED14 001EA974  48 00 00 0C */	b lbl_801EED20
lbl_801EED18:
/* 801EED18 001EA978  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EED1C 001EA97C  7D 04 00 2E */	lwzx r8, r4, r0
lbl_801EED20:
/* 801EED20 001EA980  A0 DA 00 08 */	lhz r6, 8(r26)
/* 801EED24 001EA984  2C 06 00 00 */	cmpwi r6, 0
/* 801EED28 001EA988  41 82 00 60 */	beq lbl_801EED88
/* 801EED2C 001EA98C  2C 04 00 00 */	cmpwi r4, 0
/* 801EED30 001EA990  A0 7A 00 04 */	lhz r3, 4(r26)
/* 801EED34 001EA994  40 82 00 0C */	bne lbl_801EED40
/* 801EED38 001EA998  38 80 00 00 */	li r4, 0
/* 801EED3C 001EA99C  48 00 00 20 */	b lbl_801EED5C
lbl_801EED40:
/* 801EED40 001EA9A0  A0 19 00 DE */	lhz r0, 0xde(r25)
/* 801EED44 001EA9A4  7C 03 00 40 */	cmplw r3, r0
/* 801EED48 001EA9A8  41 80 00 0C */	blt lbl_801EED54
/* 801EED4C 001EA9AC  38 80 00 00 */	li r4, 0
/* 801EED50 001EA9B0  48 00 00 0C */	b lbl_801EED5C
lbl_801EED54:
/* 801EED54 001EA9B4  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801EED58 001EA9B8  7C 84 00 2E */	lwzx r4, r4, r0
lbl_801EED5C:
/* 801EED5C 001EA9BC  80 77 00 00 */	lwz r3, 0(r23)
/* 801EED60 001EA9C0  1D 25 00 30 */	mulli r9, r5, 0x30
/* 801EED64 001EA9C4  80 F8 00 04 */	lwz r7, 4(r24)
/* 801EED68 001EA9C8  38 84 01 0C */	addi r4, r4, 0x10c
/* 801EED6C 001EA9CC  80 03 00 08 */	lwz r0, 8(r3)
/* 801EED70 001EA9D0  38 68 01 0C */	addi r3, r8, 0x10c
/* 801EED74 001EA9D4  A0 BA 00 06 */	lhz r5, 6(r26)
/* 801EED78 001EA9D8  7C E7 4A 14 */	add r7, r7, r9
/* 801EED7C 001EA9DC  7D 00 4A 14 */	add r8, r0, r9
/* 801EED80 001EA9E0  4B FF F7 F9 */	bl func_801EE578
/* 801EED84 001EA9E4  48 00 00 28 */	b lbl_801EEDAC
lbl_801EED88:
/* 801EED88 001EA9E8  80 97 00 00 */	lwz r4, 0(r23)
/* 801EED8C 001EA9EC  1C C5 00 30 */	mulli r6, r5, 0x30
/* 801EED90 001EA9F0  80 B8 00 04 */	lwz r5, 4(r24)
/* 801EED94 001EA9F4  38 68 01 0C */	addi r3, r8, 0x10c
/* 801EED98 001EA9F8  80 04 00 08 */	lwz r0, 8(r4)
/* 801EED9C 001EA9FC  A0 9A 00 06 */	lhz r4, 6(r26)
/* 801EEDA0 001EAA00  7C A5 32 14 */	add r5, r5, r6
/* 801EEDA4 001EAA04  7C C0 32 14 */	add r6, r0, r6
/* 801EEDA8 001EAA08  4B FF F6 01 */	bl func_801EE3A8
lbl_801EEDAC:
/* 801EEDAC 001EAA0C  3B 5A 00 0A */	addi r26, r26, 0xa
lbl_801EEDB0:
/* 801EEDB0 001EAA10  57 E0 04 3F */	clrlwi. r0, r31, 0x10
/* 801EEDB4 001EAA14  3B FF FF FF */	addi r31, r31, -1
/* 801EEDB8 001EAA18  40 82 FF 30 */	bne lbl_801EECE8
lbl_801EEDBC:
/* 801EEDBC 001EAA1C  39 61 00 30 */	addi r11, r1, 0x30
/* 801EEDC0 001EAA20  4B FD 83 A5 */	bl _restgpr_23
/* 801EEDC4 001EAA24  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801EEDC8 001EAA28  7C 08 03 A6 */	mtlr r0
/* 801EEDCC 001EAA2C  38 21 00 30 */	addi r1, r1, 0x30
/* 801EEDD0 001EAA30  4E 80 00 20 */	blr
lbl_801EEDD4:
/* 801EEDD4 001EAA34  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801EEDD8 001EAA38  7C 08 02 A6 */	mflr r0
/* 801EEDDC 001EAA3C  90 01 00 44 */	stw r0, 0x44(r1)
/* 801EEDE0 001EAA40  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 801EEDE4 001EAA44  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 801EEDE8 001EAA48  FF E0 08 90 */	fmr f31, f1
/* 801EEDEC 001EAA4C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 801EEDF0 001EAA50  93 C1 00 28 */	stw r30, 0x28(r1)
/* 801EEDF4 001EAA54  93 A1 00 24 */	stw r29, 0x24(r1)
/* 801EEDF8 001EAA58  93 81 00 20 */	stw r28, 0x20(r1)
/* 801EEDFC 001EAA5C  83 E4 00 00 */	lwz r31, 0(r4)
/* 801EEE00 001EAA60  2C 1F 00 00 */	cmpwi r31, 0
/* 801EEE04 001EAA64  41 82 00 80 */	beq lbl_801EEE84
/* 801EEE08 001EAA68  80 63 00 00 */	lwz r3, 0(r3)
/* 801EEE0C 001EAA6C  3B 80 00 00 */	li r28, 0
/* 801EEE10 001EAA70  83 C4 00 04 */	lwz r30, 4(r4)
/* 801EEE14 001EAA74  A3 A3 00 02 */	lhz r29, 2(r3)
/* 801EEE18 001EAA78  48 00 00 60 */	b lbl_801EEE78
lbl_801EEE1C:
/* 801EEE1C 001EAA7C  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 801EEE20 001EAA80  FC 20 F8 90 */	fmr f1, f31
/* 801EEE24 001EAA84  38 7F 00 0C */	addi r3, r31, 0xc
/* 801EEE28 001EAA88  38 81 00 08 */	addi r4, r1, 8
/* 801EEE2C 001EAA8C  D0 1F 00 0C */	stfs f0, 0xc(r31)
/* 801EEE30 001EAA90  C0 1E 00 10 */	lfs f0, 0x10(r30)
/* 801EEE34 001EAA94  D0 1F 00 10 */	stfs f0, 0x10(r31)
/* 801EEE38 001EAA98  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 801EEE3C 001EAA9C  D0 1F 00 14 */	stfs f0, 0x14(r31)
/* 801EEE40 001EAAA0  C0 1E 00 00 */	lfs f0, 0(r30)
/* 801EEE44 001EAAA4  D0 1F 00 00 */	stfs f0, 0(r31)
/* 801EEE48 001EAAA8  C0 1E 00 04 */	lfs f0, 4(r30)
/* 801EEE4C 001EAAAC  D0 1F 00 04 */	stfs f0, 4(r31)
/* 801EEE50 001EAAB0  C0 1E 00 08 */	lfs f0, 8(r30)
/* 801EEE54 001EAAB4  D0 1F 00 08 */	stfs f0, 8(r31)
/* 801EEE58 001EAAB8  48 08 DE B5 */	bl PSVECScale
/* 801EEE5C 001EAABC  7F E3 FB 78 */	mr r3, r31
/* 801EEE60 001EAAC0  7F E5 FB 78 */	mr r5, r31
/* 801EEE64 001EAAC4  38 81 00 08 */	addi r4, r1, 8
/* 801EEE68 001EAAC8  48 08 DE 5D */	bl PSVECAdd
/* 801EEE6C 001EAACC  3B 9C 00 01 */	addi r28, r28, 1
/* 801EEE70 001EAAD0  3B FF 00 18 */	addi r31, r31, 0x18
/* 801EEE74 001EAAD4  3B DE 00 18 */	addi r30, r30, 0x18
lbl_801EEE78:
/* 801EEE78 001EAAD8  57 80 04 3E */	clrlwi r0, r28, 0x10
/* 801EEE7C 001EAADC  7C 00 E8 40 */	cmplw r0, r29
/* 801EEE80 001EAAE0  41 80 FF 9C */	blt lbl_801EEE1C
lbl_801EEE84:
/* 801EEE84 001EAAE4  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 801EEE88 001EAAE8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801EEE8C 001EAAEC  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 801EEE90 001EAAF0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 801EEE94 001EAAF4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 801EEE98 001EAAF8  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 801EEE9C 001EAAFC  83 81 00 20 */	lwz r28, 0x20(r1)
/* 801EEEA0 001EAB00  7C 08 03 A6 */	mtlr r0
/* 801EEEA4 001EAB04  38 21 00 40 */	addi r1, r1, 0x40
/* 801EEEA8 001EAB08  4E 80 00 20 */	blr
lbl_801EEEAC:
/* 801EEEAC 001EAB0C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801EEEB0 001EAB10  7C 08 02 A6 */	mflr r0
/* 801EEEB4 001EAB14  90 01 00 44 */	stw r0, 0x44(r1)
/* 801EEEB8 001EAB18  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 801EEEBC 001EAB1C  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 801EEEC0 001EAB20  FF E0 08 90 */	fmr f31, f1
/* 801EEEC4 001EAB24  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 801EEEC8 001EAB28  93 C1 00 28 */	stw r30, 0x28(r1)
/* 801EEECC 001EAB2C  93 A1 00 24 */	stw r29, 0x24(r1)
/* 801EEED0 001EAB30  93 81 00 20 */	stw r28, 0x20(r1)
/* 801EEED4 001EAB34  83 E4 00 00 */	lwz r31, 0(r4)
/* 801EEED8 001EAB38  2C 1F 00 00 */	cmpwi r31, 0
/* 801EEEDC 001EAB3C  41 82 00 80 */	beq lbl_801EEF5C
/* 801EEEE0 001EAB40  80 63 00 00 */	lwz r3, 0(r3)
/* 801EEEE4 001EAB44  3B 80 00 00 */	li r28, 0
/* 801EEEE8 001EAB48  83 C4 00 04 */	lwz r30, 4(r4)
/* 801EEEEC 001EAB4C  A3 A3 00 02 */	lhz r29, 2(r3)
/* 801EEEF0 001EAB50  48 00 00 60 */	b lbl_801EEF50
lbl_801EEEF4:
/* 801EEEF4 001EAB54  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 801EEEF8 001EAB58  FC 20 F8 90 */	fmr f1, f31
/* 801EEEFC 001EAB5C  38 7F 00 0C */	addi r3, r31, 0xc
/* 801EEF00 001EAB60  38 81 00 08 */	addi r4, r1, 8
/* 801EEF04 001EAB64  D0 1F 00 0C */	stfs f0, 0xc(r31)
/* 801EEF08 001EAB68  C0 1E 00 10 */	lfs f0, 0x10(r30)
/* 801EEF0C 001EAB6C  D0 1F 00 10 */	stfs f0, 0x10(r31)
/* 801EEF10 001EAB70  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 801EEF14 001EAB74  D0 1F 00 14 */	stfs f0, 0x14(r31)
/* 801EEF18 001EAB78  C0 1E 00 00 */	lfs f0, 0(r30)
/* 801EEF1C 001EAB7C  D0 1F 00 00 */	stfs f0, 0(r31)
/* 801EEF20 001EAB80  C0 1E 00 04 */	lfs f0, 4(r30)
/* 801EEF24 001EAB84  D0 1F 00 04 */	stfs f0, 4(r31)
/* 801EEF28 001EAB88  C0 1E 00 08 */	lfs f0, 8(r30)
/* 801EEF2C 001EAB8C  D0 1F 00 08 */	stfs f0, 8(r31)
/* 801EEF30 001EAB90  48 08 DD DD */	bl PSVECScale
/* 801EEF34 001EAB94  7F E3 FB 78 */	mr r3, r31
/* 801EEF38 001EAB98  7F E5 FB 78 */	mr r5, r31
/* 801EEF3C 001EAB9C  38 81 00 08 */	addi r4, r1, 8
/* 801EEF40 001EABA0  48 08 DD 85 */	bl PSVECAdd
/* 801EEF44 001EABA4  3B 9C 00 01 */	addi r28, r28, 1
/* 801EEF48 001EABA8  3B FF 00 30 */	addi r31, r31, 0x30
/* 801EEF4C 001EABAC  3B DE 00 30 */	addi r30, r30, 0x30
lbl_801EEF50:
/* 801EEF50 001EABB0  57 80 04 3E */	clrlwi r0, r28, 0x10
/* 801EEF54 001EABB4  7C 00 E8 40 */	cmplw r0, r29
/* 801EEF58 001EABB8  41 80 FF 9C */	blt lbl_801EEEF4
lbl_801EEF5C:
/* 801EEF5C 001EABBC  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 801EEF60 001EABC0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801EEF64 001EABC4  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 801EEF68 001EABC8  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 801EEF6C 001EABCC  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 801EEF70 001EABD0  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 801EEF74 001EABD4  83 81 00 20 */	lwz r28, 0x20(r1)
/* 801EEF78 001EABD8  7C 08 03 A6 */	mtlr r0
/* 801EEF7C 001EABDC  38 21 00 40 */	addi r1, r1, 0x40
/* 801EEF80 001EABE0  4E 80 00 20 */	blr

.global func_801EEF84
func_801EEF84:
/* 801EEF84 001EABE4  94 21 FF 00 */	stwu r1, -0x100(r1)
/* 801EEF88 001EABE8  7C 08 02 A6 */	mflr r0
/* 801EEF8C 001EABEC  90 01 01 04 */	stw r0, 0x104(r1)
/* 801EEF90 001EABF0  DB E1 00 F0 */	stfd f31, 0xf0(r1)
/* 801EEF94 001EABF4  F3 E1 00 F8 */	psq_st f31, 248(r1), 0, qr0
/* 801EEF98 001EABF8  DB C1 00 E0 */	stfd f30, 0xe0(r1)
/* 801EEF9C 001EABFC  F3 C1 00 E8 */	psq_st f30, 232(r1), 0, qr0
/* 801EEFA0 001EAC00  39 61 00 E0 */	addi r11, r1, 0xe0
/* 801EEFA4 001EAC04  4B FD 81 75 */	bl _savegpr_23
/* 801EEFA8 001EAC08  C0 07 00 00 */	lfs f0, 0(r7)
/* 801EEFAC 001EAC0C  FF C0 08 90 */	fmr f30, f1
/* 801EEFB0 001EAC10  C0 62 97 D0 */	lfs f3, lbl_80641DD0-_SDA2_BASE_(r2)
/* 801EEFB4 001EAC14  FF E0 10 90 */	fmr f31, f2
/* 801EEFB8 001EAC18  7C 97 23 78 */	mr r23, r4
/* 801EEFBC 001EAC1C  7C D8 33 78 */	mr r24, r6
/* 801EEFC0 001EAC20  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 801EEFC4 001EAC24  7C F9 3B 78 */	mr r25, r7
/* 801EEFC8 001EAC28  7D 1A 43 78 */	mr r26, r8
/* 801EEFCC 001EAC2C  40 80 00 38 */	bge lbl_801EF004
/* 801EEFD0 001EAC30  C0 22 97 D4 */	lfs f1, lbl_80641DD4-_SDA2_BASE_(r2)
/* 801EEFD4 001EAC34  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EEFD8 001EAC38  40 81 00 2C */	ble lbl_801EF004
/* 801EEFDC 001EAC3C  C0 07 00 04 */	lfs f0, 4(r7)
/* 801EEFE0 001EAC40  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 801EEFE4 001EAC44  40 80 00 20 */	bge lbl_801EF004
/* 801EEFE8 001EAC48  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EEFEC 001EAC4C  40 81 00 18 */	ble lbl_801EF004
/* 801EEFF0 001EAC50  C0 07 00 08 */	lfs f0, 8(r7)
/* 801EEFF4 001EAC54  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 801EEFF8 001EAC58  40 80 00 0C */	bge lbl_801EF004
/* 801EEFFC 001EAC5C  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF000 001EAC60  41 81 00 0C */	bgt lbl_801EF00C
lbl_801EF004:
/* 801EF004 001EAC64  38 00 00 00 */	li r0, 0
/* 801EF008 001EAC68  48 00 00 08 */	b lbl_801EF010
lbl_801EF00C:
/* 801EF00C 001EAC6C  38 00 00 01 */	li r0, 1
lbl_801EF010:
/* 801EF010 001EAC70  2C 00 00 00 */	cmpwi r0, 0
/* 801EF014 001EAC74  40 82 01 98 */	bne lbl_801EF1AC
/* 801EF018 001EAC78  C0 08 00 00 */	lfs f0, 0(r8)
/* 801EF01C 001EAC7C  C0 42 97 D0 */	lfs f2, lbl_80641DD0-_SDA2_BASE_(r2)
/* 801EF020 001EAC80  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 801EF024 001EAC84  40 80 00 38 */	bge lbl_801EF05C
/* 801EF028 001EAC88  C0 22 97 D4 */	lfs f1, lbl_80641DD4-_SDA2_BASE_(r2)
/* 801EF02C 001EAC8C  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF030 001EAC90  40 81 00 2C */	ble lbl_801EF05C
/* 801EF034 001EAC94  C0 08 00 04 */	lfs f0, 4(r8)
/* 801EF038 001EAC98  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 801EF03C 001EAC9C  40 80 00 20 */	bge lbl_801EF05C
/* 801EF040 001EACA0  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF044 001EACA4  40 81 00 18 */	ble lbl_801EF05C
/* 801EF048 001EACA8  C0 08 00 08 */	lfs f0, 8(r8)
/* 801EF04C 001EACAC  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 801EF050 001EACB0  40 80 00 0C */	bge lbl_801EF05C
/* 801EF054 001EACB4  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF058 001EACB8  41 81 00 0C */	bgt lbl_801EF064
lbl_801EF05C:
/* 801EF05C 001EACBC  38 00 00 00 */	li r0, 0
/* 801EF060 001EACC0  48 00 00 08 */	b lbl_801EF068
lbl_801EF064:
/* 801EF064 001EACC4  38 00 00 01 */	li r0, 1
lbl_801EF068:
/* 801EF068 001EACC8  2C 00 00 00 */	cmpwi r0, 0
/* 801EF06C 001EACCC  41 82 00 08 */	beq lbl_801EF074
/* 801EF070 001EACD0  48 00 01 3C */	b lbl_801EF1AC
lbl_801EF074:
/* 801EF074 001EACD4  80 63 00 00 */	lwz r3, 0(r3)
/* 801EF078 001EACD8  83 E5 00 04 */	lwz r31, 4(r5)
/* 801EF07C 001EACDC  80 03 00 0C */	lwz r0, 0xc(r3)
/* 801EF080 001EACE0  83 C3 00 08 */	lwz r30, 8(r3)
/* 801EF084 001EACE4  7C 00 00 34 */	cntlzw r0, r0
/* 801EF088 001EACE8  A3 A3 00 02 */	lhz r29, 2(r3)
/* 801EF08C 001EACEC  54 1B D9 7F */	rlwinm. r27, r0, 0x1b, 5, 0x1f
/* 801EF090 001EACF0  41 82 00 1C */	beq lbl_801EF0AC
/* 801EF094 001EACF4  7E E3 BB 78 */	mr r3, r23
/* 801EF098 001EACF8  38 81 00 50 */	addi r4, r1, 0x50
/* 801EF09C 001EACFC  48 08 D0 0D */	bl PSMTXInverse
/* 801EF0A0 001EAD00  38 61 00 50 */	addi r3, r1, 0x50
/* 801EF0A4 001EAD04  38 81 00 80 */	addi r4, r1, 0x80
/* 801EF0A8 001EAD08  48 08 CE B1 */	bl PSMTXCopy
lbl_801EF0AC:
/* 801EF0AC 001EAD0C  3B 80 00 00 */	li r28, 0
/* 801EF0B0 001EAD10  48 00 00 F0 */	b lbl_801EF1A0
lbl_801EF0B4:
/* 801EF0B4 001EAD14  2C 1B 00 00 */	cmpwi r27, 0
/* 801EF0B8 001EAD18  41 82 00 54 */	beq lbl_801EF10C
/* 801EF0BC 001EAD1C  7E E3 BB 78 */	mr r3, r23
/* 801EF0C0 001EAD20  7F C4 F3 78 */	mr r4, r30
/* 801EF0C4 001EAD24  38 A1 00 20 */	addi r5, r1, 0x20
/* 801EF0C8 001EAD28  48 08 D9 35 */	bl PSMTXMultVec
/* 801EF0CC 001EAD2C  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 801EF0D0 001EAD30  7E E3 BB 78 */	mr r3, r23
/* 801EF0D4 001EAD34  38 9E 00 0C */	addi r4, r30, 0xc
/* 801EF0D8 001EAD38  38 A1 00 14 */	addi r5, r1, 0x14
/* 801EF0DC 001EAD3C  D0 1F 00 00 */	stfs f0, 0(r31)
/* 801EF0E0 001EAD40  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 801EF0E4 001EAD44  D0 1F 00 04 */	stfs f0, 4(r31)
/* 801EF0E8 001EAD48  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 801EF0EC 001EAD4C  D0 1F 00 08 */	stfs f0, 8(r31)
/* 801EF0F0 001EAD50  48 08 D9 61 */	bl PSMTXMultVecSR
/* 801EF0F4 001EAD54  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 801EF0F8 001EAD58  D0 1F 00 0C */	stfs f0, 0xc(r31)
/* 801EF0FC 001EAD5C  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 801EF100 001EAD60  D0 1F 00 10 */	stfs f0, 0x10(r31)
/* 801EF104 001EAD64  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801EF108 001EAD68  D0 1F 00 14 */	stfs f0, 0x14(r31)
lbl_801EF10C:
/* 801EF10C 001EAD6C  7F E3 FB 78 */	mr r3, r31
/* 801EF110 001EAD70  7F 04 C3 78 */	mr r4, r24
/* 801EF114 001EAD74  38 A1 00 08 */	addi r5, r1, 8
/* 801EF118 001EAD78  48 08 DB D1 */	bl PSVECSubtract
/* 801EF11C 001EAD7C  C0 41 00 08 */	lfs f2, 8(r1)
/* 801EF120 001EAD80  7F 24 CB 78 */	mr r4, r25
/* 801EF124 001EAD84  C0 21 00 0C */	lfs f1, 0xc(r1)
/* 801EF128 001EAD88  38 61 00 40 */	addi r3, r1, 0x40
/* 801EF12C 001EAD8C  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 801EF130 001EAD90  D0 41 00 40 */	stfs f2, 0x40(r1)
/* 801EF134 001EAD94  D0 21 00 44 */	stfs f1, 0x44(r1)
/* 801EF138 001EAD98  D0 01 00 48 */	stfs f0, 0x48(r1)
/* 801EF13C 001EAD9C  48 08 DC 8D */	bl PSQUATDotProduct
/* 801EF140 001EADA0  EC 21 F0 24 */	fdivs f1, f1, f30
/* 801EF144 001EADA4  7F 44 D3 78 */	mr r4, r26
/* 801EF148 001EADA8  38 61 00 30 */	addi r3, r1, 0x30
/* 801EF14C 001EADAC  EC 21 07 F2 */	fmuls f1, f1, f31
/* 801EF150 001EADB0  48 08 DF D5 */	bl C_QUATRotAxisRad
/* 801EF154 001EADB4  7F E3 FB 78 */	mr r3, r31
/* 801EF158 001EADB8  38 81 00 30 */	addi r4, r1, 0x30
/* 801EF15C 001EADBC  48 03 48 B1 */	bl func_80223A0C
/* 801EF160 001EADC0  38 7F 00 0C */	addi r3, r31, 0xc
/* 801EF164 001EADC4  38 81 00 30 */	addi r4, r1, 0x30
/* 801EF168 001EADC8  48 03 48 A5 */	bl func_80223A0C
/* 801EF16C 001EADCC  2C 1B 00 00 */	cmpwi r27, 0
/* 801EF170 001EADD0  41 82 00 24 */	beq lbl_801EF194
/* 801EF174 001EADD4  7F E4 FB 78 */	mr r4, r31
/* 801EF178 001EADD8  7F E5 FB 78 */	mr r5, r31
/* 801EF17C 001EADDC  38 61 00 80 */	addi r3, r1, 0x80
/* 801EF180 001EADE0  48 08 D8 7D */	bl PSMTXMultVec
/* 801EF184 001EADE4  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EF188 001EADE8  38 61 00 80 */	addi r3, r1, 0x80
/* 801EF18C 001EADEC  7C 85 23 78 */	mr r5, r4
/* 801EF190 001EADF0  48 08 D8 C1 */	bl PSMTXMultVecSR
lbl_801EF194:
/* 801EF194 001EADF4  3B 9C 00 01 */	addi r28, r28, 1
/* 801EF198 001EADF8  3B FF 00 18 */	addi r31, r31, 0x18
/* 801EF19C 001EADFC  3B DE 00 18 */	addi r30, r30, 0x18
lbl_801EF1A0:
/* 801EF1A0 001EAE00  57 80 04 3E */	clrlwi r0, r28, 0x10
/* 801EF1A4 001EAE04  7C 00 E8 40 */	cmplw r0, r29
/* 801EF1A8 001EAE08  41 80 FF 0C */	blt lbl_801EF0B4
lbl_801EF1AC:
/* 801EF1AC 001EAE0C  E3 E1 00 F8 */	psq_l f31, 248(r1), 0, qr0
/* 801EF1B0 001EAE10  CB E1 00 F0 */	lfd f31, 0xf0(r1)
/* 801EF1B4 001EAE14  E3 C1 00 E8 */	psq_l f30, 232(r1), 0, qr0
/* 801EF1B8 001EAE18  39 61 00 E0 */	addi r11, r1, 0xe0
/* 801EF1BC 001EAE1C  CB C1 00 E0 */	lfd f30, 0xe0(r1)
/* 801EF1C0 001EAE20  4B FD 7F A5 */	bl _restgpr_23
/* 801EF1C4 001EAE24  80 01 01 04 */	lwz r0, 0x104(r1)
/* 801EF1C8 001EAE28  7C 08 03 A6 */	mtlr r0
/* 801EF1CC 001EAE2C  38 21 01 00 */	addi r1, r1, 0x100
/* 801EF1D0 001EAE30  4E 80 00 20 */	blr

.global func_801EF1D4
func_801EF1D4:
/* 801EF1D4 001EAE34  94 21 FF 10 */	stwu r1, -0xf0(r1)
/* 801EF1D8 001EAE38  7C 08 02 A6 */	mflr r0
/* 801EF1DC 001EAE3C  90 01 00 F4 */	stw r0, 0xf4(r1)
/* 801EF1E0 001EAE40  DB E1 00 E0 */	stfd f31, 0xe0(r1)
/* 801EF1E4 001EAE44  F3 E1 00 E8 */	psq_st f31, 232(r1), 0, qr0
/* 801EF1E8 001EAE48  DB C1 00 D0 */	stfd f30, 0xd0(r1)
/* 801EF1EC 001EAE4C  F3 C1 00 D8 */	psq_st f30, 216(r1), 0, qr0
/* 801EF1F0 001EAE50  39 61 00 D0 */	addi r11, r1, 0xd0
/* 801EF1F4 001EAE54  4B FD 7F 25 */	bl _savegpr_23
/* 801EF1F8 001EAE58  C0 07 00 00 */	lfs f0, 0(r7)
/* 801EF1FC 001EAE5C  FF C0 08 90 */	fmr f30, f1
/* 801EF200 001EAE60  C0 62 97 D0 */	lfs f3, lbl_80641DD0-_SDA2_BASE_(r2)
/* 801EF204 001EAE64  FF E0 10 90 */	fmr f31, f2
/* 801EF208 001EAE68  7C 97 23 78 */	mr r23, r4
/* 801EF20C 001EAE6C  7C D8 33 78 */	mr r24, r6
/* 801EF210 001EAE70  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 801EF214 001EAE74  7C F9 3B 78 */	mr r25, r7
/* 801EF218 001EAE78  7D 1A 43 78 */	mr r26, r8
/* 801EF21C 001EAE7C  40 80 00 38 */	bge lbl_801EF254
/* 801EF220 001EAE80  C0 22 97 D4 */	lfs f1, lbl_80641DD4-_SDA2_BASE_(r2)
/* 801EF224 001EAE84  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF228 001EAE88  40 81 00 2C */	ble lbl_801EF254
/* 801EF22C 001EAE8C  C0 07 00 04 */	lfs f0, 4(r7)
/* 801EF230 001EAE90  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 801EF234 001EAE94  40 80 00 20 */	bge lbl_801EF254
/* 801EF238 001EAE98  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF23C 001EAE9C  40 81 00 18 */	ble lbl_801EF254
/* 801EF240 001EAEA0  C0 07 00 08 */	lfs f0, 8(r7)
/* 801EF244 001EAEA4  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 801EF248 001EAEA8  40 80 00 0C */	bge lbl_801EF254
/* 801EF24C 001EAEAC  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801EF250 001EAEB0  41 81 00 0C */	bgt lbl_801EF25C
lbl_801EF254:
/* 801EF254 001EAEB4  38 00 00 00 */	li r0, 0
/* 801EF258 001EAEB8  48 00 00 08 */	b lbl_801EF260
lbl_801EF25C:
/* 801EF25C 001EAEBC  38 00 00 01 */	li r0, 1
lbl_801EF260:
/* 801EF260 001EAEC0  2C 00 00 00 */	cmpwi r0, 0
/* 801EF264 001EAEC4  40 82 01 BC */	bne lbl_801EF420
/* 801EF268 001EAEC8  80 63 00 00 */	lwz r3, 0(r3)
/* 801EF26C 001EAECC  83 E5 00 04 */	lwz r31, 4(r5)
/* 801EF270 001EAED0  80 03 00 0C */	lwz r0, 0xc(r3)
/* 801EF274 001EAED4  83 C3 00 08 */	lwz r30, 8(r3)
/* 801EF278 001EAED8  7C 00 00 34 */	cntlzw r0, r0
/* 801EF27C 001EAEDC  A3 A3 00 02 */	lhz r29, 2(r3)
/* 801EF280 001EAEE0  54 1B D9 7F */	rlwinm. r27, r0, 0x1b, 5, 0x1f
/* 801EF284 001EAEE4  41 82 00 1C */	beq lbl_801EF2A0
/* 801EF288 001EAEE8  7E E3 BB 78 */	mr r3, r23
/* 801EF28C 001EAEEC  38 81 00 48 */	addi r4, r1, 0x48
/* 801EF290 001EAEF0  48 08 CE 19 */	bl PSMTXInverse
/* 801EF294 001EAEF4  38 61 00 48 */	addi r3, r1, 0x48
/* 801EF298 001EAEF8  38 81 00 78 */	addi r4, r1, 0x78
/* 801EF29C 001EAEFC  48 08 CC BD */	bl PSMTXCopy
lbl_801EF2A0:
/* 801EF2A0 001EAF00  3B 80 00 00 */	li r28, 0
/* 801EF2A4 001EAF04  48 00 01 70 */	b lbl_801EF414
lbl_801EF2A8:
/* 801EF2A8 001EAF08  2C 1B 00 00 */	cmpwi r27, 0
/* 801EF2AC 001EAF0C  41 82 00 A4 */	beq lbl_801EF350
/* 801EF2B0 001EAF10  7E E3 BB 78 */	mr r3, r23
/* 801EF2B4 001EAF14  7F C4 F3 78 */	mr r4, r30
/* 801EF2B8 001EAF18  38 A1 00 2C */	addi r5, r1, 0x2c
/* 801EF2BC 001EAF1C  48 08 D7 41 */	bl PSMTXMultVec
/* 801EF2C0 001EAF20  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 801EF2C4 001EAF24  7E E3 BB 78 */	mr r3, r23
/* 801EF2C8 001EAF28  38 9E 00 0C */	addi r4, r30, 0xc
/* 801EF2CC 001EAF2C  38 A1 00 20 */	addi r5, r1, 0x20
/* 801EF2D0 001EAF30  D0 1F 00 00 */	stfs f0, 0(r31)
/* 801EF2D4 001EAF34  C0 01 00 30 */	lfs f0, 0x30(r1)
/* 801EF2D8 001EAF38  D0 1F 00 04 */	stfs f0, 4(r31)
/* 801EF2DC 001EAF3C  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 801EF2E0 001EAF40  D0 1F 00 08 */	stfs f0, 8(r31)
/* 801EF2E4 001EAF44  48 08 D7 6D */	bl PSMTXMultVecSR
/* 801EF2E8 001EAF48  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 801EF2EC 001EAF4C  7E E3 BB 78 */	mr r3, r23
/* 801EF2F0 001EAF50  38 9E 00 18 */	addi r4, r30, 0x18
/* 801EF2F4 001EAF54  38 A1 00 14 */	addi r5, r1, 0x14
/* 801EF2F8 001EAF58  D0 1F 00 0C */	stfs f0, 0xc(r31)
/* 801EF2FC 001EAF5C  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 801EF300 001EAF60  D0 1F 00 10 */	stfs f0, 0x10(r31)
/* 801EF304 001EAF64  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 801EF308 001EAF68  D0 1F 00 14 */	stfs f0, 0x14(r31)
/* 801EF30C 001EAF6C  48 08 D7 45 */	bl PSMTXMultVecSR
/* 801EF310 001EAF70  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 801EF314 001EAF74  7E E3 BB 78 */	mr r3, r23
/* 801EF318 001EAF78  38 9E 00 24 */	addi r4, r30, 0x24
/* 801EF31C 001EAF7C  38 A1 00 08 */	addi r5, r1, 8
/* 801EF320 001EAF80  D0 1F 00 18 */	stfs f0, 0x18(r31)
/* 801EF324 001EAF84  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 801EF328 001EAF88  D0 1F 00 1C */	stfs f0, 0x1c(r31)
/* 801EF32C 001EAF8C  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801EF330 001EAF90  D0 1F 00 20 */	stfs f0, 0x20(r31)
/* 801EF334 001EAF94  48 08 D7 1D */	bl PSMTXMultVecSR
/* 801EF338 001EAF98  C0 01 00 08 */	lfs f0, 8(r1)
/* 801EF33C 001EAF9C  D0 1F 00 24 */	stfs f0, 0x24(r31)
/* 801EF340 001EAFA0  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 801EF344 001EAFA4  D0 1F 00 28 */	stfs f0, 0x28(r31)
/* 801EF348 001EAFA8  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 801EF34C 001EAFAC  D0 1F 00 2C */	stfs f0, 0x2c(r31)
lbl_801EF350:
/* 801EF350 001EAFB0  7F E3 FB 78 */	mr r3, r31
/* 801EF354 001EAFB4  7F 04 C3 78 */	mr r4, r24
/* 801EF358 001EAFB8  7F E5 FB 78 */	mr r5, r31
/* 801EF35C 001EAFBC  48 08 D9 8D */	bl PSVECSubtract
/* 801EF360 001EAFC0  7F E3 FB 78 */	mr r3, r31
/* 801EF364 001EAFC4  7F 24 CB 78 */	mr r4, r25
/* 801EF368 001EAFC8  48 08 DA 61 */	bl PSQUATDotProduct
/* 801EF36C 001EAFCC  EC 21 F0 24 */	fdivs f1, f1, f30
/* 801EF370 001EAFD0  7F 44 D3 78 */	mr r4, r26
/* 801EF374 001EAFD4  38 61 00 38 */	addi r3, r1, 0x38
/* 801EF378 001EAFD8  EC 21 07 F2 */	fmuls f1, f1, f31
/* 801EF37C 001EAFDC  48 08 DD A9 */	bl C_QUATRotAxisRad
/* 801EF380 001EAFE0  7F E3 FB 78 */	mr r3, r31
/* 801EF384 001EAFE4  38 81 00 38 */	addi r4, r1, 0x38
/* 801EF388 001EAFE8  48 03 46 85 */	bl func_80223A0C
/* 801EF38C 001EAFEC  7F E3 FB 78 */	mr r3, r31
/* 801EF390 001EAFF0  7F 04 C3 78 */	mr r4, r24
/* 801EF394 001EAFF4  7F E5 FB 78 */	mr r5, r31
/* 801EF398 001EAFF8  48 08 D9 2D */	bl PSVECAdd
/* 801EF39C 001EAFFC  38 7F 00 0C */	addi r3, r31, 0xc
/* 801EF3A0 001EB000  38 81 00 38 */	addi r4, r1, 0x38
/* 801EF3A4 001EB004  48 03 46 69 */	bl func_80223A0C
/* 801EF3A8 001EB008  38 7F 00 18 */	addi r3, r31, 0x18
/* 801EF3AC 001EB00C  38 81 00 38 */	addi r4, r1, 0x38
/* 801EF3B0 001EB010  48 03 46 5D */	bl func_80223A0C
/* 801EF3B4 001EB014  38 7F 00 24 */	addi r3, r31, 0x24
/* 801EF3B8 001EB018  38 81 00 38 */	addi r4, r1, 0x38
/* 801EF3BC 001EB01C  48 03 46 51 */	bl func_80223A0C
/* 801EF3C0 001EB020  2C 1B 00 00 */	cmpwi r27, 0
/* 801EF3C4 001EB024  41 82 00 44 */	beq lbl_801EF408
/* 801EF3C8 001EB028  7F E4 FB 78 */	mr r4, r31
/* 801EF3CC 001EB02C  7F E5 FB 78 */	mr r5, r31
/* 801EF3D0 001EB030  38 61 00 78 */	addi r3, r1, 0x78
/* 801EF3D4 001EB034  48 08 D6 29 */	bl PSMTXMultVec
/* 801EF3D8 001EB038  38 9F 00 0C */	addi r4, r31, 0xc
/* 801EF3DC 001EB03C  38 61 00 78 */	addi r3, r1, 0x78
/* 801EF3E0 001EB040  7C 85 23 78 */	mr r5, r4
/* 801EF3E4 001EB044  48 08 D6 6D */	bl PSMTXMultVecSR
/* 801EF3E8 001EB048  38 9F 00 18 */	addi r4, r31, 0x18
/* 801EF3EC 001EB04C  38 61 00 78 */	addi r3, r1, 0x78
/* 801EF3F0 001EB050  7C 85 23 78 */	mr r5, r4
/* 801EF3F4 001EB054  48 08 D6 5D */	bl PSMTXMultVecSR
/* 801EF3F8 001EB058  38 9F 00 24 */	addi r4, r31, 0x24
/* 801EF3FC 001EB05C  38 61 00 78 */	addi r3, r1, 0x78
/* 801EF400 001EB060  7C 85 23 78 */	mr r5, r4
/* 801EF404 001EB064  48 08 D6 4D */	bl PSMTXMultVecSR
lbl_801EF408:
/* 801EF408 001EB068  3B 9C 00 01 */	addi r28, r28, 1
/* 801EF40C 001EB06C  3B FF 00 30 */	addi r31, r31, 0x30
/* 801EF410 001EB070  3B DE 00 30 */	addi r30, r30, 0x30
lbl_801EF414:
/* 801EF414 001EB074  57 80 04 3E */	clrlwi r0, r28, 0x10
/* 801EF418 001EB078  7C 00 E8 40 */	cmplw r0, r29
/* 801EF41C 001EB07C  41 80 FE 8C */	blt lbl_801EF2A8
lbl_801EF420:
/* 801EF420 001EB080  E3 E1 00 E8 */	psq_l f31, 232(r1), 0, qr0
/* 801EF424 001EB084  CB E1 00 E0 */	lfd f31, 0xe0(r1)
/* 801EF428 001EB088  E3 C1 00 D8 */	psq_l f30, 216(r1), 0, qr0
/* 801EF42C 001EB08C  39 61 00 D0 */	addi r11, r1, 0xd0
/* 801EF430 001EB090  CB C1 00 D0 */	lfd f30, 0xd0(r1)
/* 801EF434 001EB094  4B FD 7D 31 */	bl _restgpr_23
/* 801EF438 001EB098  80 01 00 F4 */	lwz r0, 0xf4(r1)
/* 801EF43C 001EB09C  7C 08 03 A6 */	mtlr r0
/* 801EF440 001EB0A0  38 21 00 F0 */	addi r1, r1, 0xf0
/* 801EF444 001EB0A4  4E 80 00 20 */	blr

.global func_801EF448
func_801EF448:
/* 801EF448 001EB0A8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EF44C 001EB0AC  7C 08 02 A6 */	mflr r0
/* 801EF450 001EB0B0  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EF454 001EB0B4  38 00 00 00 */	li r0, 0
/* 801EF458 001EB0B8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801EF45C 001EB0BC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801EF460 001EB0C0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801EF464 001EB0C4  7C 7D 1B 78 */	mr r29, r3
/* 801EF468 001EB0C8  80 83 00 00 */	lwz r4, 0(r3)
/* 801EF46C 001EB0CC  A0 A4 00 02 */	lhz r5, 2(r4)
/* 801EF470 001EB0D0  98 03 00 1A */	stb r0, 0x1a(r3)
/* 801EF474 001EB0D4  80 04 00 08 */	lwz r0, 8(r4)
/* 801EF478 001EB0D8  90 03 00 08 */	stw r0, 8(r3)
/* 801EF47C 001EB0DC  80 04 00 0C */	lwz r0, 0xc(r4)
/* 801EF480 001EB0E0  2C 00 00 00 */	cmpwi r0, 0
/* 801EF484 001EB0E4  41 82 00 48 */	beq lbl_801EF4CC
/* 801EF488 001EB0E8  1F E5 00 18 */	mulli r31, r5, 0x18
/* 801EF48C 001EB0EC  38 80 00 20 */	li r4, 0x20
/* 801EF490 001EB0F0  7F E3 FB 78 */	mr r3, r31
/* 801EF494 001EB0F4  4B FE B9 39 */	bl func_801DADCC
/* 801EF498 001EB0F8  2C 03 00 00 */	cmpwi r3, 0
/* 801EF49C 001EB0FC  7C 7E 1B 78 */	mr r30, r3
/* 801EF4A0 001EB100  41 82 00 2C */	beq lbl_801EF4CC
/* 801EF4A4 001EB104  38 00 00 01 */	li r0, 1
/* 801EF4A8 001EB108  80 9D 00 00 */	lwz r4, 0(r29)
/* 801EF4AC 001EB10C  98 1D 00 1B */	stb r0, 0x1b(r29)
/* 801EF4B0 001EB110  7F E5 FB 78 */	mr r5, r31
/* 801EF4B4 001EB114  80 84 00 08 */	lwz r4, 8(r4)
/* 801EF4B8 001EB118  4B E1 4B 49 */	bl memcpy
/* 801EF4BC 001EB11C  7F C3 F3 78 */	mr r3, r30
/* 801EF4C0 001EB120  7F E4 FB 78 */	mr r4, r31
/* 801EF4C4 001EB124  48 07 B1 91 */	bl DCFlushRange
/* 801EF4C8 001EB128  93 DD 00 08 */	stw r30, 8(r29)
lbl_801EF4CC:
/* 801EF4CC 001EB12C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801EF4D0 001EB130  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801EF4D4 001EB134  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801EF4D8 001EB138  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801EF4DC 001EB13C  7C 08 03 A6 */	mtlr r0
/* 801EF4E0 001EB140  38 21 00 20 */	addi r1, r1, 0x20
/* 801EF4E4 001EB144  4E 80 00 20 */	blr

.global func_801EF4E8
func_801EF4E8:
/* 801EF4E8 001EB148  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EF4EC 001EB14C  7C 08 02 A6 */	mflr r0
/* 801EF4F0 001EB150  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EF4F4 001EB154  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801EF4F8 001EB158  3B E0 00 01 */	li r31, 1
/* 801EF4FC 001EB15C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801EF500 001EB160  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801EF504 001EB164  93 81 00 10 */	stw r28, 0x10(r1)
/* 801EF508 001EB168  7C 7C 1B 78 */	mr r28, r3
/* 801EF50C 001EB16C  80 83 00 00 */	lwz r4, 0(r3)
/* 801EF510 001EB170  A0 A4 00 02 */	lhz r5, 2(r4)
/* 801EF514 001EB174  9B E3 00 1A */	stb r31, 0x1a(r3)
/* 801EF518 001EB178  80 04 00 08 */	lwz r0, 8(r4)
/* 801EF51C 001EB17C  90 03 00 08 */	stw r0, 8(r3)
/* 801EF520 001EB180  80 04 00 0C */	lwz r0, 0xc(r4)
/* 801EF524 001EB184  2C 00 00 00 */	cmpwi r0, 0
/* 801EF528 001EB188  41 82 00 44 */	beq lbl_801EF56C
/* 801EF52C 001EB18C  1F C5 00 30 */	mulli r30, r5, 0x30
/* 801EF530 001EB190  38 80 00 20 */	li r4, 0x20
/* 801EF534 001EB194  7F C3 F3 78 */	mr r3, r30
/* 801EF538 001EB198  4B FE B8 95 */	bl func_801DADCC
/* 801EF53C 001EB19C  2C 03 00 00 */	cmpwi r3, 0
/* 801EF540 001EB1A0  7C 7D 1B 78 */	mr r29, r3
/* 801EF544 001EB1A4  41 82 00 28 */	beq lbl_801EF56C
/* 801EF548 001EB1A8  9B FC 00 1B */	stb r31, 0x1b(r28)
/* 801EF54C 001EB1AC  7F C5 F3 78 */	mr r5, r30
/* 801EF550 001EB1B0  80 9C 00 00 */	lwz r4, 0(r28)
/* 801EF554 001EB1B4  80 84 00 08 */	lwz r4, 8(r4)
/* 801EF558 001EB1B8  4B E1 4A A9 */	bl memcpy
/* 801EF55C 001EB1BC  7F A3 EB 78 */	mr r3, r29
/* 801EF560 001EB1C0  7F C4 F3 78 */	mr r4, r30
/* 801EF564 001EB1C4  48 07 B0 F1 */	bl DCFlushRange
/* 801EF568 001EB1C8  93 BC 00 08 */	stw r29, 8(r28)
lbl_801EF56C:
/* 801EF56C 001EB1CC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801EF570 001EB1D0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801EF574 001EB1D4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801EF578 001EB1D8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801EF57C 001EB1DC  83 81 00 10 */	lwz r28, 0x10(r1)
/* 801EF580 001EB1E0  7C 08 03 A6 */	mtlr r0
/* 801EF584 001EB1E4  38 21 00 20 */	addi r1, r1, 0x20
/* 801EF588 001EB1E8  4E 80 00 20 */	blr

.global func_801EF58C
func_801EF58C:
/* 801EF58C 001EB1EC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EF590 001EB1F0  7C 08 02 A6 */	mflr r0
/* 801EF594 001EB1F4  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EF598 001EB1F8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801EF59C 001EB1FC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801EF5A0 001EB200  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801EF5A4 001EB204  7C 7D 1B 78 */	mr r29, r3
/* 801EF5A8 001EB208  80 83 00 00 */	lwz r4, 0(r3)
/* 801EF5AC 001EB20C  A3 C4 00 04 */	lhz r30, 4(r4)
/* 801EF5B0 001EB210  2C 1E 00 00 */	cmpwi r30, 0
/* 801EF5B4 001EB214  41 82 00 74 */	beq lbl_801EF628
/* 801EF5B8 001EB218  80 04 00 10 */	lwz r0, 0x10(r4)
/* 801EF5BC 001EB21C  90 03 00 0C */	stw r0, 0xc(r3)
/* 801EF5C0 001EB220  A0 04 00 00 */	lhz r0, 0(r4)
/* 801EF5C4 001EB224  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 801EF5C8 001EB228  41 82 00 60 */	beq lbl_801EF628
/* 801EF5CC 001EB22C  57 C3 13 BA */	rlwinm r3, r30, 2, 0xe, 0x1d
/* 801EF5D0 001EB230  38 63 00 10 */	addi r3, r3, 0x10
/* 801EF5D4 001EB234  4B FE B4 A1 */	bl __nwa__FUl
/* 801EF5D8 001EB238  3C 80 80 03 */	lis r4, func_8002A84C@ha
/* 801EF5DC 001EB23C  7F C7 F3 78 */	mr r7, r30
/* 801EF5E0 001EB240  38 84 A8 4C */	addi r4, r4, func_8002A84C@l
/* 801EF5E4 001EB244  38 A0 00 00 */	li r5, 0
/* 801EF5E8 001EB248  38 C0 00 04 */	li r6, 4
/* 801EF5EC 001EB24C  4B FD 76 BD */	bl __construct_new_array
/* 801EF5F0 001EB250  2C 03 00 00 */	cmpwi r3, 0
/* 801EF5F4 001EB254  7C 7F 1B 78 */	mr r31, r3
/* 801EF5F8 001EB258  41 82 00 30 */	beq lbl_801EF628
/* 801EF5FC 001EB25C  38 00 00 01 */	li r0, 1
/* 801EF600 001EB260  57 DE 13 BA */	rlwinm r30, r30, 2, 0xe, 0x1d
/* 801EF604 001EB264  98 1D 00 1B */	stb r0, 0x1b(r29)
/* 801EF608 001EB268  7F C5 F3 78 */	mr r5, r30
/* 801EF60C 001EB26C  80 9D 00 00 */	lwz r4, 0(r29)
/* 801EF610 001EB270  80 84 00 10 */	lwz r4, 0x10(r4)
/* 801EF614 001EB274  4B E1 49 ED */	bl memcpy
/* 801EF618 001EB278  7F E3 FB 78 */	mr r3, r31
/* 801EF61C 001EB27C  7F C4 F3 78 */	mr r4, r30
/* 801EF620 001EB280  48 07 B0 35 */	bl DCFlushRange
/* 801EF624 001EB284  93 FD 00 0C */	stw r31, 0xc(r29)
lbl_801EF628:
/* 801EF628 001EB288  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801EF62C 001EB28C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801EF630 001EB290  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801EF634 001EB294  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801EF638 001EB298  7C 08 03 A6 */	mtlr r0
/* 801EF63C 001EB29C  38 21 00 20 */	addi r1, r1, 0x20
/* 801EF640 001EB2A0  4E 80 00 20 */	blr

.global func_801EF644
func_801EF644:
/* 801EF644 001EB2A4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801EF648 001EB2A8  7C 08 02 A6 */	mflr r0
/* 801EF64C 001EB2AC  90 01 00 34 */	stw r0, 0x34(r1)
/* 801EF650 001EB2B0  39 61 00 30 */	addi r11, r1, 0x30
/* 801EF654 001EB2B4  4B FD 7A C5 */	bl _savegpr_23
/* 801EF658 001EB2B8  80 83 00 00 */	lwz r4, 0(r3)
/* 801EF65C 001EB2BC  7C 7F 1B 78 */	mr r31, r3
/* 801EF660 001EB2C0  A3 64 00 06 */	lhz r27, 6(r4)
/* 801EF664 001EB2C4  2C 1B 00 00 */	cmpwi r27, 0
/* 801EF668 001EB2C8  41 82 00 DC */	beq lbl_801EF744
/* 801EF66C 001EB2CC  80 04 00 14 */	lwz r0, 0x14(r4)
/* 801EF670 001EB2D0  90 03 00 10 */	stw r0, 0x10(r3)
/* 801EF674 001EB2D4  A0 04 00 00 */	lhz r0, 0(r4)
/* 801EF678 001EB2D8  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801EF67C 001EB2DC  41 82 00 C8 */	beq lbl_801EF744
/* 801EF680 001EB2E0  57 63 1B 78 */	rlwinm r3, r27, 3, 0xd, 0x1c
/* 801EF684 001EB2E4  4B FE B3 F1 */	bl __nwa__FUl
/* 801EF688 001EB2E8  2C 03 00 00 */	cmpwi r3, 0
/* 801EF68C 001EB2EC  7C 7A 1B 78 */	mr r26, r3
/* 801EF690 001EB2F0  41 82 00 B4 */	beq lbl_801EF744
/* 801EF694 001EB2F4  80 9F 00 00 */	lwz r4, 0(r31)
/* 801EF698 001EB2F8  57 7C 1B 78 */	rlwinm r28, r27, 3, 0xd, 0x1c
/* 801EF69C 001EB2FC  7F 85 E3 78 */	mr r5, r28
/* 801EF6A0 001EB300  80 84 00 14 */	lwz r4, 0x14(r4)
/* 801EF6A4 001EB304  4B E1 49 5D */	bl memcpy
/* 801EF6A8 001EB308  7F 43 D3 78 */	mr r3, r26
/* 801EF6AC 001EB30C  7F 84 E3 78 */	mr r4, r28
/* 801EF6B0 001EB310  48 07 AF A5 */	bl DCFlushRange
/* 801EF6B4 001EB314  80 7F 00 00 */	lwz r3, 0(r31)
/* 801EF6B8 001EB318  7F 58 D3 78 */	mr r24, r26
/* 801EF6BC 001EB31C  3A E0 00 00 */	li r23, 0
/* 801EF6C0 001EB320  3F A0 80 03 */	lis r29, 0x8003
/* 801EF6C4 001EB324  83 23 00 14 */	lwz r25, 0x14(r3)
/* 801EF6C8 001EB328  3B C0 00 01 */	li r30, 1
/* 801EF6CC 001EB32C  48 00 00 68 */	b lbl_801EF734
lbl_801EF6D0:
/* 801EF6D0 001EB330  A3 99 00 04 */	lhz r28, 4(r25)
/* 801EF6D4 001EB334  57 83 18 38 */	slwi r3, r28, 3
/* 801EF6D8 001EB338  38 63 00 10 */	addi r3, r3, 0x10
/* 801EF6DC 001EB33C  4B FE B3 99 */	bl __nwa__FUl
/* 801EF6E0 001EB340  7F 87 E3 78 */	mr r7, r28
/* 801EF6E4 001EB344  38 9D A2 98 */	addi r4, r29, -23912
/* 801EF6E8 001EB348  38 A0 00 00 */	li r5, 0
/* 801EF6EC 001EB34C  38 C0 00 08 */	li r6, 8
/* 801EF6F0 001EB350  4B FD 75 B9 */	bl __construct_new_array
/* 801EF6F4 001EB354  2C 03 00 00 */	cmpwi r3, 0
/* 801EF6F8 001EB358  7C 7C 1B 78 */	mr r28, r3
/* 801EF6FC 001EB35C  41 82 00 44 */	beq lbl_801EF740
/* 801EF700 001EB360  9B DF 00 1B */	stb r30, 0x1b(r31)
/* 801EF704 001EB364  A0 19 00 04 */	lhz r0, 4(r25)
/* 801EF708 001EB368  80 99 00 00 */	lwz r4, 0(r25)
/* 801EF70C 001EB36C  54 05 18 38 */	slwi r5, r0, 3
/* 801EF710 001EB370  4B E1 48 F1 */	bl memcpy
/* 801EF714 001EB374  A0 19 00 04 */	lhz r0, 4(r25)
/* 801EF718 001EB378  7F 83 E3 78 */	mr r3, r28
/* 801EF71C 001EB37C  54 04 18 38 */	slwi r4, r0, 3
/* 801EF720 001EB380  48 07 AF 35 */	bl DCFlushRange
/* 801EF724 001EB384  93 98 00 00 */	stw r28, 0(r24)
/* 801EF728 001EB388  3A F7 00 01 */	addi r23, r23, 1
/* 801EF72C 001EB38C  3B 18 00 08 */	addi r24, r24, 8
/* 801EF730 001EB390  3B 39 00 08 */	addi r25, r25, 8
lbl_801EF734:
/* 801EF734 001EB394  56 E0 06 3E */	clrlwi r0, r23, 0x18
/* 801EF738 001EB398  7C 00 D8 00 */	cmpw r0, r27
/* 801EF73C 001EB39C  41 80 FF 94 */	blt lbl_801EF6D0
lbl_801EF740:
/* 801EF740 001EB3A0  93 5F 00 10 */	stw r26, 0x10(r31)
lbl_801EF744:
/* 801EF744 001EB3A4  39 61 00 30 */	addi r11, r1, 0x30
/* 801EF748 001EB3A8  4B FD 7A 1D */	bl _restgpr_23
/* 801EF74C 001EB3AC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801EF750 001EB3B0  7C 08 03 A6 */	mtlr r0
/* 801EF754 001EB3B4  38 21 00 30 */	addi r1, r1, 0x30
/* 801EF758 001EB3B8  4E 80 00 20 */	blr

.global func_801EF75C
func_801EF75C:
/* 801EF75C 001EB3BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801EF760 001EB3C0  7C 08 02 A6 */	mflr r0
/* 801EF764 001EB3C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 801EF768 001EB3C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801EF76C 001EB3CC  93 C1 00 08 */	stw r30, 8(r1)
/* 801EF770 001EB3D0  7C 7E 1B 78 */	mr r30, r3
/* 801EF774 001EB3D4  88 03 00 1A */	lbz r0, 0x1a(r3)
/* 801EF778 001EB3D8  80 83 00 00 */	lwz r4, 0(r3)
/* 801EF77C 001EB3DC  2C 00 00 00 */	cmpwi r0, 0
/* 801EF780 001EB3E0  A0 84 00 02 */	lhz r4, 2(r4)
/* 801EF784 001EB3E4  41 82 00 48 */	beq lbl_801EF7CC
/* 801EF788 001EB3E8  80 03 00 04 */	lwz r0, 4(r3)
/* 801EF78C 001EB3EC  2C 00 00 00 */	cmpwi r0, 0
/* 801EF790 001EB3F0  40 82 00 7C */	bne lbl_801EF80C
/* 801EF794 001EB3F4  1F E4 00 30 */	mulli r31, r4, 0x30
/* 801EF798 001EB3F8  38 80 00 20 */	li r4, 0x20
/* 801EF79C 001EB3FC  7F E3 FB 78 */	mr r3, r31
/* 801EF7A0 001EB400  4B FE B6 2D */	bl func_801DADCC
/* 801EF7A4 001EB404  2C 03 00 00 */	cmpwi r3, 0
/* 801EF7A8 001EB408  90 7E 00 04 */	stw r3, 4(r30)
/* 801EF7AC 001EB40C  41 82 00 60 */	beq lbl_801EF80C
/* 801EF7B0 001EB410  80 9E 00 08 */	lwz r4, 8(r30)
/* 801EF7B4 001EB414  7F E5 FB 78 */	mr r5, r31
/* 801EF7B8 001EB418  4B E1 48 49 */	bl memcpy
/* 801EF7BC 001EB41C  80 7E 00 04 */	lwz r3, 4(r30)
/* 801EF7C0 001EB420  7F E4 FB 78 */	mr r4, r31
/* 801EF7C4 001EB424  48 07 AE 91 */	bl DCFlushRange
/* 801EF7C8 001EB428  48 00 00 44 */	b lbl_801EF80C
lbl_801EF7CC:
/* 801EF7CC 001EB42C  80 03 00 04 */	lwz r0, 4(r3)
/* 801EF7D0 001EB430  2C 00 00 00 */	cmpwi r0, 0
/* 801EF7D4 001EB434  40 82 00 38 */	bne lbl_801EF80C
/* 801EF7D8 001EB438  1F E4 00 18 */	mulli r31, r4, 0x18
/* 801EF7DC 001EB43C  38 80 00 20 */	li r4, 0x20
/* 801EF7E0 001EB440  7F E3 FB 78 */	mr r3, r31
/* 801EF7E4 001EB444  4B FE B5 E9 */	bl func_801DADCC
/* 801EF7E8 001EB448  2C 03 00 00 */	cmpwi r3, 0
/* 801EF7EC 001EB44C  90 7E 00 04 */	stw r3, 4(r30)
/* 801EF7F0 001EB450  41 82 00 1C */	beq lbl_801EF80C
/* 801EF7F4 001EB454  80 9E 00 08 */	lwz r4, 8(r30)
/* 801EF7F8 001EB458  7F E5 FB 78 */	mr r5, r31
/* 801EF7FC 001EB45C  4B E1 48 05 */	bl memcpy
/* 801EF800 001EB460  80 7E 00 04 */	lwz r3, 4(r30)
/* 801EF804 001EB464  7F E4 FB 78 */	mr r4, r31
/* 801EF808 001EB468  48 07 AE 4D */	bl DCFlushRange
lbl_801EF80C:
/* 801EF80C 001EB46C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801EF810 001EB470  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801EF814 001EB474  83 C1 00 08 */	lwz r30, 8(r1)
/* 801EF818 001EB478  7C 08 03 A6 */	mtlr r0
/* 801EF81C 001EB47C  38 21 00 10 */	addi r1, r1, 0x10
/* 801EF820 001EB480  4E 80 00 20 */	blr

.global func_801EF824
func_801EF824:
/* 801EF824 001EB484  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801EF828 001EB488  7C 08 02 A6 */	mflr r0
/* 801EF82C 001EB48C  90 01 00 14 */	stw r0, 0x14(r1)
/* 801EF830 001EB490  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801EF834 001EB494  7C 7F 1B 78 */	mr r31, r3
/* 801EF838 001EB498  80 03 00 04 */	lwz r0, 4(r3)
/* 801EF83C 001EB49C  2C 00 00 00 */	cmpwi r0, 0
/* 801EF840 001EB4A0  41 82 00 3C */	beq lbl_801EF87C
/* 801EF844 001EB4A4  88 03 00 1B */	lbz r0, 0x1b(r3)
/* 801EF848 001EB4A8  2C 00 00 00 */	cmpwi r0, 0
/* 801EF84C 001EB4AC  41 82 00 20 */	beq lbl_801EF86C
/* 801EF850 001EB4B0  80 83 00 14 */	lwz r4, 0x14(r3)
/* 801EF854 001EB4B4  2C 04 00 00 */	cmpwi r4, 0
/* 801EF858 001EB4B8  41 82 00 14 */	beq lbl_801EF86C
/* 801EF85C 001EB4BC  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801EF860 001EB4C0  48 04 C0 2D */	bl func_8023B88C
/* 801EF864 001EB4C4  38 00 00 00 */	li r0, 0
/* 801EF868 001EB4C8  90 1F 00 14 */	stw r0, 0x14(r31)
lbl_801EF86C:
/* 801EF86C 001EB4CC  80 7F 00 04 */	lwz r3, 4(r31)
/* 801EF870 001EB4D0  4B FE B6 35 */	bl func_801DAEA4
/* 801EF874 001EB4D4  38 00 00 00 */	li r0, 0
/* 801EF878 001EB4D8  90 1F 00 04 */	stw r0, 4(r31)
lbl_801EF87C:
/* 801EF87C 001EB4DC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801EF880 001EB4E0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801EF884 001EB4E4  7C 08 03 A6 */	mtlr r0
/* 801EF888 001EB4E8  38 21 00 10 */	addi r1, r1, 0x10
/* 801EF88C 001EB4EC  4E 80 00 20 */	blr

.global func_801EF890
func_801EF890:
/* 801EF890 001EB4F0  2C 04 00 00 */	cmpwi r4, 0
/* 801EF894 001EB4F4  7C 85 23 78 */	mr r5, r4
/* 801EF898 001EB4F8  4D 82 00 20 */	beqlr
/* 801EF89C 001EB4FC  80 83 00 00 */	lwz r4, 0(r3)
/* 801EF8A0 001EB500  80 04 00 0C */	lwz r0, 0xc(r4)
/* 801EF8A4 001EB504  2C 00 00 00 */	cmpwi r0, 0
/* 801EF8A8 001EB508  40 82 00 08 */	bne lbl_801EF8B0
/* 801EF8AC 001EB50C  4E 80 00 20 */	blr
lbl_801EF8B0:
/* 801EF8B0 001EB510  88 03 00 1A */	lbz r0, 0x1a(r3)
/* 801EF8B4 001EB514  38 83 00 04 */	addi r4, r3, 4
/* 801EF8B8 001EB518  2C 00 00 00 */	cmpwi r0, 0
/* 801EF8BC 001EB51C  41 82 00 08 */	beq lbl_801EF8C4
/* 801EF8C0 001EB520  4B FF F2 78 */	b lbl_801EEB38
lbl_801EF8C4:
/* 801EF8C4 001EB524  4B FF EF D8 */	b lbl_801EE89C
/* 801EF8C8 001EB528  4E 80 00 20 */	blr

.global func_801EF8CC
func_801EF8CC:
/* 801EF8CC 001EB52C  94 21 FF 30 */	stwu r1, -0xd0(r1)
/* 801EF8D0 001EB530  7C 08 02 A6 */	mflr r0
/* 801EF8D4 001EB534  90 01 00 D4 */	stw r0, 0xd4(r1)
/* 801EF8D8 001EB538  DB E1 00 C0 */	stfd f31, 0xc0(r1)
/* 801EF8DC 001EB53C  F3 E1 00 C8 */	psq_st f31, 200(r1), 0, qr0
/* 801EF8E0 001EB540  DB C1 00 B0 */	stfd f30, 0xb0(r1)
/* 801EF8E4 001EB544  F3 C1 00 B8 */	psq_st f30, 184(r1), 0, qr0
/* 801EF8E8 001EB548  39 61 00 B0 */	addi r11, r1, 0xb0
/* 801EF8EC 001EB54C  4B FD 78 3D */	bl _savegpr_27
/* 801EF8F0 001EB550  FF C0 08 90 */	fmr f30, f1
/* 801EF8F4 001EB554  7C 7B 1B 78 */	mr r27, r3
/* 801EF8F8 001EB558  FF E0 10 90 */	fmr f31, f2
/* 801EF8FC 001EB55C  7C 9C 23 78 */	mr r28, r4
/* 801EF900 001EB560  7C A3 2B 78 */	mr r3, r5
/* 801EF904 001EB564  7C DD 33 78 */	mr r29, r6
/* 801EF908 001EB568  7C FE 3B 78 */	mr r30, r7
/* 801EF90C 001EB56C  7D 1F 43 78 */	mr r31, r8
/* 801EF910 001EB570  38 81 00 60 */	addi r4, r1, 0x60
/* 801EF914 001EB574  48 08 C6 45 */	bl PSMTXCopy
/* 801EF918 001EB578  C1 1D 00 00 */	lfs f8, 0(r29)
/* 801EF91C 001EB57C  2C 1C 00 00 */	cmpwi r28, 0
/* 801EF920 001EB580  C0 FD 00 04 */	lfs f7, 4(r29)
/* 801EF924 001EB584  C0 DD 00 08 */	lfs f6, 8(r29)
/* 801EF928 001EB588  C0 BE 00 00 */	lfs f5, 0(r30)
/* 801EF92C 001EB58C  C0 9E 00 04 */	lfs f4, 4(r30)
/* 801EF930 001EB590  C0 7E 00 08 */	lfs f3, 8(r30)
/* 801EF934 001EB594  C0 5F 00 00 */	lfs f2, 0(r31)
/* 801EF938 001EB598  C0 3F 00 04 */	lfs f1, 4(r31)
/* 801EF93C 001EB59C  C0 1F 00 08 */	lfs f0, 8(r31)
/* 801EF940 001EB5A0  D1 01 00 20 */	stfs f8, 0x20(r1)
/* 801EF944 001EB5A4  D0 E1 00 24 */	stfs f7, 0x24(r1)
/* 801EF948 001EB5A8  D0 C1 00 28 */	stfs f6, 0x28(r1)
/* 801EF94C 001EB5AC  D0 A1 00 14 */	stfs f5, 0x14(r1)
/* 801EF950 001EB5B0  D0 81 00 18 */	stfs f4, 0x18(r1)
/* 801EF954 001EB5B4  D0 61 00 1C */	stfs f3, 0x1c(r1)
/* 801EF958 001EB5B8  D0 41 00 08 */	stfs f2, 8(r1)
/* 801EF95C 001EB5BC  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 801EF960 001EB5C0  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801EF964 001EB5C4  41 82 00 74 */	beq lbl_801EF9D8
/* 801EF968 001EB5C8  80 7C 00 08 */	lwz r3, 8(r28)
/* 801EF96C 001EB5CC  2C 03 00 00 */	cmpwi r3, 0
/* 801EF970 001EB5D0  41 82 00 18 */	beq lbl_801EF988
/* 801EF974 001EB5D4  80 63 00 00 */	lwz r3, 0(r3)
/* 801EF978 001EB5D8  2C 03 00 00 */	cmpwi r3, 0
/* 801EF97C 001EB5DC  41 82 00 0C */	beq lbl_801EF988
/* 801EF980 001EB5E0  38 63 00 D0 */	addi r3, r3, 0xd0
/* 801EF984 001EB5E4  48 00 00 0C */	b lbl_801EF990
lbl_801EF988:
/* 801EF988 001EB5E8  3C 60 80 49 */	lis r3, lbl_804932B0@ha
/* 801EF98C 001EB5EC  38 63 32 B0 */	addi r3, r3, lbl_804932B0@l
lbl_801EF990:
/* 801EF990 001EB5F0  38 81 00 30 */	addi r4, r1, 0x30
/* 801EF994 001EB5F4  48 08 C7 15 */	bl PSMTXInverse
/* 801EF998 001EB5F8  38 81 00 60 */	addi r4, r1, 0x60
/* 801EF99C 001EB5FC  38 61 00 30 */	addi r3, r1, 0x30
/* 801EF9A0 001EB600  7C 85 23 78 */	mr r5, r4
/* 801EF9A4 001EB604  48 08 C5 E9 */	bl PSMTXConcat
/* 801EF9A8 001EB608  38 81 00 20 */	addi r4, r1, 0x20
/* 801EF9AC 001EB60C  38 61 00 30 */	addi r3, r1, 0x30
/* 801EF9B0 001EB610  7C 85 23 78 */	mr r5, r4
/* 801EF9B4 001EB614  48 08 D0 49 */	bl PSMTXMultVec
/* 801EF9B8 001EB618  38 81 00 14 */	addi r4, r1, 0x14
/* 801EF9BC 001EB61C  38 61 00 30 */	addi r3, r1, 0x30
/* 801EF9C0 001EB620  7C 85 23 78 */	mr r5, r4
/* 801EF9C4 001EB624  48 08 D0 8D */	bl PSMTXMultVecSR
/* 801EF9C8 001EB628  38 81 00 08 */	addi r4, r1, 8
/* 801EF9CC 001EB62C  38 61 00 30 */	addi r3, r1, 0x30
/* 801EF9D0 001EB630  7C 85 23 78 */	mr r5, r4
/* 801EF9D4 001EB634  48 08 D0 7D */	bl PSMTXMultVecSR
lbl_801EF9D8:
/* 801EF9D8 001EB638  88 1B 00 1A */	lbz r0, 0x1a(r27)
/* 801EF9DC 001EB63C  38 BB 00 04 */	addi r5, r27, 4
/* 801EF9E0 001EB640  2C 00 00 00 */	cmpwi r0, 0
/* 801EF9E4 001EB644  41 82 00 28 */	beq lbl_801EFA0C
/* 801EF9E8 001EB648  FC 20 F0 90 */	fmr f1, f30
/* 801EF9EC 001EB64C  7F 63 DB 78 */	mr r3, r27
/* 801EF9F0 001EB650  FC 40 F8 90 */	fmr f2, f31
/* 801EF9F4 001EB654  38 81 00 60 */	addi r4, r1, 0x60
/* 801EF9F8 001EB658  38 C1 00 20 */	addi r6, r1, 0x20
/* 801EF9FC 001EB65C  38 E1 00 14 */	addi r7, r1, 0x14
/* 801EFA00 001EB660  39 01 00 08 */	addi r8, r1, 8
/* 801EFA04 001EB664  4B FF F7 D1 */	bl func_801EF1D4
/* 801EFA08 001EB668  48 00 00 24 */	b lbl_801EFA2C
lbl_801EFA0C:
/* 801EFA0C 001EB66C  FC 20 F0 90 */	fmr f1, f30
/* 801EFA10 001EB670  7F 63 DB 78 */	mr r3, r27
/* 801EFA14 001EB674  FC 40 F8 90 */	fmr f2, f31
/* 801EFA18 001EB678  38 81 00 60 */	addi r4, r1, 0x60
/* 801EFA1C 001EB67C  38 C1 00 20 */	addi r6, r1, 0x20
/* 801EFA20 001EB680  38 E1 00 14 */	addi r7, r1, 0x14
/* 801EFA24 001EB684  39 01 00 08 */	addi r8, r1, 8
/* 801EFA28 001EB688  4B FF F5 5D */	bl func_801EEF84
lbl_801EFA2C:
/* 801EFA2C 001EB68C  E3 E1 00 C8 */	psq_l f31, 200(r1), 0, qr0
/* 801EFA30 001EB690  CB E1 00 C0 */	lfd f31, 0xc0(r1)
/* 801EFA34 001EB694  E3 C1 00 B8 */	psq_l f30, 184(r1), 0, qr0
/* 801EFA38 001EB698  39 61 00 B0 */	addi r11, r1, 0xb0
/* 801EFA3C 001EB69C  CB C1 00 B0 */	lfd f30, 0xb0(r1)
/* 801EFA40 001EB6A0  4B FD 77 35 */	bl _restgpr_27
/* 801EFA44 001EB6A4  80 01 00 D4 */	lwz r0, 0xd4(r1)
/* 801EFA48 001EB6A8  7C 08 03 A6 */	mtlr r0
/* 801EFA4C 001EB6AC  38 21 00 D0 */	addi r1, r1, 0xd0
/* 801EFA50 001EB6B0  4E 80 00 20 */	blr

.global func_801EFA54
func_801EFA54:
/* 801EFA54 001EB6B4  88 03 00 1A */	lbz r0, 0x1a(r3)
/* 801EFA58 001EB6B8  38 83 00 04 */	addi r4, r3, 4
/* 801EFA5C 001EB6BC  2C 00 00 00 */	cmpwi r0, 0
/* 801EFA60 001EB6C0  41 82 00 08 */	beq lbl_801EFA68
/* 801EFA64 001EB6C4  4B FF F4 48 */	b lbl_801EEEAC
lbl_801EFA68:
/* 801EFA68 001EB6C8  4B FF F3 6C */	b lbl_801EEDD4

.global func_801EFA6C
func_801EFA6C:
/* 801EFA6C 001EB6CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EFA70 001EB6D0  7C 08 02 A6 */	mflr r0
/* 801EFA74 001EB6D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EFA78 001EB6D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801EFA7C 001EB6DC  7C 7F 1B 78 */	mr r31, r3
/* 801EFA80 001EB6E0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801EFA84 001EB6E4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801EFA88 001EB6E8  93 81 00 10 */	stw r28, 0x10(r1)
/* 801EFA8C 001EB6EC  88 03 00 1B */	lbz r0, 0x1b(r3)
/* 801EFA90 001EB6F0  2C 00 00 00 */	cmpwi r0, 0
/* 801EFA94 001EB6F4  41 82 00 20 */	beq lbl_801EFAB4
/* 801EFA98 001EB6F8  80 83 00 14 */	lwz r4, 0x14(r3)
/* 801EFA9C 001EB6FC  2C 04 00 00 */	cmpwi r4, 0
/* 801EFAA0 001EB700  41 82 00 14 */	beq lbl_801EFAB4
/* 801EFAA4 001EB704  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801EFAA8 001EB708  48 04 BD E5 */	bl func_8023B88C
/* 801EFAAC 001EB70C  38 00 00 00 */	li r0, 0
/* 801EFAB0 001EB710  90 1F 00 14 */	stw r0, 0x14(r31)
lbl_801EFAB4:
/* 801EFAB4 001EB714  80 BF 00 00 */	lwz r5, 0(r31)
/* 801EFAB8 001EB718  80 7F 00 08 */	lwz r3, 8(r31)
/* 801EFABC 001EB71C  80 85 00 08 */	lwz r4, 8(r5)
/* 801EFAC0 001EB720  7C 03 20 40 */	cmplw r3, r4
/* 801EFAC4 001EB724  41 82 00 54 */	beq lbl_801EFB18
/* 801EFAC8 001EB728  88 1F 00 1A */	lbz r0, 0x1a(r31)
/* 801EFACC 001EB72C  2C 00 00 00 */	cmpwi r0, 0
/* 801EFAD0 001EB730  41 82 00 28 */	beq lbl_801EFAF8
/* 801EFAD4 001EB734  A0 05 00 02 */	lhz r0, 2(r5)
/* 801EFAD8 001EB738  1C A0 00 30 */	mulli r5, r0, 0x30
/* 801EFADC 001EB73C  4B E1 45 25 */	bl memcpy
/* 801EFAE0 001EB740  80 9F 00 00 */	lwz r4, 0(r31)
/* 801EFAE4 001EB744  80 7F 00 08 */	lwz r3, 8(r31)
/* 801EFAE8 001EB748  A0 04 00 02 */	lhz r0, 2(r4)
/* 801EFAEC 001EB74C  1C 80 00 30 */	mulli r4, r0, 0x30
/* 801EFAF0 001EB750  48 07 AB 65 */	bl DCFlushRange
/* 801EFAF4 001EB754  48 00 00 24 */	b lbl_801EFB18
lbl_801EFAF8:
/* 801EFAF8 001EB758  A0 05 00 02 */	lhz r0, 2(r5)
/* 801EFAFC 001EB75C  1C A0 00 18 */	mulli r5, r0, 0x18
/* 801EFB00 001EB760  4B E1 45 01 */	bl memcpy
/* 801EFB04 001EB764  80 9F 00 00 */	lwz r4, 0(r31)
/* 801EFB08 001EB768  80 7F 00 08 */	lwz r3, 8(r31)
/* 801EFB0C 001EB76C  A0 04 00 02 */	lhz r0, 2(r4)
/* 801EFB10 001EB770  1C 80 00 18 */	mulli r4, r0, 0x18
/* 801EFB14 001EB774  48 07 AB 41 */	bl DCFlushRange
lbl_801EFB18:
/* 801EFB18 001EB778  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 801EFB1C 001EB77C  2C 03 00 00 */	cmpwi r3, 0
/* 801EFB20 001EB780  41 82 00 34 */	beq lbl_801EFB54
/* 801EFB24 001EB784  80 BF 00 00 */	lwz r5, 0(r31)
/* 801EFB28 001EB788  80 85 00 10 */	lwz r4, 0x10(r5)
/* 801EFB2C 001EB78C  7C 03 20 40 */	cmplw r3, r4
/* 801EFB30 001EB790  41 82 00 24 */	beq lbl_801EFB54
/* 801EFB34 001EB794  A0 05 00 04 */	lhz r0, 4(r5)
/* 801EFB38 001EB798  54 05 10 3A */	slwi r5, r0, 2
/* 801EFB3C 001EB79C  4B E1 44 C5 */	bl memcpy
/* 801EFB40 001EB7A0  80 9F 00 00 */	lwz r4, 0(r31)
/* 801EFB44 001EB7A4  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 801EFB48 001EB7A8  A0 04 00 04 */	lhz r0, 4(r4)
/* 801EFB4C 001EB7AC  54 04 10 3A */	slwi r4, r0, 2
/* 801EFB50 001EB7B0  48 07 AB 05 */	bl DCFlushRange
lbl_801EFB54:
/* 801EFB54 001EB7B4  83 BF 00 10 */	lwz r29, 0x10(r31)
/* 801EFB58 001EB7B8  2C 1D 00 00 */	cmpwi r29, 0
/* 801EFB5C 001EB7BC  41 82 00 68 */	beq lbl_801EFBC4
/* 801EFB60 001EB7C0  80 7F 00 00 */	lwz r3, 0(r31)
/* 801EFB64 001EB7C4  83 C3 00 14 */	lwz r30, 0x14(r3)
/* 801EFB68 001EB7C8  7C 1D F0 40 */	cmplw r29, r30
/* 801EFB6C 001EB7CC  41 82 00 58 */	beq lbl_801EFBC4
/* 801EFB70 001EB7D0  3B 80 00 00 */	li r28, 0
/* 801EFB74 001EB7D4  48 00 00 3C */	b lbl_801EFBB0
lbl_801EFB78:
/* 801EFB78 001EB7D8  80 9E 00 00 */	lwz r4, 0(r30)
/* 801EFB7C 001EB7DC  80 7D 00 00 */	lwz r3, 0(r29)
/* 801EFB80 001EB7E0  7C 03 20 40 */	cmplw r3, r4
/* 801EFB84 001EB7E4  41 82 00 20 */	beq lbl_801EFBA4
/* 801EFB88 001EB7E8  A0 1E 00 04 */	lhz r0, 4(r30)
/* 801EFB8C 001EB7EC  54 05 18 38 */	slwi r5, r0, 3
/* 801EFB90 001EB7F0  4B E1 44 71 */	bl memcpy
/* 801EFB94 001EB7F4  A0 1E 00 04 */	lhz r0, 4(r30)
/* 801EFB98 001EB7F8  80 7D 00 00 */	lwz r3, 0(r29)
/* 801EFB9C 001EB7FC  54 04 18 38 */	slwi r4, r0, 3
/* 801EFBA0 001EB800  48 07 AA B5 */	bl DCFlushRange
lbl_801EFBA4:
/* 801EFBA4 001EB804  3B 9C 00 01 */	addi r28, r28, 1
/* 801EFBA8 001EB808  3B BD 00 08 */	addi r29, r29, 8
/* 801EFBAC 001EB80C  3B DE 00 08 */	addi r30, r30, 8
lbl_801EFBB0:
/* 801EFBB0 001EB810  80 7F 00 00 */	lwz r3, 0(r31)
/* 801EFBB4 001EB814  57 84 06 3E */	clrlwi r4, r28, 0x18
/* 801EFBB8 001EB818  A0 03 00 06 */	lhz r0, 6(r3)
/* 801EFBBC 001EB81C  7C 04 00 00 */	cmpw r4, r0
/* 801EFBC0 001EB820  41 80 FF B8 */	blt lbl_801EFB78
lbl_801EFBC4:
/* 801EFBC4 001EB824  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801EFBC8 001EB828  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801EFBCC 001EB82C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801EFBD0 001EB830  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801EFBD4 001EB834  83 81 00 10 */	lwz r28, 0x10(r1)
/* 801EFBD8 001EB838  7C 08 03 A6 */	mtlr r0
/* 801EFBDC 001EB83C  38 21 00 20 */	addi r1, r1, 0x20
/* 801EFBE0 001EB840  4E 80 00 20 */	blr

.global func_801EFBE4
func_801EFBE4:
/* 801EFBE4 001EB844  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EFBE8 001EB848  7C 08 02 A6 */	mflr r0
/* 801EFBEC 001EB84C  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EFBF0 001EB850  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801EFBF4 001EB854  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801EFBF8 001EB858  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801EFBFC 001EB85C  7C 9D 23 78 */	mr r29, r4
/* 801EFC00 001EB860  93 81 00 10 */	stw r28, 0x10(r1)
/* 801EFC04 001EB864  7C 7C 1B 78 */	mr r28, r3
/* 801EFC08 001EB868  88 03 00 1A */	lbz r0, 0x1a(r3)
/* 801EFC0C 001EB86C  2C 00 00 00 */	cmpwi r0, 0
/* 801EFC10 001EB870  41 82 00 64 */	beq lbl_801EFC74
/* 801EFC14 001EB874  2C 05 00 00 */	cmpwi r5, 0
/* 801EFC18 001EB878  41 82 00 34 */	beq lbl_801EFC4C
/* 801EFC1C 001EB87C  80 A3 00 04 */	lwz r5, 4(r3)
/* 801EFC20 001EB880  2C 05 00 00 */	cmpwi r5, 0
/* 801EFC24 001EB884  41 82 00 28 */	beq lbl_801EFC4C
/* 801EFC28 001EB888  7F A3 EB 78 */	mr r3, r29
/* 801EFC2C 001EB88C  38 80 00 09 */	li r4, 9
/* 801EFC30 001EB890  48 04 C6 61 */	bl func_8023C290
/* 801EFC34 001EB894  80 BC 00 04 */	lwz r5, 4(r28)
/* 801EFC38 001EB898  7F A3 EB 78 */	mr r3, r29
/* 801EFC3C 001EB89C  38 80 00 19 */	li r4, 0x19
/* 801EFC40 001EB8A0  38 A5 00 0C */	addi r5, r5, 0xc
/* 801EFC44 001EB8A4  48 04 C6 4D */	bl func_8023C290
/* 801EFC48 001EB8A8  48 00 00 88 */	b lbl_801EFCD0
lbl_801EFC4C:
/* 801EFC4C 001EB8AC  80 BC 00 08 */	lwz r5, 8(r28)
/* 801EFC50 001EB8B0  7F A3 EB 78 */	mr r3, r29
/* 801EFC54 001EB8B4  38 80 00 09 */	li r4, 9
/* 801EFC58 001EB8B8  48 04 C6 39 */	bl func_8023C290
/* 801EFC5C 001EB8BC  80 BC 00 08 */	lwz r5, 8(r28)
/* 801EFC60 001EB8C0  7F A3 EB 78 */	mr r3, r29
/* 801EFC64 001EB8C4  38 80 00 19 */	li r4, 0x19
/* 801EFC68 001EB8C8  38 A5 00 0C */	addi r5, r5, 0xc
/* 801EFC6C 001EB8CC  48 04 C6 25 */	bl func_8023C290
/* 801EFC70 001EB8D0  48 00 00 60 */	b lbl_801EFCD0
lbl_801EFC74:
/* 801EFC74 001EB8D4  2C 05 00 00 */	cmpwi r5, 0
/* 801EFC78 001EB8D8  41 82 00 34 */	beq lbl_801EFCAC
/* 801EFC7C 001EB8DC  80 A3 00 04 */	lwz r5, 4(r3)
/* 801EFC80 001EB8E0  2C 05 00 00 */	cmpwi r5, 0
/* 801EFC84 001EB8E4  41 82 00 28 */	beq lbl_801EFCAC
/* 801EFC88 001EB8E8  7F A3 EB 78 */	mr r3, r29
/* 801EFC8C 001EB8EC  38 80 00 09 */	li r4, 9
/* 801EFC90 001EB8F0  48 04 C6 01 */	bl func_8023C290
/* 801EFC94 001EB8F4  80 BC 00 04 */	lwz r5, 4(r28)
/* 801EFC98 001EB8F8  7F A3 EB 78 */	mr r3, r29
/* 801EFC9C 001EB8FC  38 80 00 0A */	li r4, 0xa
/* 801EFCA0 001EB900  38 A5 00 0C */	addi r5, r5, 0xc
/* 801EFCA4 001EB904  48 04 C5 ED */	bl func_8023C290
/* 801EFCA8 001EB908  48 00 00 28 */	b lbl_801EFCD0
lbl_801EFCAC:
/* 801EFCAC 001EB90C  80 BC 00 08 */	lwz r5, 8(r28)
/* 801EFCB0 001EB910  7F A3 EB 78 */	mr r3, r29
/* 801EFCB4 001EB914  38 80 00 09 */	li r4, 9
/* 801EFCB8 001EB918  48 04 C5 D9 */	bl func_8023C290
/* 801EFCBC 001EB91C  80 BC 00 08 */	lwz r5, 8(r28)
/* 801EFCC0 001EB920  7F A3 EB 78 */	mr r3, r29
/* 801EFCC4 001EB924  38 80 00 0A */	li r4, 0xa
/* 801EFCC8 001EB928  38 A5 00 0C */	addi r5, r5, 0xc
/* 801EFCCC 001EB92C  48 04 C5 C5 */	bl func_8023C290
lbl_801EFCD0:
/* 801EFCD0 001EB930  80 BC 00 0C */	lwz r5, 0xc(r28)
/* 801EFCD4 001EB934  7F A3 EB 78 */	mr r3, r29
/* 801EFCD8 001EB938  38 80 00 0B */	li r4, 0xb
/* 801EFCDC 001EB93C  48 04 C5 B5 */	bl func_8023C290
/* 801EFCE0 001EB940  80 7C 00 00 */	lwz r3, 0(r28)
/* 801EFCE4 001EB944  3B C0 00 00 */	li r30, 0
/* 801EFCE8 001EB948  A3 E3 00 06 */	lhz r31, 6(r3)
/* 801EFCEC 001EB94C  48 00 00 24 */	b lbl_801EFD10
lbl_801EFCF0:
/* 801EFCF0 001EB950  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 801EFCF4 001EB954  57 C0 1B 78 */	rlwinm r0, r30, 3, 0xd, 0x1c
/* 801EFCF8 001EB958  57 C6 04 3E */	clrlwi r6, r30, 0x10
/* 801EFCFC 001EB95C  7F A3 EB 78 */	mr r3, r29
/* 801EFD00 001EB960  7C A4 00 2E */	lwzx r5, r4, r0
/* 801EFD04 001EB964  38 86 00 0D */	addi r4, r6, 0xd
/* 801EFD08 001EB968  48 04 C5 89 */	bl func_8023C290
/* 801EFD0C 001EB96C  3B DE 00 01 */	addi r30, r30, 1
lbl_801EFD10:
/* 801EFD10 001EB970  57 C0 04 3E */	clrlwi r0, r30, 0x10
/* 801EFD14 001EB974  7C 00 F8 40 */	cmplw r0, r31
/* 801EFD18 001EB978  41 80 FF D8 */	blt lbl_801EFCF0
/* 801EFD1C 001EB97C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801EFD20 001EB980  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801EFD24 001EB984  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801EFD28 001EB988  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801EFD2C 001EB98C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 801EFD30 001EB990  7C 08 03 A6 */	mtlr r0
/* 801EFD34 001EB994  38 21 00 20 */	addi r1, r1, 0x20
/* 801EFD38 001EB998  4E 80 00 20 */	blr

.global func_801EFD3C
func_801EFD3C:
/* 801EFD3C 001EB99C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801EFD40 001EB9A0  7C 08 02 A6 */	mflr r0
/* 801EFD44 001EB9A4  38 A0 00 10 */	li r5, 0x10
/* 801EFD48 001EB9A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 801EFD4C 001EB9AC  38 00 00 00 */	li r0, 0
/* 801EFD50 001EB9B0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801EFD54 001EB9B4  7C 7F 1B 78 */	mr r31, r3
/* 801EFD58 001EB9B8  90 83 00 00 */	stw r4, 0(r3)
/* 801EFD5C 001EB9BC  38 80 00 00 */	li r4, 0
/* 801EFD60 001EB9C0  90 03 00 14 */	stw r0, 0x14(r3)
/* 801EFD64 001EB9C4  98 03 00 1A */	stb r0, 0x1a(r3)
/* 801EFD68 001EB9C8  98 03 00 1B */	stb r0, 0x1b(r3)
/* 801EFD6C 001EB9CC  38 63 00 04 */	addi r3, r3, 4
/* 801EFD70 001EB9D0  4B E1 43 95 */	bl memset
/* 801EFD74 001EB9D4  80 7F 00 00 */	lwz r3, 0(r31)
/* 801EFD78 001EB9D8  A0 03 00 00 */	lhz r0, 0(r3)
/* 801EFD7C 001EB9DC  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 801EFD80 001EB9E0  41 82 00 10 */	beq lbl_801EFD90
/* 801EFD84 001EB9E4  7F E3 FB 78 */	mr r3, r31
/* 801EFD88 001EB9E8  4B FF F7 61 */	bl func_801EF4E8
/* 801EFD8C 001EB9EC  48 00 00 0C */	b lbl_801EFD98
lbl_801EFD90:
/* 801EFD90 001EB9F0  7F E3 FB 78 */	mr r3, r31
/* 801EFD94 001EB9F4  4B FF F6 B5 */	bl func_801EF448
lbl_801EFD98:
/* 801EFD98 001EB9F8  7F E3 FB 78 */	mr r3, r31
/* 801EFD9C 001EB9FC  4B FF F7 F1 */	bl func_801EF58C
/* 801EFDA0 001EBA00  7F E3 FB 78 */	mr r3, r31
/* 801EFDA4 001EBA04  4B FF F8 A1 */	bl func_801EF644
/* 801EFDA8 001EBA08  7F E3 FB 78 */	mr r3, r31
/* 801EFDAC 001EBA0C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801EFDB0 001EBA10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801EFDB4 001EBA14  7C 08 03 A6 */	mtlr r0
/* 801EFDB8 001EBA18  38 21 00 10 */	addi r1, r1, 0x10
/* 801EFDBC 001EBA1C  4E 80 00 20 */	blr

.global func_801EFDC0
func_801EFDC0:
/* 801EFDC0 001EBA20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EFDC4 001EBA24  7C 08 02 A6 */	mflr r0
/* 801EFDC8 001EBA28  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EFDCC 001EBA2C  39 61 00 20 */	addi r11, r1, 0x20
/* 801EFDD0 001EBA30  4B FD 73 59 */	bl _savegpr_27
/* 801EFDD4 001EBA34  2C 03 00 00 */	cmpwi r3, 0
/* 801EFDD8 001EBA38  7C 7E 1B 78 */	mr r30, r3
/* 801EFDDC 001EBA3C  7C 9F 23 78 */	mr r31, r4
/* 801EFDE0 001EBA40  41 82 01 14 */	beq lbl_801EFEF4
/* 801EFDE4 001EBA44  88 03 00 1B */	lbz r0, 0x1b(r3)
/* 801EFDE8 001EBA48  2C 00 00 00 */	cmpwi r0, 0
/* 801EFDEC 001EBA4C  41 82 00 20 */	beq lbl_801EFE0C
/* 801EFDF0 001EBA50  80 83 00 14 */	lwz r4, 0x14(r3)
/* 801EFDF4 001EBA54  2C 04 00 00 */	cmpwi r4, 0
/* 801EFDF8 001EBA58  41 82 00 14 */	beq lbl_801EFE0C
/* 801EFDFC 001EBA5C  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801EFE00 001EBA60  48 04 BA 8D */	bl func_8023B88C
/* 801EFE04 001EBA64  38 00 00 00 */	li r0, 0
/* 801EFE08 001EBA68  90 1E 00 14 */	stw r0, 0x14(r30)
lbl_801EFE0C:
/* 801EFE0C 001EBA6C  88 1E 00 1B */	lbz r0, 0x1b(r30)
/* 801EFE10 001EBA70  2C 00 00 00 */	cmpwi r0, 0
/* 801EFE14 001EBA74  41 82 00 20 */	beq lbl_801EFE34
/* 801EFE18 001EBA78  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 801EFE1C 001EBA7C  2C 04 00 00 */	cmpwi r4, 0
/* 801EFE20 001EBA80  41 82 00 14 */	beq lbl_801EFE34
/* 801EFE24 001EBA84  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801EFE28 001EBA88  48 04 BA 65 */	bl func_8023B88C
/* 801EFE2C 001EBA8C  38 00 00 00 */	li r0, 0
/* 801EFE30 001EBA90  90 1E 00 14 */	stw r0, 0x14(r30)
lbl_801EFE34:
/* 801EFE34 001EBA94  80 7E 00 04 */	lwz r3, 4(r30)
/* 801EFE38 001EBA98  2C 03 00 00 */	cmpwi r3, 0
/* 801EFE3C 001EBA9C  41 82 00 08 */	beq lbl_801EFE44
/* 801EFE40 001EBAA0  4B FE B0 65 */	bl func_801DAEA4
lbl_801EFE44:
/* 801EFE44 001EBAA4  80 7E 00 00 */	lwz r3, 0(r30)
/* 801EFE48 001EBAA8  83 9E 00 10 */	lwz r28, 0x10(r30)
/* 801EFE4C 001EBAAC  83 A3 00 14 */	lwz r29, 0x14(r3)
/* 801EFE50 001EBAB0  7C 1C E8 40 */	cmplw r28, r29
/* 801EFE54 001EBAB4  41 82 00 54 */	beq lbl_801EFEA8
/* 801EFE58 001EBAB8  3B 60 00 00 */	li r27, 0
/* 801EFE5C 001EBABC  48 00 00 30 */	b lbl_801EFE8C
lbl_801EFE60:
/* 801EFE60 001EBAC0  80 7C 00 00 */	lwz r3, 0(r28)
/* 801EFE64 001EBAC4  80 1D 00 00 */	lwz r0, 0(r29)
/* 801EFE68 001EBAC8  7C 03 00 40 */	cmplw r3, r0
/* 801EFE6C 001EBACC  41 82 00 14 */	beq lbl_801EFE80
/* 801EFE70 001EBAD0  2C 03 00 00 */	cmpwi r3, 0
/* 801EFE74 001EBAD4  41 82 00 0C */	beq lbl_801EFE80
/* 801EFE78 001EBAD8  38 63 FF F0 */	addi r3, r3, -16
/* 801EFE7C 001EBADC  4B FE AC 41 */	bl __dla__FPv
lbl_801EFE80:
/* 801EFE80 001EBAE0  3B 7B 00 01 */	addi r27, r27, 1
/* 801EFE84 001EBAE4  3B 9C 00 08 */	addi r28, r28, 8
/* 801EFE88 001EBAE8  3B BD 00 08 */	addi r29, r29, 8
lbl_801EFE8C:
/* 801EFE8C 001EBAEC  80 7E 00 00 */	lwz r3, 0(r30)
/* 801EFE90 001EBAF0  57 64 04 3E */	clrlwi r4, r27, 0x10
/* 801EFE94 001EBAF4  A0 03 00 06 */	lhz r0, 6(r3)
/* 801EFE98 001EBAF8  7C 04 00 40 */	cmplw r4, r0
/* 801EFE9C 001EBAFC  41 80 FF C4 */	blt lbl_801EFE60
/* 801EFEA0 001EBB00  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 801EFEA4 001EBB04  4B FE AC 19 */	bl __dla__FPv
lbl_801EFEA8:
/* 801EFEA8 001EBB08  80 7E 00 00 */	lwz r3, 0(r30)
/* 801EFEAC 001EBB0C  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 801EFEB0 001EBB10  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801EFEB4 001EBB14  7C 04 00 40 */	cmplw r4, r0
/* 801EFEB8 001EBB18  41 82 00 14 */	beq lbl_801EFECC
/* 801EFEBC 001EBB1C  2C 04 00 00 */	cmpwi r4, 0
/* 801EFEC0 001EBB20  41 82 00 0C */	beq lbl_801EFECC
/* 801EFEC4 001EBB24  38 64 FF F0 */	addi r3, r4, -16
/* 801EFEC8 001EBB28  4B FE AB F5 */	bl __dla__FPv
lbl_801EFECC:
/* 801EFECC 001EBB2C  80 9E 00 00 */	lwz r4, 0(r30)
/* 801EFED0 001EBB30  80 7E 00 08 */	lwz r3, 8(r30)
/* 801EFED4 001EBB34  80 04 00 08 */	lwz r0, 8(r4)
/* 801EFED8 001EBB38  7C 03 00 40 */	cmplw r3, r0
/* 801EFEDC 001EBB3C  41 82 00 08 */	beq lbl_801EFEE4
/* 801EFEE0 001EBB40  4B FE AF C5 */	bl func_801DAEA4
lbl_801EFEE4:
/* 801EFEE4 001EBB44  2C 1F 00 00 */	cmpwi r31, 0
/* 801EFEE8 001EBB48  40 81 00 0C */	ble lbl_801EFEF4
/* 801EFEEC 001EBB4C  7F C3 F3 78 */	mr r3, r30
/* 801EFEF0 001EBB50  4B FE AB C9 */	bl __dl__FPv
lbl_801EFEF4:
/* 801EFEF4 001EBB54  39 61 00 20 */	addi r11, r1, 0x20
/* 801EFEF8 001EBB58  7F C3 F3 78 */	mr r3, r30
/* 801EFEFC 001EBB5C  4B FD 72 79 */	bl _restgpr_27
/* 801EFF00 001EBB60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801EFF04 001EBB64  7C 08 03 A6 */	mtlr r0
/* 801EFF08 001EBB68  38 21 00 20 */	addi r1, r1, 0x20
/* 801EFF0C 001EBB6C  4E 80 00 20 */	blr

.global func_801EFF10
func_801EFF10:
/* 801EFF10 001EBB70  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801EFF14 001EBB74  7C 08 02 A6 */	mflr r0
/* 801EFF18 001EBB78  90 01 00 24 */	stw r0, 0x24(r1)
/* 801EFF1C 001EBB7C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801EFF20 001EBB80  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801EFF24 001EBB84  7C BE 2B 78 */	mr r30, r5
/* 801EFF28 001EBB88  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801EFF2C 001EBB8C  7C 7D 1B 78 */	mr r29, r3
/* 801EFF30 001EBB90  48 00 1C 99 */	bl __ct__6GSnullFPvP11gUnkClass10
/* 801EFF34 001EBB94  C0 42 97 E0 */	lfs f2, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801EFF38 001EBB98  3C 60 80 42 */	lis r3, lbl_80423668@ha
/* 801EFF3C 001EBB9C  3B E0 00 00 */	li r31, 0
/* 801EFF40 001EBBA0  C0 82 97 D8 */	lfs f4, lbl_80641DD8-_SDA2_BASE_(r2)
/* 801EFF44 001EBBA4  C0 62 97 DC */	lfs f3, lbl_80641DDC-_SDA2_BASE_(r2)
/* 801EFF48 001EBBA8  38 63 36 68 */	addi r3, r3, lbl_80423668@l
/* 801EFF4C 001EBBAC  C0 22 97 C4 */	lfs f1, lbl_80641DC4-_SDA2_BASE_(r2)
/* 801EFF50 001EBBB0  38 00 00 01 */	li r0, 1
/* 801EFF54 001EBBB4  90 7D 01 00 */	stw r3, 0x100(r29)
/* 801EFF58 001EBBB8  3C A0 80 49 */	lis r5, lbl_80493614@ha
/* 801EFF5C 001EBBBC  38 85 36 14 */	addi r4, r5, lbl_80493614@l
/* 801EFF60 001EBBC0  C0 02 97 E4 */	lfs f0, lbl_80641DE4-_SDA2_BASE_(r2)
/* 801EFF64 001EBBC4  90 1D 01 04 */	stw r0, 0x104(r29)
/* 801EFF68 001EBBC8  38 7D 01 6C */	addi r3, r29, 0x16c
/* 801EFF6C 001EBBCC  D0 9D 01 08 */	stfs f4, 0x108(r29)
/* 801EFF70 001EBBD0  D0 9D 01 0C */	stfs f4, 0x10c(r29)
/* 801EFF74 001EBBD4  D0 9D 01 10 */	stfs f4, 0x110(r29)
/* 801EFF78 001EBBD8  D0 7D 01 14 */	stfs f3, 0x114(r29)
/* 801EFF7C 001EBBDC  D0 7D 01 18 */	stfs f3, 0x118(r29)
/* 801EFF80 001EBBE0  D0 7D 01 1C */	stfs f3, 0x11c(r29)
/* 801EFF84 001EBBE4  93 FD 01 20 */	stw r31, 0x120(r29)
/* 801EFF88 001EBBE8  D0 5D 01 24 */	stfs f2, 0x124(r29)
/* 801EFF8C 001EBBEC  D0 5D 01 28 */	stfs f2, 0x128(r29)
/* 801EFF90 001EBBF0  D0 5D 01 2C */	stfs f2, 0x12c(r29)
/* 801EFF94 001EBBF4  D0 5D 01 30 */	stfs f2, 0x130(r29)
/* 801EFF98 001EBBF8  9B FD 01 34 */	stb r31, 0x134(r29)
/* 801EFF9C 001EBBFC  9B FD 01 35 */	stb r31, 0x135(r29)
/* 801EFFA0 001EBC00  9B FD 01 36 */	stb r31, 0x136(r29)
/* 801EFFA4 001EBC04  9B FD 01 37 */	stb r31, 0x137(r29)
/* 801EFFA8 001EBC08  D0 5D 01 38 */	stfs f2, 0x138(r29)
/* 801EFFAC 001EBC0C  D0 5D 01 3C */	stfs f2, 0x13c(r29)
/* 801EFFB0 001EBC10  D0 5D 01 40 */	stfs f2, 0x140(r29)
/* 801EFFB4 001EBC14  D0 5D 01 44 */	stfs f2, 0x144(r29)
/* 801EFFB8 001EBC18  D0 3D 01 48 */	stfs f1, 0x148(r29)
/* 801EFFBC 001EBC1C  D0 5D 01 4C */	stfs f2, 0x14c(r29)
/* 801EFFC0 001EBC20  D0 3D 01 50 */	stfs f1, 0x150(r29)
/* 801EFFC4 001EBC24  C0 25 36 14 */	lfs f1, 0x3614(r5)
/* 801EFFC8 001EBC28  D0 3D 01 54 */	stfs f1, 0x154(r29)
/* 801EFFCC 001EBC2C  C0 24 00 04 */	lfs f1, 4(r4)
/* 801EFFD0 001EBC30  D0 3D 01 58 */	stfs f1, 0x158(r29)
/* 801EFFD4 001EBC34  C0 24 00 08 */	lfs f1, 8(r4)
/* 801EFFD8 001EBC38  D0 3D 01 5C */	stfs f1, 0x15c(r29)
/* 801EFFDC 001EBC3C  D0 1D 01 60 */	stfs f0, 0x160(r29)
/* 801EFFE0 001EBC40  80 1E 00 30 */	lwz r0, 0x30(r30)
/* 801EFFE4 001EBC44  90 1D 01 64 */	stw r0, 0x164(r29)
/* 801EFFE8 001EBC48  80 1E 00 34 */	lwz r0, 0x34(r30)
/* 801EFFEC 001EBC4C  90 1D 01 68 */	stw r0, 0x168(r29)
/* 801EFFF0 001EBC50  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 801EFFF4 001EBC54  4B FF FD 49 */	bl func_801EFD3C
/* 801EFFF8 001EBC58  38 1D 00 D0 */	addi r0, r29, 0xd0
/* 801EFFFC 001EBC5C  93 FD 01 88 */	stw r31, 0x188(r29)
/* 801F0000 001EBC60  80 7D 01 64 */	lwz r3, 0x164(r29)
/* 801F0004 001EBC64  3B C0 00 00 */	li r30, 0
/* 801F0008 001EBC68  90 1D 01 20 */	stw r0, 0x120(r29)
/* 801F000C 001EBC6C  83 E3 00 18 */	lwz r31, 0x18(r3)
/* 801F0010 001EBC70  48 00 00 5C */	b lbl_801F006C
lbl_801F0014:
/* 801F0014 001EBC74  4B FE AB 15 */	bl func_801DAB28
/* 801F0018 001EBC78  2C 03 00 00 */	cmpwi r3, 0
/* 801F001C 001EBC7C  41 82 00 14 */	beq lbl_801F0030
/* 801F0020 001EBC80  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801F0024 001EBC84  38 80 00 28 */	li r4, 0x28
/* 801F0028 001EBC88  4B FE AC 6D */	bl func_801DAC94
/* 801F002C 001EBC8C  48 00 00 08 */	b lbl_801F0034
lbl_801F0030:
/* 801F0030 001EBC90  38 60 00 00 */	li r3, 0
lbl_801F0034:
/* 801F0034 001EBC94  2C 03 00 00 */	cmpwi r3, 0
/* 801F0038 001EBC98  41 82 00 10 */	beq lbl_801F0048
/* 801F003C 001EBC9C  7F A4 EB 78 */	mr r4, r29
/* 801F0040 001EBCA0  7F E5 FB 78 */	mr r5, r31
/* 801F0044 001EBCA4  4B FF D3 AD */	bl func_801ED3F0
lbl_801F0048:
/* 801F0048 001EBCA8  2C 03 00 00 */	cmpwi r3, 0
/* 801F004C 001EBCAC  41 82 00 28 */	beq lbl_801F0074
/* 801F0050 001EBCB0  2C 1E 00 00 */	cmpwi r30, 0
/* 801F0054 001EBCB4  41 82 00 0C */	beq lbl_801F0060
/* 801F0058 001EBCB8  90 7E 00 20 */	stw r3, 0x20(r30)
/* 801F005C 001EBCBC  48 00 00 08 */	b lbl_801F0064
lbl_801F0060:
/* 801F0060 001EBCC0  90 7D 01 88 */	stw r3, 0x188(r29)
lbl_801F0064:
/* 801F0064 001EBCC4  7C 7E 1B 78 */	mr r30, r3
/* 801F0068 001EBCC8  83 FF 00 1C */	lwz r31, 0x1c(r31)
lbl_801F006C:
/* 801F006C 001EBCCC  2C 1F 00 00 */	cmpwi r31, 0
/* 801F0070 001EBCD0  40 82 FF A4 */	bne lbl_801F0014
lbl_801F0074:
/* 801F0074 001EBCD4  48 07 81 ED */	bl PPCSync
/* 801F0078 001EBCD8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801F007C 001EBCDC  7F A3 EB 78 */	mr r3, r29
/* 801F0080 001EBCE0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801F0084 001EBCE4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801F0088 001EBCE8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F008C 001EBCEC  7C 08 03 A6 */	mtlr r0
/* 801F0090 001EBCF0  38 21 00 20 */	addi r1, r1, 0x20
/* 801F0094 001EBCF4  4E 80 00 20 */	blr

.global func_801F0098
func_801F0098:
/* 801F0098 001EBCF8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801F009C 001EBCFC  7C 08 02 A6 */	mflr r0
/* 801F00A0 001EBD00  90 01 00 24 */	stw r0, 0x24(r1)
/* 801F00A4 001EBD04  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801F00A8 001EBD08  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801F00AC 001EBD0C  7C 9E 23 78 */	mr r30, r4
/* 801F00B0 001EBD10  38 80 00 03 */	li r4, 3
/* 801F00B4 001EBD14  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801F00B8 001EBD18  7C 7D 1B 78 */	mr r29, r3
/* 801F00BC 001EBD1C  48 00 1A 2D */	bl __ct__6GSnullFUc
/* 801F00C0 001EBD20  C0 42 97 E0 */	lfs f2, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F00C4 001EBD24  3C 60 80 42 */	lis r3, lbl_80423668@ha
/* 801F00C8 001EBD28  3B E0 00 00 */	li r31, 0
/* 801F00CC 001EBD2C  C0 82 97 D8 */	lfs f4, lbl_80641DD8-_SDA2_BASE_(r2)
/* 801F00D0 001EBD30  C0 62 97 DC */	lfs f3, lbl_80641DDC-_SDA2_BASE_(r2)
/* 801F00D4 001EBD34  38 63 36 68 */	addi r3, r3, lbl_80423668@l
/* 801F00D8 001EBD38  C0 22 97 C4 */	lfs f1, lbl_80641DC4-_SDA2_BASE_(r2)
/* 801F00DC 001EBD3C  38 00 00 01 */	li r0, 1
/* 801F00E0 001EBD40  90 7D 01 00 */	stw r3, 0x100(r29)
/* 801F00E4 001EBD44  3C A0 80 49 */	lis r5, lbl_80493614@ha
/* 801F00E8 001EBD48  38 85 36 14 */	addi r4, r5, lbl_80493614@l
/* 801F00EC 001EBD4C  C0 02 97 E4 */	lfs f0, lbl_80641DE4-_SDA2_BASE_(r2)
/* 801F00F0 001EBD50  90 1D 01 04 */	stw r0, 0x104(r29)
/* 801F00F4 001EBD54  38 7D 01 6C */	addi r3, r29, 0x16c
/* 801F00F8 001EBD58  D0 9D 01 08 */	stfs f4, 0x108(r29)
/* 801F00FC 001EBD5C  D0 9D 01 0C */	stfs f4, 0x10c(r29)
/* 801F0100 001EBD60  D0 9D 01 10 */	stfs f4, 0x110(r29)
/* 801F0104 001EBD64  D0 7D 01 14 */	stfs f3, 0x114(r29)
/* 801F0108 001EBD68  D0 7D 01 18 */	stfs f3, 0x118(r29)
/* 801F010C 001EBD6C  D0 7D 01 1C */	stfs f3, 0x11c(r29)
/* 801F0110 001EBD70  93 FD 01 20 */	stw r31, 0x120(r29)
/* 801F0114 001EBD74  D0 5D 01 24 */	stfs f2, 0x124(r29)
/* 801F0118 001EBD78  D0 5D 01 28 */	stfs f2, 0x128(r29)
/* 801F011C 001EBD7C  D0 5D 01 2C */	stfs f2, 0x12c(r29)
/* 801F0120 001EBD80  D0 5D 01 30 */	stfs f2, 0x130(r29)
/* 801F0124 001EBD84  9B FD 01 34 */	stb r31, 0x134(r29)
/* 801F0128 001EBD88  9B FD 01 35 */	stb r31, 0x135(r29)
/* 801F012C 001EBD8C  9B FD 01 36 */	stb r31, 0x136(r29)
/* 801F0130 001EBD90  9B FD 01 37 */	stb r31, 0x137(r29)
/* 801F0134 001EBD94  D0 5D 01 38 */	stfs f2, 0x138(r29)
/* 801F0138 001EBD98  D0 5D 01 3C */	stfs f2, 0x13c(r29)
/* 801F013C 001EBD9C  D0 5D 01 40 */	stfs f2, 0x140(r29)
/* 801F0140 001EBDA0  D0 5D 01 44 */	stfs f2, 0x144(r29)
/* 801F0144 001EBDA4  D0 3D 01 48 */	stfs f1, 0x148(r29)
/* 801F0148 001EBDA8  D0 5D 01 4C */	stfs f2, 0x14c(r29)
/* 801F014C 001EBDAC  D0 3D 01 50 */	stfs f1, 0x150(r29)
/* 801F0150 001EBDB0  C0 25 36 14 */	lfs f1, 0x3614(r5)
/* 801F0154 001EBDB4  D0 3D 01 54 */	stfs f1, 0x154(r29)
/* 801F0158 001EBDB8  C0 24 00 04 */	lfs f1, 4(r4)
/* 801F015C 001EBDBC  D0 3D 01 58 */	stfs f1, 0x158(r29)
/* 801F0160 001EBDC0  C0 24 00 08 */	lfs f1, 8(r4)
/* 801F0164 001EBDC4  D0 3D 01 5C */	stfs f1, 0x15c(r29)
/* 801F0168 001EBDC8  D0 1D 01 60 */	stfs f0, 0x160(r29)
/* 801F016C 001EBDCC  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 801F0170 001EBDD0  90 1D 01 64 */	stw r0, 0x164(r29)
/* 801F0174 001EBDD4  93 FD 01 68 */	stw r31, 0x168(r29)
/* 801F0178 001EBDD8  80 9E 00 1C */	lwz r4, 0x1c(r30)
/* 801F017C 001EBDDC  4B FF FB C1 */	bl func_801EFD3C
/* 801F0180 001EBDE0  38 1D 00 D0 */	addi r0, r29, 0xd0
/* 801F0184 001EBDE4  93 FD 01 88 */	stw r31, 0x188(r29)
/* 801F0188 001EBDE8  80 7D 01 64 */	lwz r3, 0x164(r29)
/* 801F018C 001EBDEC  3B C0 00 00 */	li r30, 0
/* 801F0190 001EBDF0  90 1D 01 20 */	stw r0, 0x120(r29)
/* 801F0194 001EBDF4  83 E3 00 18 */	lwz r31, 0x18(r3)
/* 801F0198 001EBDF8  48 00 00 5C */	b lbl_801F01F4
lbl_801F019C:
/* 801F019C 001EBDFC  4B FE A9 8D */	bl func_801DAB28
/* 801F01A0 001EBE00  2C 03 00 00 */	cmpwi r3, 0
/* 801F01A4 001EBE04  41 82 00 14 */	beq lbl_801F01B8
/* 801F01A8 001EBE08  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801F01AC 001EBE0C  38 80 00 28 */	li r4, 0x28
/* 801F01B0 001EBE10  4B FE AA E5 */	bl func_801DAC94
/* 801F01B4 001EBE14  48 00 00 08 */	b lbl_801F01BC
lbl_801F01B8:
/* 801F01B8 001EBE18  38 60 00 00 */	li r3, 0
lbl_801F01BC:
/* 801F01BC 001EBE1C  2C 03 00 00 */	cmpwi r3, 0
/* 801F01C0 001EBE20  41 82 00 10 */	beq lbl_801F01D0
/* 801F01C4 001EBE24  7F A4 EB 78 */	mr r4, r29
/* 801F01C8 001EBE28  7F E5 FB 78 */	mr r5, r31
/* 801F01CC 001EBE2C  4B FF D2 25 */	bl func_801ED3F0
lbl_801F01D0:
/* 801F01D0 001EBE30  2C 03 00 00 */	cmpwi r3, 0
/* 801F01D4 001EBE34  41 82 00 28 */	beq lbl_801F01FC
/* 801F01D8 001EBE38  2C 1E 00 00 */	cmpwi r30, 0
/* 801F01DC 001EBE3C  41 82 00 0C */	beq lbl_801F01E8
/* 801F01E0 001EBE40  90 7E 00 20 */	stw r3, 0x20(r30)
/* 801F01E4 001EBE44  48 00 00 08 */	b lbl_801F01EC
lbl_801F01E8:
/* 801F01E8 001EBE48  90 7D 01 88 */	stw r3, 0x188(r29)
lbl_801F01EC:
/* 801F01EC 001EBE4C  7C 7E 1B 78 */	mr r30, r3
/* 801F01F0 001EBE50  83 FF 00 1C */	lwz r31, 0x1c(r31)
lbl_801F01F4:
/* 801F01F4 001EBE54  2C 1F 00 00 */	cmpwi r31, 0
/* 801F01F8 001EBE58  40 82 FF A4 */	bne lbl_801F019C
lbl_801F01FC:
/* 801F01FC 001EBE5C  81 9D 01 00 */	lwz r12, 0x100(r29)
/* 801F0200 001EBE60  7F A3 EB 78 */	mr r3, r29
/* 801F0204 001EBE64  38 80 00 00 */	li r4, 0
/* 801F0208 001EBE68  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 801F020C 001EBE6C  7D 89 03 A6 */	mtctr r12
/* 801F0210 001EBE70  4E 80 04 21 */	bctrl
/* 801F0214 001EBE74  48 07 80 4D */	bl PPCSync
/* 801F0218 001EBE78  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801F021C 001EBE7C  7F A3 EB 78 */	mr r3, r29
/* 801F0220 001EBE80  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801F0224 001EBE84  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801F0228 001EBE88  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F022C 001EBE8C  7C 08 03 A6 */	mtlr r0
/* 801F0230 001EBE90  38 21 00 20 */	addi r1, r1, 0x20
/* 801F0234 001EBE94  4E 80 00 20 */	blr
/* 801F0238 001EBE98  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801F023C 001EBE9C  7C 08 02 A6 */	mflr r0
/* 801F0240 001EBEA0  2C 03 00 00 */	cmpwi r3, 0
/* 801F0244 001EBEA4  90 01 00 24 */	stw r0, 0x24(r1)
/* 801F0248 001EBEA8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801F024C 001EBEAC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801F0250 001EBEB0  7C 9E 23 78 */	mr r30, r4
/* 801F0254 001EBEB4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801F0258 001EBEB8  7C 7D 1B 78 */	mr r29, r3
/* 801F025C 001EBEBC  41 82 00 74 */	beq lbl_801F02D0
/* 801F0260 001EBEC0  3C 80 80 42 */	lis r4, lbl_80423668@ha
/* 801F0264 001EBEC4  80 A3 01 88 */	lwz r5, 0x188(r3)
/* 801F0268 001EBEC8  38 84 36 68 */	addi r4, r4, lbl_80423668@l
/* 801F026C 001EBECC  90 83 01 00 */	stw r4, 0x100(r3)
/* 801F0270 001EBED0  48 00 00 2C */	b lbl_801F029C
lbl_801F0274:
/* 801F0274 001EBED4  2C 05 00 00 */	cmpwi r5, 0
/* 801F0278 001EBED8  83 E5 00 20 */	lwz r31, 0x20(r5)
/* 801F027C 001EBEDC  41 82 00 1C */	beq lbl_801F0298
/* 801F0280 001EBEE0  81 85 00 24 */	lwz r12, 0x24(r5)
/* 801F0284 001EBEE4  7C A3 2B 78 */	mr r3, r5
/* 801F0288 001EBEE8  38 80 00 01 */	li r4, 1
/* 801F028C 001EBEEC  81 8C 00 08 */	lwz r12, 8(r12)
/* 801F0290 001EBEF0  7D 89 03 A6 */	mtctr r12
/* 801F0294 001EBEF4  4E 80 04 21 */	bctrl
lbl_801F0298:
/* 801F0298 001EBEF8  7F E5 FB 78 */	mr r5, r31
lbl_801F029C:
/* 801F029C 001EBEFC  2C 05 00 00 */	cmpwi r5, 0
/* 801F02A0 001EBF00  40 82 FF D4 */	bne lbl_801F0274
/* 801F02A4 001EBF04  38 7D 01 6C */	addi r3, r29, 0x16c
/* 801F02A8 001EBF08  38 80 FF FF */	li r4, -1
/* 801F02AC 001EBF0C  4B FF FB 15 */	bl func_801EFDC0
/* 801F02B0 001EBF10  7F A3 EB 78 */	mr r3, r29
/* 801F02B4 001EBF14  38 80 00 00 */	li r4, 0
/* 801F02B8 001EBF18  48 00 1C 6D */	bl __dt__6GSnullFv
/* 801F02BC 001EBF1C  2C 1E 00 00 */	cmpwi r30, 0
/* 801F02C0 001EBF20  40 81 00 10 */	ble lbl_801F02D0
/* 801F02C4 001EBF24  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801F02C8 001EBF28  7F A4 EB 78 */	mr r4, r29
/* 801F02CC 001EBF2C  4B FE AA 7D */	bl func_801DAD48
lbl_801F02D0:
/* 801F02D0 001EBF30  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801F02D4 001EBF34  7F A3 EB 78 */	mr r3, r29
/* 801F02D8 001EBF38  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801F02DC 001EBF3C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801F02E0 001EBF40  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F02E4 001EBF44  7C 08 03 A6 */	mtlr r0
/* 801F02E8 001EBF48  38 21 00 20 */	addi r1, r1, 0x20
/* 801F02EC 001EBF4C  4E 80 00 20 */	blr

.global func_801F02F0
func_801F02F0:
/* 801F02F0 001EBF50  80 63 01 88 */	lwz r3, 0x188(r3)
/* 801F02F4 001EBF54  38 A0 00 00 */	li r5, 0
/* 801F02F8 001EBF58  48 00 00 18 */	b lbl_801F0310
lbl_801F02FC:
/* 801F02FC 001EBF5C  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 801F0300 001EBF60  7C 00 20 40 */	cmplw r0, r4
/* 801F0304 001EBF64  4D 82 00 20 */	beqlr
/* 801F0308 001EBF68  80 63 00 20 */	lwz r3, 0x20(r3)
/* 801F030C 001EBF6C  38 A5 00 01 */	addi r5, r5, 1
lbl_801F0310:
/* 801F0310 001EBF70  2C 03 00 00 */	cmpwi r3, 0
/* 801F0314 001EBF74  40 82 FF E8 */	bne lbl_801F02FC
/* 801F0318 001EBF78  38 60 00 00 */	li r3, 0
/* 801F031C 001EBF7C  4E 80 00 20 */	blr

.global func_801F0320
func_801F0320:
/* 801F0320 001EBF80  80 83 01 88 */	lwz r4, 0x188(r3)
/* 801F0324 001EBF84  38 60 00 00 */	li r3, 0
/* 801F0328 001EBF88  48 00 00 0C */	b lbl_801F0334
lbl_801F032C:
/* 801F032C 001EBF8C  80 84 00 20 */	lwz r4, 0x20(r4)
/* 801F0330 001EBF90  38 63 00 01 */	addi r3, r3, 1
lbl_801F0334:
/* 801F0334 001EBF94  2C 04 00 00 */	cmpwi r4, 0
/* 801F0338 001EBF98  40 82 FF F4 */	bne lbl_801F032C
/* 801F033C 001EBF9C  4E 80 00 20 */	blr
/* 801F0340 001EBFA0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 801F0344 001EBFA4  7C 08 02 A6 */	mflr r0
/* 801F0348 001EBFA8  90 01 00 64 */	stw r0, 0x64(r1)
/* 801F034C 001EBFAC  DB E1 00 50 */	stfd f31, 0x50(r1)
/* 801F0350 001EBFB0  F3 E1 00 58 */	psq_st f31, 88(r1), 0, qr0
/* 801F0354 001EBFB4  FF E0 08 90 */	fmr f31, f1
/* 801F0358 001EBFB8  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 801F035C 001EBFBC  7C 7F 1B 78 */	mr r31, r3
/* 801F0360 001EBFC0  93 C1 00 48 */	stw r30, 0x48(r1)
/* 801F0364 001EBFC4  48 00 39 19 */	bl func_801F3C7C
/* 801F0368 001EBFC8  2C 03 00 00 */	cmpwi r3, 0
/* 801F036C 001EBFCC  41 82 00 08 */	beq lbl_801F0374
/* 801F0370 001EBFD0  C3 E2 97 E0 */	lfs f31, lbl_80641DE0-_SDA2_BASE_(r2)
lbl_801F0374:
/* 801F0374 001EBFD4  A0 1F 00 10 */	lhz r0, 0x10(r31)
/* 801F0378 001EBFD8  FC 20 F8 90 */	fmr f1, f31
/* 801F037C 001EBFDC  7F E3 FB 78 */	mr r3, r31
/* 801F0380 001EBFE0  54 1E 07 FE */	clrlwi r30, r0, 0x1f
/* 801F0384 001EBFE4  48 00 35 DD */	bl func_801F3960
/* 801F0388 001EBFE8  2C 1E 00 00 */	cmpwi r30, 0
/* 801F038C 001EBFEC  41 82 01 10 */	beq lbl_801F049C
/* 801F0390 001EBFF0  80 9F 01 68 */	lwz r4, 0x168(r31)
/* 801F0394 001EBFF4  2C 04 00 00 */	cmpwi r4, 0
/* 801F0398 001EBFF8  41 82 00 1C */	beq lbl_801F03B4
/* 801F039C 001EBFFC  38 7F 00 D0 */	addi r3, r31, 0xd0
/* 801F03A0 001EC000  38 A1 00 18 */	addi r5, r1, 0x18
/* 801F03A4 001EC004  48 08 BB E9 */	bl PSMTXConcat
/* 801F03A8 001EC008  38 61 00 18 */	addi r3, r1, 0x18
/* 801F03AC 001EC00C  38 9F 00 D0 */	addi r4, r31, 0xd0
/* 801F03B0 001EC010  48 08 BB A9 */	bl PSMTXCopy
lbl_801F03B4:
/* 801F03B4 001EC014  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F03B8 001EC018  7F E6 FB 78 */	mr r6, r31
/* 801F03BC 001EC01C  38 A0 00 00 */	li r5, 0
/* 801F03C0 001EC020  48 00 00 B0 */	b lbl_801F0470
lbl_801F03C4:
/* 801F03C4 001EC024  C0 06 00 48 */	lfs f0, 0x48(r6)
/* 801F03C8 001EC028  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801F03CC 001EC02C  40 80 00 14 */	bge lbl_801F03E0
/* 801F03D0 001EC030  68 A3 00 01 */	xori r3, r5, 1
/* 801F03D4 001EC034  7C 03 00 D0 */	neg r0, r3
/* 801F03D8 001EC038  7C 00 1B 78 */	or r0, r0, r3
/* 801F03DC 001EC03C  54 05 0F FE */	srwi r5, r0, 0x1f
lbl_801F03E0:
/* 801F03E0 001EC040  C0 06 00 4C */	lfs f0, 0x4c(r6)
/* 801F03E4 001EC044  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801F03E8 001EC048  40 80 00 14 */	bge lbl_801F03FC
/* 801F03EC 001EC04C  68 A3 00 01 */	xori r3, r5, 1
/* 801F03F0 001EC050  7C 03 00 D0 */	neg r0, r3
/* 801F03F4 001EC054  7C 00 1B 78 */	or r0, r0, r3
/* 801F03F8 001EC058  54 05 0F FE */	srwi r5, r0, 0x1f
lbl_801F03FC:
/* 801F03FC 001EC05C  C0 06 00 50 */	lfs f0, 0x50(r6)
/* 801F0400 001EC060  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801F0404 001EC064  40 80 00 14 */	bge lbl_801F0418
/* 801F0408 001EC068  68 A3 00 01 */	xori r3, r5, 1
/* 801F040C 001EC06C  7C 03 00 D0 */	neg r0, r3
/* 801F0410 001EC070  7C 00 1B 78 */	or r0, r0, r3
/* 801F0414 001EC074  54 05 0F FE */	srwi r5, r0, 0x1f
lbl_801F0418:
/* 801F0418 001EC078  80 86 00 C0 */	lwz r4, 0xc0(r6)
/* 801F041C 001EC07C  2C 04 00 00 */	cmpwi r4, 0
/* 801F0420 001EC080  40 82 00 0C */	bne lbl_801F042C
/* 801F0424 001EC084  38 80 00 00 */	li r4, 0
/* 801F0428 001EC088  48 00 00 44 */	b lbl_801F046C
lbl_801F042C:
/* 801F042C 001EC08C  80 66 00 1C */	lwz r3, 0x1c(r6)
/* 801F0430 001EC090  2C 03 00 00 */	cmpwi r3, 0
/* 801F0434 001EC094  41 82 00 10 */	beq lbl_801F0444
/* 801F0438 001EC098  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 801F043C 001EC09C  54 00 EF FE */	rlwinm r0, r0, 0x1d, 0x1f, 0x1f
/* 801F0440 001EC0A0  48 00 00 08 */	b lbl_801F0448
lbl_801F0444:
/* 801F0444 001EC0A4  38 00 00 01 */	li r0, 1
lbl_801F0448:
/* 801F0448 001EC0A8  2C 00 00 00 */	cmpwi r0, 0
/* 801F044C 001EC0AC  40 82 00 0C */	bne lbl_801F0458
/* 801F0450 001EC0B0  38 80 00 00 */	li r4, 0
/* 801F0454 001EC0B4  48 00 00 18 */	b lbl_801F046C
lbl_801F0458:
/* 801F0458 001EC0B8  A0 06 00 14 */	lhz r0, 0x14(r6)
/* 801F045C 001EC0BC  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 801F0460 001EC0C0  41 82 00 08 */	beq lbl_801F0468
/* 801F0464 001EC0C4  48 00 00 08 */	b lbl_801F046C
lbl_801F0468:
/* 801F0468 001EC0C8  80 84 00 BC */	lwz r4, 0xbc(r4)
lbl_801F046C:
/* 801F046C 001EC0CC  7C 86 23 78 */	mr r6, r4
lbl_801F0470:
/* 801F0470 001EC0D0  2C 06 00 00 */	cmpwi r6, 0
/* 801F0474 001EC0D4  40 82 FF 50 */	bne lbl_801F03C4
/* 801F0478 001EC0D8  2C 05 00 00 */	cmpwi r5, 0
/* 801F047C 001EC0DC  41 82 00 14 */	beq lbl_801F0490
/* 801F0480 001EC0E0  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F0484 001EC0E4  60 00 00 02 */	ori r0, r0, 2
/* 801F0488 001EC0E8  90 1F 01 04 */	stw r0, 0x104(r31)
/* 801F048C 001EC0EC  48 00 00 10 */	b lbl_801F049C
lbl_801F0490:
/* 801F0490 001EC0F0  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F0494 001EC0F4  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 801F0498 001EC0F8  90 1F 01 04 */	stw r0, 0x104(r31)
lbl_801F049C:
/* 801F049C 001EC0FC  80 7F 00 B8 */	lwz r3, 0xb8(r31)
/* 801F04A0 001EC100  2C 03 00 00 */	cmpwi r3, 0
/* 801F04A4 001EC104  41 82 01 B4 */	beq lbl_801F0658
/* 801F04A8 001EC108  80 BF 00 04 */	lwz r5, 4(r31)
/* 801F04AC 001EC10C  2C 05 00 00 */	cmpwi r5, 0
/* 801F04B0 001EC110  41 82 00 24 */	beq lbl_801F04D4
/* 801F04B4 001EC114  80 85 00 00 */	lwz r4, 0(r5)
/* 801F04B8 001EC118  2C 04 00 00 */	cmpwi r4, 0
/* 801F04BC 001EC11C  41 82 00 0C */	beq lbl_801F04C8
/* 801F04C0 001EC120  A0 04 00 00 */	lhz r0, 0(r4)
/* 801F04C4 001EC124  48 00 00 18 */	b lbl_801F04DC
lbl_801F04C8:
/* 801F04C8 001EC128  3C 80 00 01 */	lis r4, 0x0000FFFF@ha
/* 801F04CC 001EC12C  38 04 FF FF */	addi r0, r4, 0x0000FFFF@l
/* 801F04D0 001EC130  48 00 00 0C */	b lbl_801F04DC
lbl_801F04D4:
/* 801F04D4 001EC134  3C 80 00 01 */	lis r4, 0x0000FFFF@ha
/* 801F04D8 001EC138  38 04 FF FF */	addi r0, r4, 0x0000FFFF@l
lbl_801F04DC:
/* 801F04DC 001EC13C  54 1E 04 3E */	clrlwi r30, r0, 0x10
/* 801F04E0 001EC140  3C 1E 00 00 */	addis r0, r30, 0
/* 801F04E4 001EC144  28 00 FF FF */	cmplwi r0, 0xffff
/* 801F04E8 001EC148  41 82 00 50 */	beq lbl_801F0538
/* 801F04EC 001EC14C  2C 05 00 00 */	cmpwi r5, 0
/* 801F04F0 001EC150  41 82 00 40 */	beq lbl_801F0530
/* 801F04F4 001EC154  80 65 00 00 */	lwz r3, 0(r5)
/* 801F04F8 001EC158  2C 03 00 00 */	cmpwi r3, 0
/* 801F04FC 001EC15C  40 82 00 0C */	bne lbl_801F0508
/* 801F0500 001EC160  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0504 001EC164  48 00 00 3C */	b lbl_801F0540
lbl_801F0508:
/* 801F0508 001EC168  C0 25 00 08 */	lfs f1, 8(r5)
/* 801F050C 001EC16C  C0 02 97 E0 */	lfs f0, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0510 001EC170  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F0514 001EC174  40 80 00 14 */	bge lbl_801F0528
/* 801F0518 001EC178  C0 23 00 08 */	lfs f1, 8(r3)
/* 801F051C 001EC17C  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 801F0520 001EC180  EC 21 00 28 */	fsubs f1, f1, f0
/* 801F0524 001EC184  48 00 00 1C */	b lbl_801F0540
lbl_801F0528:
/* 801F0528 001EC188  C0 25 00 0C */	lfs f1, 0xc(r5)
/* 801F052C 001EC18C  48 00 00 14 */	b lbl_801F0540
lbl_801F0530:
/* 801F0530 001EC190  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0534 001EC194  48 00 00 0C */	b lbl_801F0540
lbl_801F0538:
/* 801F0538 001EC198  A3 C3 00 F0 */	lhz r30, 0xf0(r3)
/* 801F053C 001EC19C  48 00 56 09 */	bl func_801F5B44
lbl_801F0540:
/* 801F0540 001EC1A0  7F E3 FB 78 */	mr r3, r31
/* 801F0544 001EC1A4  7F C4 F3 78 */	mr r4, r30
/* 801F0548 001EC1A8  38 A0 00 00 */	li r5, 0
/* 801F054C 001EC1AC  48 00 10 A1 */	bl func_801F15EC
/* 801F0550 001EC1B0  80 9F 00 08 */	lwz r4, 8(r31)
/* 801F0554 001EC1B4  2C 04 00 00 */	cmpwi r4, 0
/* 801F0558 001EC1B8  41 82 00 28 */	beq lbl_801F0580
/* 801F055C 001EC1BC  80 04 00 00 */	lwz r0, 0(r4)
/* 801F0560 001EC1C0  38 60 00 00 */	li r3, 0
/* 801F0564 001EC1C4  2C 00 00 00 */	cmpwi r0, 0
/* 801F0568 001EC1C8  41 82 00 1C */	beq lbl_801F0584
/* 801F056C 001EC1CC  A0 04 00 06 */	lhz r0, 6(r4)
/* 801F0570 001EC1D0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801F0574 001EC1D4  41 82 00 10 */	beq lbl_801F0584
/* 801F0578 001EC1D8  38 60 00 01 */	li r3, 1
/* 801F057C 001EC1DC  48 00 00 08 */	b lbl_801F0584
lbl_801F0580:
/* 801F0580 001EC1E0  38 60 00 00 */	li r3, 0
lbl_801F0584:
/* 801F0584 001EC1E4  2C 03 00 00 */	cmpwi r3, 0
/* 801F0588 001EC1E8  40 82 00 14 */	bne lbl_801F059C
/* 801F058C 001EC1EC  80 7F 00 B8 */	lwz r3, 0xb8(r31)
/* 801F0590 001EC1F0  48 00 59 2D */	bl func_801F5EBC
/* 801F0594 001EC1F4  2C 03 00 00 */	cmpwi r3, 0
/* 801F0598 001EC1F8  41 82 00 D4 */	beq lbl_801F066C
lbl_801F059C:
/* 801F059C 001EC1FC  80 9F 00 08 */	lwz r4, 8(r31)
/* 801F05A0 001EC200  2C 04 00 00 */	cmpwi r4, 0
/* 801F05A4 001EC204  41 82 00 24 */	beq lbl_801F05C8
/* 801F05A8 001EC208  80 64 00 00 */	lwz r3, 0(r4)
/* 801F05AC 001EC20C  2C 03 00 00 */	cmpwi r3, 0
/* 801F05B0 001EC210  41 82 00 0C */	beq lbl_801F05BC
/* 801F05B4 001EC214  A0 03 00 00 */	lhz r0, 0(r3)
/* 801F05B8 001EC218  48 00 00 18 */	b lbl_801F05D0
lbl_801F05BC:
/* 801F05BC 001EC21C  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 801F05C0 001EC220  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 801F05C4 001EC224  48 00 00 0C */	b lbl_801F05D0
lbl_801F05C8:
/* 801F05C8 001EC228  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 801F05CC 001EC22C  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
lbl_801F05D0:
/* 801F05D0 001EC230  54 1E 04 3E */	clrlwi r30, r0, 0x10
/* 801F05D4 001EC234  3C 1E 00 00 */	addis r0, r30, 0
/* 801F05D8 001EC238  28 00 FF FF */	cmplwi r0, 0xffff
/* 801F05DC 001EC23C  41 82 00 50 */	beq lbl_801F062C
/* 801F05E0 001EC240  2C 04 00 00 */	cmpwi r4, 0
/* 801F05E4 001EC244  41 82 00 40 */	beq lbl_801F0624
/* 801F05E8 001EC248  80 64 00 00 */	lwz r3, 0(r4)
/* 801F05EC 001EC24C  2C 03 00 00 */	cmpwi r3, 0
/* 801F05F0 001EC250  40 82 00 0C */	bne lbl_801F05FC
/* 801F05F4 001EC254  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F05F8 001EC258  48 00 00 40 */	b lbl_801F0638
lbl_801F05FC:
/* 801F05FC 001EC25C  C0 24 00 08 */	lfs f1, 8(r4)
/* 801F0600 001EC260  C0 02 97 E0 */	lfs f0, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0604 001EC264  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F0608 001EC268  40 80 00 14 */	bge lbl_801F061C
/* 801F060C 001EC26C  C0 23 00 08 */	lfs f1, 8(r3)
/* 801F0610 001EC270  C0 04 00 0C */	lfs f0, 0xc(r4)
/* 801F0614 001EC274  EC 21 00 28 */	fsubs f1, f1, f0
/* 801F0618 001EC278  48 00 00 20 */	b lbl_801F0638
lbl_801F061C:
/* 801F061C 001EC27C  C0 24 00 0C */	lfs f1, 0xc(r4)
/* 801F0620 001EC280  48 00 00 18 */	b lbl_801F0638
lbl_801F0624:
/* 801F0624 001EC284  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0628 001EC288  48 00 00 10 */	b lbl_801F0638
lbl_801F062C:
/* 801F062C 001EC28C  80 7F 00 B8 */	lwz r3, 0xb8(r31)
/* 801F0630 001EC290  A3 C3 01 04 */	lhz r30, 0x104(r3)
/* 801F0634 001EC294  48 00 56 2D */	bl func_801F5C60
lbl_801F0638:
/* 801F0638 001EC298  3C 1E 00 00 */	addis r0, r30, 0
/* 801F063C 001EC29C  28 00 FF FF */	cmplwi r0, 0xffff
/* 801F0640 001EC2A0  41 82 00 2C */	beq lbl_801F066C
/* 801F0644 001EC2A4  7F E3 FB 78 */	mr r3, r31
/* 801F0648 001EC2A8  7F C4 F3 78 */	mr r4, r30
/* 801F064C 001EC2AC  38 A0 00 01 */	li r5, 1
/* 801F0650 001EC2B0  48 00 0F 9D */	bl func_801F15EC
/* 801F0654 001EC2B4  48 00 00 18 */	b lbl_801F066C
lbl_801F0658:
/* 801F0658 001EC2B8  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F065C 001EC2BC  7F E3 FB 78 */	mr r3, r31
/* 801F0660 001EC2C0  38 80 00 00 */	li r4, 0
/* 801F0664 001EC2C4  38 A0 00 00 */	li r5, 0
/* 801F0668 001EC2C8  48 00 0F 85 */	bl func_801F15EC
lbl_801F066C:
/* 801F066C 001EC2CC  38 61 00 08 */	addi r3, r1, 8
/* 801F0670 001EC2D0  38 9F 01 08 */	addi r4, r31, 0x108
/* 801F0674 001EC2D4  48 03 02 A9 */	bl func_8022091C
/* 801F0678 001EC2D8  C0 01 00 08 */	lfs f0, 8(r1)
/* 801F067C 001EC2DC  83 DF 01 88 */	lwz r30, 0x188(r31)
/* 801F0680 001EC2E0  D0 1F 01 24 */	stfs f0, 0x124(r31)
/* 801F0684 001EC2E4  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 801F0688 001EC2E8  D0 1F 01 28 */	stfs f0, 0x128(r31)
/* 801F068C 001EC2EC  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 801F0690 001EC2F0  D0 1F 01 2C */	stfs f0, 0x12c(r31)
/* 801F0694 001EC2F4  48 00 00 1C */	b lbl_801F06B0
lbl_801F0698:
/* 801F0698 001EC2F8  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 801F069C 001EC2FC  2C 03 00 00 */	cmpwi r3, 0
/* 801F06A0 001EC300  41 82 00 0C */	beq lbl_801F06AC
/* 801F06A4 001EC304  FC 20 F8 90 */	fmr f1, f31
/* 801F06A8 001EC308  4B FE D3 21 */	bl func_801DD9C8__17GSanimationObjectFf
lbl_801F06AC:
/* 801F06AC 001EC30C  83 DE 00 20 */	lwz r30, 0x20(r30)
lbl_801F06B0:
/* 801F06B0 001EC310  2C 1E 00 00 */	cmpwi r30, 0
/* 801F06B4 001EC314  40 82 FF E4 */	bne lbl_801F0698
/* 801F06B8 001EC318  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F06BC 001EC31C  60 00 00 01 */	ori r0, r0, 1
/* 801F06C0 001EC320  90 1F 01 04 */	stw r0, 0x104(r31)
/* 801F06C4 001EC324  E3 E1 00 58 */	psq_l f31, 88(r1), 0, qr0
/* 801F06C8 001EC328  CB E1 00 50 */	lfd f31, 0x50(r1)
/* 801F06CC 001EC32C  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 801F06D0 001EC330  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 801F06D4 001EC334  80 01 00 64 */	lwz r0, 0x64(r1)
/* 801F06D8 001EC338  7C 08 03 A6 */	mtlr r0
/* 801F06DC 001EC33C  38 21 00 60 */	addi r1, r1, 0x60
/* 801F06E0 001EC340  4E 80 00 20 */	blr

.global func_801F06E4
func_801F06E4:
/* 801F06E4 001EC344  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 801F06E8 001EC348  7C 08 02 A6 */	mflr r0
/* 801F06EC 001EC34C  C0 62 97 E0 */	lfs f3, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F06F0 001EC350  90 01 00 94 */	stw r0, 0x94(r1)
/* 801F06F4 001EC354  93 E1 00 8C */	stw r31, 0x8c(r1)
/* 801F06F8 001EC358  7C 7F 1B 78 */	mr r31, r3
/* 801F06FC 001EC35C  93 C1 00 88 */	stw r30, 0x88(r1)
/* 801F0700 001EC360  93 A1 00 84 */	stw r29, 0x84(r1)
/* 801F0704 001EC364  7C 9D 23 78 */	mr r29, r4
/* 801F0708 001EC368  C0 23 00 D0 */	lfs f1, 0xd0(r3)
/* 801F070C 001EC36C  C0 03 00 E0 */	lfs f0, 0xe0(r3)
/* 801F0710 001EC370  EC 21 00 72 */	fmuls f1, f1, f1
/* 801F0714 001EC374  C0 43 00 F0 */	lfs f2, 0xf0(r3)
/* 801F0718 001EC378  EC 00 00 32 */	fmuls f0, f0, f0
/* 801F071C 001EC37C  EC 42 00 B2 */	fmuls f2, f2, f2
/* 801F0720 001EC380  EC 01 00 2A */	fadds f0, f1, f0
/* 801F0724 001EC384  EC 22 00 2A */	fadds f1, f2, f0
/* 801F0728 001EC388  FC 01 18 40 */	fcmpo cr0, f1, f3
/* 801F072C 001EC38C  4C 40 13 82 */	cror 2, 0, 2
/* 801F0730 001EC390  40 82 00 08 */	bne lbl_801F0738
/* 801F0734 001EC394  48 00 00 0C */	b lbl_801F0740
lbl_801F0738:
/* 801F0738 001EC398  4B FE 40 FD */	bl sqrt
/* 801F073C 001EC39C  FC 60 08 18 */	frsp f3, f1
lbl_801F0740:
/* 801F0740 001EC3A0  C0 3F 00 D4 */	lfs f1, 0xd4(r31)
/* 801F0744 001EC3A4  C0 1F 00 E4 */	lfs f0, 0xe4(r31)
/* 801F0748 001EC3A8  EC 21 00 72 */	fmuls f1, f1, f1
/* 801F074C 001EC3AC  C0 5F 00 F4 */	lfs f2, 0xf4(r31)
/* 801F0750 001EC3B0  EC 00 00 32 */	fmuls f0, f0, f0
/* 801F0754 001EC3B4  C0 82 97 E0 */	lfs f4, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0758 001EC3B8  EC 42 00 B2 */	fmuls f2, f2, f2
/* 801F075C 001EC3BC  D0 61 00 08 */	stfs f3, 8(r1)
/* 801F0760 001EC3C0  EC 01 00 2A */	fadds f0, f1, f0
/* 801F0764 001EC3C4  EC 22 00 2A */	fadds f1, f2, f0
/* 801F0768 001EC3C8  FC 01 20 40 */	fcmpo cr0, f1, f4
/* 801F076C 001EC3CC  4C 40 13 82 */	cror 2, 0, 2
/* 801F0770 001EC3D0  40 82 00 08 */	bne lbl_801F0778
/* 801F0774 001EC3D4  48 00 00 0C */	b lbl_801F0780
lbl_801F0778:
/* 801F0778 001EC3D8  4B FE 40 BD */	bl sqrt
/* 801F077C 001EC3DC  FC 80 08 18 */	frsp f4, f1
lbl_801F0780:
/* 801F0780 001EC3E0  C0 3F 00 D8 */	lfs f1, 0xd8(r31)
/* 801F0784 001EC3E4  C0 1F 00 E8 */	lfs f0, 0xe8(r31)
/* 801F0788 001EC3E8  EC 21 00 72 */	fmuls f1, f1, f1
/* 801F078C 001EC3EC  C0 5F 00 F8 */	lfs f2, 0xf8(r31)
/* 801F0790 001EC3F0  EC 00 00 32 */	fmuls f0, f0, f0
/* 801F0794 001EC3F4  C0 62 97 E0 */	lfs f3, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0798 001EC3F8  EC 42 00 B2 */	fmuls f2, f2, f2
/* 801F079C 001EC3FC  D0 81 00 0C */	stfs f4, 0xc(r1)
/* 801F07A0 001EC400  EC 01 00 2A */	fadds f0, f1, f0
/* 801F07A4 001EC404  EC 22 00 2A */	fadds f1, f2, f0
/* 801F07A8 001EC408  FC 01 18 40 */	fcmpo cr0, f1, f3
/* 801F07AC 001EC40C  4C 40 13 82 */	cror 2, 0, 2
/* 801F07B0 001EC410  40 82 00 08 */	bne lbl_801F07B8
/* 801F07B4 001EC414  48 00 00 0C */	b lbl_801F07C0
lbl_801F07B8:
/* 801F07B8 001EC418  4B FE 40 7D */	bl sqrt
/* 801F07BC 001EC41C  FC 60 08 18 */	frsp f3, f1
lbl_801F07C0:
/* 801F07C0 001EC420  C0 21 00 08 */	lfs f1, 8(r1)
/* 801F07C4 001EC424  C0 02 97 D0 */	lfs f0, lbl_80641DD0-_SDA2_BASE_(r2)
/* 801F07C8 001EC428  D0 61 00 10 */	stfs f3, 0x10(r1)
/* 801F07CC 001EC42C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F07D0 001EC430  40 80 00 10 */	bge lbl_801F07E0
/* 801F07D4 001EC434  C0 02 97 D4 */	lfs f0, lbl_80641DD4-_SDA2_BASE_(r2)
/* 801F07D8 001EC438  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F07DC 001EC43C  41 81 00 3C */	bgt lbl_801F0818
lbl_801F07E0:
/* 801F07E0 001EC440  C0 21 00 0C */	lfs f1, 0xc(r1)
/* 801F07E4 001EC444  C0 02 97 D0 */	lfs f0, lbl_80641DD0-_SDA2_BASE_(r2)
/* 801F07E8 001EC448  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F07EC 001EC44C  40 80 00 10 */	bge lbl_801F07FC
/* 801F07F0 001EC450  C0 02 97 D4 */	lfs f0, lbl_80641DD4-_SDA2_BASE_(r2)
/* 801F07F4 001EC454  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F07F8 001EC458  41 81 00 20 */	bgt lbl_801F0818
lbl_801F07FC:
/* 801F07FC 001EC45C  C0 21 00 10 */	lfs f1, 0x10(r1)
/* 801F0800 001EC460  C0 02 97 D0 */	lfs f0, lbl_80641DD0-_SDA2_BASE_(r2)
/* 801F0804 001EC464  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F0808 001EC468  40 80 00 18 */	bge lbl_801F0820
/* 801F080C 001EC46C  C0 02 97 D4 */	lfs f0, lbl_80641DD4-_SDA2_BASE_(r2)
/* 801F0810 001EC470  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801F0814 001EC474  40 81 00 0C */	ble lbl_801F0820
lbl_801F0818:
/* 801F0818 001EC478  38 60 00 00 */	li r3, 0
/* 801F081C 001EC47C  48 00 02 24 */	b lbl_801F0A40
lbl_801F0820:
/* 801F0820 001EC480  80 7F 01 04 */	lwz r3, 0x104(r31)
/* 801F0824 001EC484  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 801F0828 001EC488  41 82 00 B8 */	beq lbl_801F08E0
/* 801F082C 001EC48C  88 1F 01 87 */	lbz r0, 0x187(r31)
/* 801F0830 001EC490  54 63 00 3C */	rlwinm r3, r3, 0, 0, 0x1e
/* 801F0834 001EC494  90 7F 01 04 */	stw r3, 0x104(r31)
/* 801F0838 001EC498  2C 00 00 00 */	cmpwi r0, 0
/* 801F083C 001EC49C  41 82 00 20 */	beq lbl_801F085C
/* 801F0840 001EC4A0  80 9F 01 80 */	lwz r4, 0x180(r31)
/* 801F0844 001EC4A4  2C 04 00 00 */	cmpwi r4, 0
/* 801F0848 001EC4A8  41 82 00 14 */	beq lbl_801F085C
/* 801F084C 001EC4AC  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F0850 001EC4B0  48 04 B0 3D */	bl func_8023B88C
/* 801F0854 001EC4B4  38 00 00 00 */	li r0, 0
/* 801F0858 001EC4B8  90 1F 01 80 */	stw r0, 0x180(r31)
lbl_801F085C:
/* 801F085C 001EC4BC  80 9F 00 B8 */	lwz r4, 0xb8(r31)
/* 801F0860 001EC4C0  38 7F 01 6C */	addi r3, r31, 0x16c
/* 801F0864 001EC4C4  4B FF F0 2D */	bl func_801EF890
/* 801F0868 001EC4C8  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F086C 001EC4CC  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 801F0870 001EC4D0  41 82 00 28 */	beq lbl_801F0898
/* 801F0874 001EC4D4  80 9F 00 B8 */	lwz r4, 0xb8(r31)
/* 801F0878 001EC4D8  38 7F 01 6C */	addi r3, r31, 0x16c
/* 801F087C 001EC4DC  C0 3F 01 50 */	lfs f1, 0x150(r31)
/* 801F0880 001EC4E0  38 BF 00 D0 */	addi r5, r31, 0xd0
/* 801F0884 001EC4E4  C0 5F 01 60 */	lfs f2, 0x160(r31)
/* 801F0888 001EC4E8  38 DF 01 38 */	addi r6, r31, 0x138
/* 801F088C 001EC4EC  38 FF 01 44 */	addi r7, r31, 0x144
/* 801F0890 001EC4F0  39 1F 01 54 */	addi r8, r31, 0x154
/* 801F0894 001EC4F4  4B FF F0 39 */	bl func_801EF8CC
lbl_801F0898:
/* 801F0898 001EC4F8  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F089C 001EC4FC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801F08A0 001EC500  41 82 00 10 */	beq lbl_801F08B0
/* 801F08A4 001EC504  C0 3F 01 30 */	lfs f1, 0x130(r31)
/* 801F08A8 001EC508  38 7F 01 6C */	addi r3, r31, 0x16c
/* 801F08AC 001EC50C  4B FF F1 A9 */	bl func_801EFA54
lbl_801F08B0:
/* 801F08B0 001EC510  83 DF 01 88 */	lwz r30, 0x188(r31)
/* 801F08B4 001EC514  48 00 00 20 */	b lbl_801F08D4
lbl_801F08B8:
/* 801F08B8 001EC518  80 9E 00 18 */	lwz r4, 0x18(r30)
/* 801F08BC 001EC51C  2C 04 00 00 */	cmpwi r4, 0
/* 801F08C0 001EC520  41 82 00 10 */	beq lbl_801F08D0
/* 801F08C4 001EC524  38 7F 01 6C */	addi r3, r31, 0x16c
/* 801F08C8 001EC528  38 A0 00 00 */	li r5, 0
/* 801F08CC 001EC52C  4B FF F3 19 */	bl func_801EFBE4
lbl_801F08D0:
/* 801F08D0 001EC530  83 DE 00 20 */	lwz r30, 0x20(r30)
lbl_801F08D4:
/* 801F08D4 001EC534  2C 1E 00 00 */	cmpwi r30, 0
/* 801F08D8 001EC538  40 82 FF E0 */	bne lbl_801F08B8
/* 801F08DC 001EC53C  48 07 79 85 */	bl PPCSync
lbl_801F08E0:
/* 801F08E0 001EC540  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F08E4 001EC544  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 801F08E8 001EC548  41 82 01 54 */	beq lbl_801F0A3C
/* 801F08EC 001EC54C  7F E3 FB 78 */	mr r3, r31
/* 801F08F0 001EC550  38 80 00 00 */	li r4, 0
/* 801F08F4 001EC554  48 00 1D C5 */	bl func_801F26B8
/* 801F08F8 001EC558  81 9F 01 00 */	lwz r12, 0x100(r31)
/* 801F08FC 001EC55C  7F E3 FB 78 */	mr r3, r31
/* 801F0900 001EC560  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 801F0904 001EC564  7D 89 03 A6 */	mtctr r12
/* 801F0908 001EC568  4E 80 04 21 */	bctrl
/* 801F090C 001EC56C  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F0910 001EC570  7F A4 EB 78 */	mr r4, r29
/* 801F0914 001EC574  38 61 00 48 */	addi r3, r1, 0x48
/* 801F0918 001EC578  38 BF 00 D0 */	addi r5, r31, 0xd0
/* 801F091C 001EC57C  54 06 EF FE */	rlwinm r6, r0, 0x1d, 0x1f, 0x1f
/* 801F0920 001EC580  4B FE E1 1D */	bl func_801DEA3C__FPA4_fP8GScameraPA4_fi
/* 801F0924 001EC584  38 61 00 48 */	addi r3, r1, 0x48
/* 801F0928 001EC588  38 9F 00 D0 */	addi r4, r31, 0xd0
/* 801F092C 001EC58C  48 08 B6 2D */	bl PSMTXCopy
/* 801F0930 001EC590  80 9F 01 68 */	lwz r4, 0x168(r31)
/* 801F0934 001EC594  2C 04 00 00 */	cmpwi r4, 0
/* 801F0938 001EC598  41 82 00 1C */	beq lbl_801F0954
/* 801F093C 001EC59C  38 7F 00 D0 */	addi r3, r31, 0xd0
/* 801F0940 001EC5A0  38 A1 00 18 */	addi r5, r1, 0x18
/* 801F0944 001EC5A4  48 08 B6 49 */	bl PSMTXConcat
/* 801F0948 001EC5A8  38 61 00 18 */	addi r3, r1, 0x18
/* 801F094C 001EC5AC  38 9F 00 D0 */	addi r4, r31, 0xd0
/* 801F0950 001EC5B0  48 08 B6 09 */	bl PSMTXCopy
lbl_801F0954:
/* 801F0954 001EC5B4  C0 22 97 E0 */	lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0958 001EC5B8  7F E6 FB 78 */	mr r6, r31
/* 801F095C 001EC5BC  38 A0 00 00 */	li r5, 0
/* 801F0960 001EC5C0  48 00 00 B0 */	b lbl_801F0A10
lbl_801F0964:
/* 801F0964 001EC5C4  C0 06 00 48 */	lfs f0, 0x48(r6)
/* 801F0968 001EC5C8  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801F096C 001EC5CC  40 80 00 14 */	bge lbl_801F0980
/* 801F0970 001EC5D0  68 A3 00 01 */	xori r3, r5, 1
/* 801F0974 001EC5D4  7C 03 00 D0 */	neg r0, r3
/* 801F0978 001EC5D8  7C 00 1B 78 */	or r0, r0, r3
/* 801F097C 001EC5DC  54 05 0F FE */	srwi r5, r0, 0x1f
lbl_801F0980:
/* 801F0980 001EC5E0  C0 06 00 4C */	lfs f0, 0x4c(r6)
/* 801F0984 001EC5E4  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801F0988 001EC5E8  40 80 00 14 */	bge lbl_801F099C
/* 801F098C 001EC5EC  68 A3 00 01 */	xori r3, r5, 1
/* 801F0990 001EC5F0  7C 03 00 D0 */	neg r0, r3
/* 801F0994 001EC5F4  7C 00 1B 78 */	or r0, r0, r3
/* 801F0998 001EC5F8  54 05 0F FE */	srwi r5, r0, 0x1f
lbl_801F099C:
/* 801F099C 001EC5FC  C0 06 00 50 */	lfs f0, 0x50(r6)
/* 801F09A0 001EC600  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801F09A4 001EC604  40 80 00 14 */	bge lbl_801F09B8
/* 801F09A8 001EC608  68 A3 00 01 */	xori r3, r5, 1
/* 801F09AC 001EC60C  7C 03 00 D0 */	neg r0, r3
/* 801F09B0 001EC610  7C 00 1B 78 */	or r0, r0, r3
/* 801F09B4 001EC614  54 05 0F FE */	srwi r5, r0, 0x1f
lbl_801F09B8:
/* 801F09B8 001EC618  80 86 00 C0 */	lwz r4, 0xc0(r6)
/* 801F09BC 001EC61C  2C 04 00 00 */	cmpwi r4, 0
/* 801F09C0 001EC620  40 82 00 0C */	bne lbl_801F09CC
/* 801F09C4 001EC624  38 80 00 00 */	li r4, 0
/* 801F09C8 001EC628  48 00 00 44 */	b lbl_801F0A0C
lbl_801F09CC:
/* 801F09CC 001EC62C  80 66 00 1C */	lwz r3, 0x1c(r6)
/* 801F09D0 001EC630  2C 03 00 00 */	cmpwi r3, 0
/* 801F09D4 001EC634  41 82 00 10 */	beq lbl_801F09E4
/* 801F09D8 001EC638  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 801F09DC 001EC63C  54 00 EF FE */	rlwinm r0, r0, 0x1d, 0x1f, 0x1f
/* 801F09E0 001EC640  48 00 00 08 */	b lbl_801F09E8
lbl_801F09E4:
/* 801F09E4 001EC644  38 00 00 01 */	li r0, 1
lbl_801F09E8:
/* 801F09E8 001EC648  2C 00 00 00 */	cmpwi r0, 0
/* 801F09EC 001EC64C  40 82 00 0C */	bne lbl_801F09F8
/* 801F09F0 001EC650  38 80 00 00 */	li r4, 0
/* 801F09F4 001EC654  48 00 00 18 */	b lbl_801F0A0C
lbl_801F09F8:
/* 801F09F8 001EC658  A0 06 00 14 */	lhz r0, 0x14(r6)
/* 801F09FC 001EC65C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 801F0A00 001EC660  41 82 00 08 */	beq lbl_801F0A08
/* 801F0A04 001EC664  48 00 00 08 */	b lbl_801F0A0C
lbl_801F0A08:
/* 801F0A08 001EC668  80 84 00 BC */	lwz r4, 0xbc(r4)
lbl_801F0A0C:
/* 801F0A0C 001EC66C  7C 86 23 78 */	mr r6, r4
lbl_801F0A10:
/* 801F0A10 001EC670  2C 06 00 00 */	cmpwi r6, 0
/* 801F0A14 001EC674  40 82 FF 50 */	bne lbl_801F0964
/* 801F0A18 001EC678  2C 05 00 00 */	cmpwi r5, 0
/* 801F0A1C 001EC67C  41 82 00 14 */	beq lbl_801F0A30
/* 801F0A20 001EC680  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F0A24 001EC684  60 00 00 02 */	ori r0, r0, 2
/* 801F0A28 001EC688  90 1F 01 04 */	stw r0, 0x104(r31)
/* 801F0A2C 001EC68C  48 00 00 10 */	b lbl_801F0A3C
lbl_801F0A30:
/* 801F0A30 001EC690  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801F0A34 001EC694  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 801F0A38 001EC698  90 1F 01 04 */	stw r0, 0x104(r31)
lbl_801F0A3C:
/* 801F0A3C 001EC69C  38 60 00 01 */	li r3, 1
lbl_801F0A40:
/* 801F0A40 001EC6A0  80 01 00 94 */	lwz r0, 0x94(r1)
/* 801F0A44 001EC6A4  83 E1 00 8C */	lwz r31, 0x8c(r1)
/* 801F0A48 001EC6A8  83 C1 00 88 */	lwz r30, 0x88(r1)
/* 801F0A4C 001EC6AC  83 A1 00 84 */	lwz r29, 0x84(r1)
/* 801F0A50 001EC6B0  7C 08 03 A6 */	mtlr r0
/* 801F0A54 001EC6B4  38 21 00 90 */	addi r1, r1, 0x90
/* 801F0A58 001EC6B8  4E 80 00 20 */	blr
/* 801F0A5C 001EC6BC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801F0A60 001EC6C0  7C 08 02 A6 */	mflr r0
/* 801F0A64 001EC6C4  90 01 00 24 */	stw r0, 0x24(r1)
/* 801F0A68 001EC6C8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801F0A6C 001EC6CC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801F0A70 001EC6D0  7C 7E 1B 78 */	mr r30, r3
/* 801F0A74 001EC6D4  48 00 2F 75 */	bl func2__6GSnullFi
/* 801F0A78 001EC6D8  80 7E 01 64 */	lwz r3, 0x164(r30)
/* 801F0A7C 001EC6DC  A0 03 00 00 */	lhz r0, 0(r3)
/* 801F0A80 001EC6E0  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 801F0A84 001EC6E4  41 82 00 10 */	beq lbl_801F0A94
/* 801F0A88 001EC6E8  80 1E 01 04 */	lwz r0, 0x104(r30)
/* 801F0A8C 001EC6EC  60 00 00 04 */	ori r0, r0, 4
/* 801F0A90 001EC6F0  90 1E 01 04 */	stw r0, 0x104(r30)
lbl_801F0A94:
/* 801F0A94 001EC6F4  80 7E 01 64 */	lwz r3, 0x164(r30)
/* 801F0A98 001EC6F8  A0 03 00 00 */	lhz r0, 0(r3)
/* 801F0A9C 001EC6FC  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 801F0AA0 001EC700  41 82 00 10 */	beq lbl_801F0AB0
/* 801F0AA4 001EC704  80 1E 01 04 */	lwz r0, 0x104(r30)
/* 801F0AA8 001EC708  60 00 00 0C */	ori r0, r0, 0xc
/* 801F0AAC 001EC70C  90 1E 01 04 */	stw r0, 0x104(r30)
lbl_801F0AB0:
/* 801F0AB0 001EC710  38 7E 01 6C */	addi r3, r30, 0x16c
/* 801F0AB4 001EC714  4B FF EF B9 */	bl func_801EFA6C
/* 801F0AB8 001EC718  80 BE 01 64 */	lwz r5, 0x164(r30)
/* 801F0ABC 001EC71C  38 61 00 08 */	addi r3, r1, 8
/* 801F0AC0 001EC720  38 9E 01 08 */	addi r4, r30, 0x108
/* 801F0AC4 001EC724  80 A5 00 1C */	lwz r5, 0x1c(r5)
/* 801F0AC8 001EC728  C0 05 00 00 */	lfs f0, 0(r5)
/* 801F0ACC 001EC72C  D0 1E 01 08 */	stfs f0, 0x108(r30)
/* 801F0AD0 001EC730  C0 05 00 04 */	lfs f0, 4(r5)
/* 801F0AD4 001EC734  D0 1E 01 0C */	stfs f0, 0x10c(r30)
/* 801F0AD8 001EC738  C0 05 00 08 */	lfs f0, 8(r5)
/* 801F0ADC 001EC73C  D0 1E 01 10 */	stfs f0, 0x110(r30)
/* 801F0AE0 001EC740  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 801F0AE4 001EC744  D0 1E 01 14 */	stfs f0, 0x114(r30)
/* 801F0AE8 001EC748  C0 05 00 10 */	lfs f0, 0x10(r5)
/* 801F0AEC 001EC74C  D0 1E 01 18 */	stfs f0, 0x118(r30)
/* 801F0AF0 001EC750  C0 05 00 14 */	lfs f0, 0x14(r5)
/* 801F0AF4 001EC754  D0 1E 01 1C */	stfs f0, 0x11c(r30)
/* 801F0AF8 001EC758  48 02 FE 25 */	bl func_8022091C
/* 801F0AFC 001EC75C  C0 01 00 08 */	lfs f0, 8(r1)
/* 801F0B00 001EC760  83 FE 01 88 */	lwz r31, 0x188(r30)
/* 801F0B04 001EC764  D0 1E 01 24 */	stfs f0, 0x124(r30)
/* 801F0B08 001EC768  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 801F0B0C 001EC76C  D0 1E 01 28 */	stfs f0, 0x128(r30)
/* 801F0B10 001EC770  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 801F0B14 001EC774  D0 1E 01 2C */	stfs f0, 0x12c(r30)
/* 801F0B18 001EC778  48 00 00 18 */	b lbl_801F0B30
lbl_801F0B1C:
/* 801F0B1C 001EC77C  80 7F 00 14 */	lwz r3, 0x14(r31)
/* 801F0B20 001EC780  2C 03 00 00 */	cmpwi r3, 0
/* 801F0B24 001EC784  41 82 00 08 */	beq lbl_801F0B2C
/* 801F0B28 001EC788  4B FF C0 81 */	bl func_801ECBA8
lbl_801F0B2C:
/* 801F0B2C 001EC78C  83 FF 00 20 */	lwz r31, 0x20(r31)
lbl_801F0B30:
/* 801F0B30 001EC790  2C 1F 00 00 */	cmpwi r31, 0
/* 801F0B34 001EC794  40 82 FF E8 */	bne lbl_801F0B1C
/* 801F0B38 001EC798  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F0B3C 001EC79C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801F0B40 001EC7A0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801F0B44 001EC7A4  7C 08 03 A6 */	mtlr r0
/* 801F0B48 001EC7A8  38 21 00 20 */	addi r1, r1, 0x20
/* 801F0B4C 001EC7AC  4E 80 00 20 */	blr

.global func_801F0B50
func_801F0B50:
/* 801F0B50 001EC7B0  80 AD A4 48 */	lwz r5, lbl_8063F708-_SDA_BASE_(r13)
/* 801F0B54 001EC7B4  2C 05 00 00 */	cmpwi r5, 0
/* 801F0B58 001EC7B8  41 82 00 0C */	beq lbl_801F0B64
/* 801F0B5C 001EC7BC  80 C5 00 00 */	lwz r6, 0(r5)
/* 801F0B60 001EC7C0  48 00 00 08 */	b lbl_801F0B68
lbl_801F0B64:
/* 801F0B64 001EC7C4  38 C0 00 00 */	li r6, 0
lbl_801F0B68:
/* 801F0B68 001EC7C8  20 A6 00 08 */	subfic r5, r6, 8
/* 801F0B6C 001EC7CC  38 06 FF F8 */	addi r0, r6, -8
/* 801F0B70 001EC7D0  7C A0 03 78 */	or r0, r5, r0
/* 801F0B74 001EC7D4  54 05 0F FE */	srwi r5, r0, 0x1f
/* 801F0B78 001EC7D8  48 00 00 04 */	b func_801F0B7C

.global func_801F0B7C
func_801F0B7C:
/* 801F0B7C 001EC7DC  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 801F0B80 001EC7E0  7C 08 02 A6 */	mflr r0
/* 801F0B84 001EC7E4  90 01 00 74 */	stw r0, 0x74(r1)
/* 801F0B88 001EC7E8  39 61 00 70 */	addi r11, r1, 0x70
/* 801F0B8C 001EC7EC  4B FD 65 7D */	bl _savegpr_19
/* 801F0B90 001EC7F0  3F E0 80 49 */	lis r31, lbl_804919B0@ha
/* 801F0B94 001EC7F4  7C 73 1B 78 */	mr r19, r3
/* 801F0B98 001EC7F8  7C 94 23 78 */	mr r20, r4
/* 801F0B9C 001EC7FC  7C B5 2B 78 */	mr r21, r5
/* 801F0BA0 001EC800  3B FF 19 B0 */	addi r31, r31, lbl_804919B0@l
/* 801F0BA4 001EC804  48 00 31 3D */	bl func_801F3CE0
/* 801F0BA8 001EC808  2C 03 00 00 */	cmpwi r3, 0
/* 801F0BAC 001EC80C  40 82 00 0C */	bne lbl_801F0BB8
/* 801F0BB0 001EC810  38 60 00 00 */	li r3, 0
/* 801F0BB4 001EC814  48 00 04 0C */	b lbl_801F0FC0
lbl_801F0BB8:
/* 801F0BB8 001EC818  38 73 01 08 */	addi r3, r19, 0x108
/* 801F0BBC 001EC81C  48 02 FF 5D */	bl func_80220B18
/* 801F0BC0 001EC820  2C 03 00 01 */	cmpwi r3, 1
/* 801F0BC4 001EC824  41 82 00 58 */	beq lbl_801F0C1C
/* 801F0BC8 001EC828  40 80 00 10 */	bge lbl_801F0BD8
/* 801F0BCC 001EC82C  2C 03 00 00 */	cmpwi r3, 0
/* 801F0BD0 001EC830  40 80 00 44 */	bge lbl_801F0C14
/* 801F0BD4 001EC834  48 00 00 48 */	b lbl_801F0C1C
lbl_801F0BD8:
/* 801F0BD8 001EC838  2C 03 00 03 */	cmpwi r3, 3
/* 801F0BDC 001EC83C  40 80 00 40 */	bge lbl_801F0C1C
/* 801F0BE0 001EC840  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 801F0BE4 001EC844  38 00 00 01 */	li r0, 1
/* 801F0BE8 001EC848  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F0BEC 001EC84C  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F0BF0 001EC850  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F0BF4 001EC854  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F0BF8 001EC858  60 00 00 04 */	ori r0, r0, 4
/* 801F0BFC 001EC85C  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F0C00 001EC860  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F0C04 001EC864  80 03 00 00 */	lwz r0, 0(r3)
/* 801F0C08 001EC868  60 00 00 02 */	ori r0, r0, 2
/* 801F0C0C 001EC86C  90 03 00 00 */	stw r0, 0(r3)
/* 801F0C10 001EC870  48 00 00 3C */	b lbl_801F0C4C
lbl_801F0C14:
/* 801F0C14 001EC874  38 60 00 00 */	li r3, 0
/* 801F0C18 001EC878  48 00 03 A8 */	b lbl_801F0FC0
lbl_801F0C1C:
/* 801F0C1C 001EC87C  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 801F0C20 001EC880  38 00 00 00 */	li r0, 0
/* 801F0C24 001EC884  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F0C28 001EC888  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F0C2C 001EC88C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F0C30 001EC890  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F0C34 001EC894  60 00 00 04 */	ori r0, r0, 4
/* 801F0C38 001EC898  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F0C3C 001EC89C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F0C40 001EC8A0  80 03 00 00 */	lwz r0, 0(r3)
/* 801F0C44 001EC8A4  60 00 00 02 */	ori r0, r0, 2
/* 801F0C48 001EC8A8  90 03 00 00 */	stw r0, 0(r3)
lbl_801F0C4C:
/* 801F0C4C 001EC8AC  7E 63 9B 78 */	mr r3, r19
/* 801F0C50 001EC8B0  7E 84 A3 78 */	mr r4, r20
/* 801F0C54 001EC8B4  4B FF FA 91 */	bl func_801F06E4
/* 801F0C58 001EC8B8  2C 03 00 00 */	cmpwi r3, 0
/* 801F0C5C 001EC8BC  40 82 00 0C */	bne lbl_801F0C68
/* 801F0C60 001EC8C0  38 60 00 00 */	li r3, 0
/* 801F0C64 001EC8C4  48 00 03 5C */	b lbl_801F0FC0
lbl_801F0C68:
/* 801F0C68 001EC8C8  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F0C6C 001EC8CC  38 93 00 D0 */	addi r4, r19, 0xd0
/* 801F0C70 001EC8D0  80 13 01 04 */	lwz r0, 0x104(r19)
/* 801F0C74 001EC8D4  80 63 16 E8 */	lwz r3, 0x16e8(r3)
/* 801F0C78 001EC8D8  54 19 FF FE */	rlwinm r25, r0, 0x1f, 0x1f, 0x1f
/* 801F0C7C 001EC8DC  48 04 5B FD */	bl func_80236878
/* 801F0C80 001EC8E0  38 73 01 24 */	addi r3, r19, 0x124
/* 801F0C84 001EC8E4  48 01 1B 79 */	bl func_802027FC
/* 801F0C88 001EC8E8  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 801F0C8C 001EC8EC  3D 20 80 49 */	lis r9, lbl_80492090@ha
/* 801F0C90 001EC8F0  89 0D A1 AC */	lbz r8, lbl_8063F46C-_SDA_BASE_(r13)
/* 801F0C94 001EC8F4  38 00 00 02 */	li r0, 2
/* 801F0C98 001EC8F8  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0C9C 001EC8FC  39 29 20 90 */	addi r9, r9, lbl_80492090@l
/* 801F0CA0 001EC900  38 C0 00 00 */	li r6, 0
/* 801F0CA4 001EC904  38 80 00 00 */	li r4, 0
/* 801F0CA8 001EC908  99 03 15 14 */	stb r8, 0x1514(r3)
/* 801F0CAC 001EC90C  7C 09 03 A6 */	mtctr r0
lbl_801F0CB0:
/* 801F0CB0 001EC910  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 801F0CB4 001EC914  7C 00 40 40 */	cmplw r0, r8
/* 801F0CB8 001EC918  40 80 00 1C */	bge lbl_801F0CD4
/* 801F0CBC 001EC91C  54 C3 15 BA */	rlwinm r3, r6, 2, 0x16, 0x1d
/* 801F0CC0 001EC920  80 07 16 38 */	lwz r0, 0x1638(r7)
/* 801F0CC4 001EC924  7C A9 18 2E */	lwzx r5, r9, r3
/* 801F0CC8 001EC928  7C 60 1A 14 */	add r3, r0, r3
/* 801F0CCC 001EC92C  90 A3 15 18 */	stw r5, 0x1518(r3)
/* 801F0CD0 001EC930  48 00 00 14 */	b lbl_801F0CE4
lbl_801F0CD4:
/* 801F0CD4 001EC934  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0CD8 001EC938  54 C0 15 BA */	rlwinm r0, r6, 2, 0x16, 0x1d
/* 801F0CDC 001EC93C  7C 63 02 14 */	add r3, r3, r0
/* 801F0CE0 001EC940  90 83 15 18 */	stw r4, 0x1518(r3)
lbl_801F0CE4:
/* 801F0CE4 001EC944  38 C6 00 01 */	addi r6, r6, 1
/* 801F0CE8 001EC948  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 801F0CEC 001EC94C  7C 00 40 40 */	cmplw r0, r8
/* 801F0CF0 001EC950  40 80 00 1C */	bge lbl_801F0D0C
/* 801F0CF4 001EC954  54 C3 15 BA */	rlwinm r3, r6, 2, 0x16, 0x1d
/* 801F0CF8 001EC958  80 07 16 38 */	lwz r0, 0x1638(r7)
/* 801F0CFC 001EC95C  7C A9 18 2E */	lwzx r5, r9, r3
/* 801F0D00 001EC960  7C 60 1A 14 */	add r3, r0, r3
/* 801F0D04 001EC964  90 A3 15 18 */	stw r5, 0x1518(r3)
/* 801F0D08 001EC968  48 00 00 14 */	b lbl_801F0D1C
lbl_801F0D0C:
/* 801F0D0C 001EC96C  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0D10 001EC970  54 C0 15 BA */	rlwinm r0, r6, 2, 0x16, 0x1d
/* 801F0D14 001EC974  7C 63 02 14 */	add r3, r3, r0
/* 801F0D18 001EC978  90 83 15 18 */	stw r4, 0x1518(r3)
lbl_801F0D1C:
/* 801F0D1C 001EC97C  38 C6 00 01 */	addi r6, r6, 1
/* 801F0D20 001EC980  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 801F0D24 001EC984  7C 00 40 40 */	cmplw r0, r8
/* 801F0D28 001EC988  40 80 00 1C */	bge lbl_801F0D44
/* 801F0D2C 001EC98C  54 C3 15 BA */	rlwinm r3, r6, 2, 0x16, 0x1d
/* 801F0D30 001EC990  80 07 16 38 */	lwz r0, 0x1638(r7)
/* 801F0D34 001EC994  7C A9 18 2E */	lwzx r5, r9, r3
/* 801F0D38 001EC998  7C 60 1A 14 */	add r3, r0, r3
/* 801F0D3C 001EC99C  90 A3 15 18 */	stw r5, 0x1518(r3)
/* 801F0D40 001EC9A0  48 00 00 14 */	b lbl_801F0D54
lbl_801F0D44:
/* 801F0D44 001EC9A4  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0D48 001EC9A8  54 C0 15 BA */	rlwinm r0, r6, 2, 0x16, 0x1d
/* 801F0D4C 001EC9AC  7C 63 02 14 */	add r3, r3, r0
/* 801F0D50 001EC9B0  90 83 15 18 */	stw r4, 0x1518(r3)
lbl_801F0D54:
/* 801F0D54 001EC9B4  38 C6 00 01 */	addi r6, r6, 1
/* 801F0D58 001EC9B8  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 801F0D5C 001EC9BC  7C 00 40 40 */	cmplw r0, r8
/* 801F0D60 001EC9C0  40 80 00 1C */	bge lbl_801F0D7C
/* 801F0D64 001EC9C4  54 C3 15 BA */	rlwinm r3, r6, 2, 0x16, 0x1d
/* 801F0D68 001EC9C8  80 07 16 38 */	lwz r0, 0x1638(r7)
/* 801F0D6C 001EC9CC  7C A9 18 2E */	lwzx r5, r9, r3
/* 801F0D70 001EC9D0  7C 60 1A 14 */	add r3, r0, r3
/* 801F0D74 001EC9D4  90 A3 15 18 */	stw r5, 0x1518(r3)
/* 801F0D78 001EC9D8  48 00 00 14 */	b lbl_801F0D8C
lbl_801F0D7C:
/* 801F0D7C 001EC9DC  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0D80 001EC9E0  54 C0 15 BA */	rlwinm r0, r6, 2, 0x16, 0x1d
/* 801F0D84 001EC9E4  7C 63 02 14 */	add r3, r3, r0
/* 801F0D88 001EC9E8  90 83 15 18 */	stw r4, 0x1518(r3)
lbl_801F0D8C:
/* 801F0D8C 001EC9EC  38 C6 00 01 */	addi r6, r6, 1
/* 801F0D90 001EC9F0  42 00 FF 20 */	bdnz lbl_801F0CB0
/* 801F0D94 001EC9F4  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0D98 001EC9F8  80 03 00 14 */	lwz r0, 0x14(r3)
/* 801F0D9C 001EC9FC  60 00 00 10 */	ori r0, r0, 0x10
/* 801F0DA0 001ECA00  90 03 00 14 */	stw r0, 0x14(r3)
/* 801F0DA4 001ECA04  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 801F0DA8 001ECA08  80 03 00 00 */	lwz r0, 0(r3)
/* 801F0DAC 001ECA0C  60 00 00 04 */	ori r0, r0, 4
/* 801F0DB0 001ECA10  90 03 00 00 */	stw r0, 0(r3)
/* 801F0DB4 001ECA14  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F0DB8 001ECA18  82 C3 16 E8 */	lwz r22, 0x16e8(r3)
/* 801F0DBC 001ECA1C  80 76 00 04 */	lwz r3, 4(r22)
/* 801F0DC0 001ECA20  80 03 00 00 */	lwz r0, 0(r3)
/* 801F0DC4 001ECA24  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 801F0DC8 001ECA28  41 82 00 30 */	beq lbl_801F0DF8
/* 801F0DCC 001ECA2C  38 63 00 04 */	addi r3, r3, 4
/* 801F0DD0 001ECA30  38 81 00 08 */	addi r4, r1, 8
/* 801F0DD4 001ECA34  48 08 B3 CD */	bl PSMTXInvXpose
/* 801F0DD8 001ECA38  80 96 00 04 */	lwz r4, 4(r22)
/* 801F0DDC 001ECA3C  38 61 00 08 */	addi r3, r1, 8
/* 801F0DE0 001ECA40  38 84 00 64 */	addi r4, r4, 0x64
/* 801F0DE4 001ECA44  48 08 B1 75 */	bl PSMTXCopy
/* 801F0DE8 001ECA48  80 76 00 04 */	lwz r3, 4(r22)
/* 801F0DEC 001ECA4C  80 03 00 00 */	lwz r0, 0(r3)
/* 801F0DF0 001ECA50  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 801F0DF4 001ECA54  90 03 00 00 */	stw r0, 0(r3)
lbl_801F0DF8:
/* 801F0DF8 001ECA58  80 B6 00 04 */	lwz r5, 4(r22)
/* 801F0DFC 001ECA5C  38 80 00 0A */	li r4, 0xa
/* 801F0E00 001ECA60  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F0E04 001ECA64  38 C0 00 01 */	li r6, 1
/* 801F0E08 001ECA68  38 A5 00 64 */	addi r5, r5, 0x64
/* 801F0E0C 001ECA6C  48 04 37 ED */	bl func_802345F8
/* 801F0E10 001ECA70  80 13 01 04 */	lwz r0, 0x104(r19)
/* 801F0E14 001ECA74  3B 00 00 00 */	li r24, 0
/* 801F0E18 001ECA78  80 73 01 64 */	lwz r3, 0x164(r19)
/* 801F0E1C 001ECA7C  3B 80 00 00 */	li r28, 0
/* 801F0E20 001ECA80  54 00 06 F6 */	rlwinm r0, r0, 0, 0x1b, 0x1b
/* 801F0E24 001ECA84  A0 63 00 00 */	lhz r3, 0(r3)
/* 801F0E28 001ECA88  28 00 00 10 */	cmplwi r0, 0x10
/* 801F0E2C 001ECA8C  54 77 DF FE */	rlwinm r23, r3, 0x1b, 0x1f, 0x1f
/* 801F0E30 001ECA90  40 82 00 10 */	bne lbl_801F0E40
/* 801F0E34 001ECA94  2C 15 00 00 */	cmpwi r21, 0
/* 801F0E38 001ECA98  40 82 00 08 */	bne lbl_801F0E40
/* 801F0E3C 001ECA9C  3B 80 00 01 */	li r28, 1
lbl_801F0E40:
/* 801F0E40 001ECAA0  82 D3 01 88 */	lwz r22, 0x188(r19)
/* 801F0E44 001ECAA4  3B BF 00 B8 */	addi r29, r31, 0xb8
/* 801F0E48 001ECAA8  3B DF 00 00 */	addi r30, r31, 0
/* 801F0E4C 001ECAAC  3B FF 00 8C */	addi r31, r31, 0x8c
/* 801F0E50 001ECAB0  48 00 01 24 */	b lbl_801F0F74
lbl_801F0E54:
/* 801F0E54 001ECAB4  80 16 00 00 */	lwz r0, 0(r22)
/* 801F0E58 001ECAB8  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 801F0E5C 001ECABC  28 00 00 01 */	cmplwi r0, 1
/* 801F0E60 001ECAC0  40 82 01 10 */	bne lbl_801F0F70
/* 801F0E64 001ECAC4  2C 1C 00 00 */	cmpwi r28, 0
/* 801F0E68 001ECAC8  41 82 00 B4 */	beq lbl_801F0F1C
/* 801F0E6C 001ECACC  83 76 00 18 */	lwz r27, 0x18(r22)
/* 801F0E70 001ECAD0  2C 1B 00 00 */	cmpwi r27, 0
/* 801F0E74 001ECAD4  41 82 00 A8 */	beq lbl_801F0F1C
/* 801F0E78 001ECAD8  83 56 00 14 */	lwz r26, 0x14(r22)
/* 801F0E7C 001ECADC  7F 64 DB 78 */	mr r4, r27
/* 801F0E80 001ECAE0  38 73 01 6C */	addi r3, r19, 0x16c
/* 801F0E84 001ECAE4  38 A0 00 01 */	li r5, 1
/* 801F0E88 001ECAE8  4B FF ED 5D */	bl func_801EFBE4
/* 801F0E8C 001ECAEC  93 B6 00 14 */	stw r29, 0x14(r22)
/* 801F0E90 001ECAF0  7E C3 B3 78 */	mr r3, r22
/* 801F0E94 001ECAF4  7E 84 A3 78 */	mr r4, r20
/* 801F0E98 001ECAF8  7F 26 CB 78 */	mr r6, r25
/* 801F0E9C 001ECAFC  88 13 01 34 */	lbz r0, 0x134(r19)
/* 801F0EA0 001ECB00  38 B3 00 D0 */	addi r5, r19, 0xd0
/* 801F0EA4 001ECB04  38 E0 00 00 */	li r7, 0
/* 801F0EA8 001ECB08  98 1E 00 60 */	stb r0, 0x60(r30)
/* 801F0EAC 001ECB0C  88 13 01 35 */	lbz r0, 0x135(r19)
/* 801F0EB0 001ECB10  98 1E 00 61 */	stb r0, 0x61(r30)
/* 801F0EB4 001ECB14  88 13 01 36 */	lbz r0, 0x136(r19)
/* 801F0EB8 001ECB18  98 1E 00 62 */	stb r0, 0x62(r30)
/* 801F0EBC 001ECB1C  88 13 01 37 */	lbz r0, 0x137(r19)
/* 801F0EC0 001ECB20  98 1E 00 63 */	stb r0, 0x63(r30)
/* 801F0EC4 001ECB24  88 13 01 34 */	lbz r0, 0x134(r19)
/* 801F0EC8 001ECB28  98 1E 00 64 */	stb r0, 0x64(r30)
/* 801F0ECC 001ECB2C  88 13 01 35 */	lbz r0, 0x135(r19)
/* 801F0ED0 001ECB30  98 1E 00 65 */	stb r0, 0x65(r30)
/* 801F0ED4 001ECB34  88 13 01 36 */	lbz r0, 0x136(r19)
/* 801F0ED8 001ECB38  98 1E 00 66 */	stb r0, 0x66(r30)
/* 801F0EDC 001ECB3C  88 13 01 37 */	lbz r0, 0x137(r19)
/* 801F0EE0 001ECB40  98 1E 00 67 */	stb r0, 0x67(r30)
/* 801F0EE4 001ECB44  89 13 01 37 */	lbz r8, 0x137(r19)
/* 801F0EE8 001ECB48  38 08 FF 01 */	addi r0, r8, -255
/* 801F0EEC 001ECB4C  7C 00 00 34 */	cntlzw r0, r0
/* 801F0EF0 001ECB50  54 00 D9 7E */	srwi r0, r0, 5
/* 801F0EF4 001ECB54  98 1F 00 07 */	stb r0, 7(r31)
/* 801F0EF8 001ECB58  4B FF C7 35 */	bl func_801ED62C
/* 801F0EFC 001ECB5C  2C 03 00 00 */	cmpwi r3, 0
/* 801F0F00 001ECB60  41 82 00 08 */	beq lbl_801F0F08
/* 801F0F04 001ECB64  3B 00 00 01 */	li r24, 1
lbl_801F0F08:
/* 801F0F08 001ECB68  93 56 00 14 */	stw r26, 0x14(r22)
/* 801F0F0C 001ECB6C  7F 64 DB 78 */	mr r4, r27
/* 801F0F10 001ECB70  38 73 01 6C */	addi r3, r19, 0x16c
/* 801F0F14 001ECB74  38 A0 00 00 */	li r5, 0
/* 801F0F18 001ECB78  4B FF EC CD */	bl func_801EFBE4
lbl_801F0F1C:
/* 801F0F1C 001ECB7C  80 16 00 00 */	lwz r0, 0(r22)
/* 801F0F20 001ECB80  38 80 00 00 */	li r4, 0
/* 801F0F24 001ECB84  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 801F0F28 001ECB88  28 00 00 02 */	cmplwi r0, 2
/* 801F0F2C 001ECB8C  41 82 00 14 */	beq lbl_801F0F40
/* 801F0F30 001ECB90  80 76 00 14 */	lwz r3, 0x14(r22)
/* 801F0F34 001ECB94  88 03 00 33 */	lbz r0, 0x33(r3)
/* 801F0F38 001ECB98  28 00 00 FF */	cmplwi r0, 0xff
/* 801F0F3C 001ECB9C  41 82 00 08 */	beq lbl_801F0F44
lbl_801F0F40:
/* 801F0F40 001ECBA0  38 80 00 01 */	li r4, 1
lbl_801F0F44:
/* 801F0F44 001ECBA4  7C 15 20 40 */	cmplw r21, r4
/* 801F0F48 001ECBA8  41 82 00 28 */	beq lbl_801F0F70
/* 801F0F4C 001ECBAC  7E C3 B3 78 */	mr r3, r22
/* 801F0F50 001ECBB0  7E 84 A3 78 */	mr r4, r20
/* 801F0F54 001ECBB4  7F 26 CB 78 */	mr r6, r25
/* 801F0F58 001ECBB8  7E E7 BB 78 */	mr r7, r23
/* 801F0F5C 001ECBBC  38 B3 00 D0 */	addi r5, r19, 0xd0
/* 801F0F60 001ECBC0  4B FF C6 CD */	bl func_801ED62C
/* 801F0F64 001ECBC4  2C 03 00 00 */	cmpwi r3, 0
/* 801F0F68 001ECBC8  41 82 00 08 */	beq lbl_801F0F70
/* 801F0F6C 001ECBCC  3B 00 00 01 */	li r24, 1
lbl_801F0F70:
/* 801F0F70 001ECBD0  82 D6 00 20 */	lwz r22, 0x20(r22)
lbl_801F0F74:
/* 801F0F74 001ECBD4  2C 16 00 00 */	cmpwi r22, 0
/* 801F0F78 001ECBD8  40 82 FE DC */	bne lbl_801F0E54
/* 801F0F7C 001ECBDC  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F0F80 001ECBE0  2C 18 00 00 */	cmpwi r24, 0
/* 801F0F84 001ECBE4  80 83 16 E8 */	lwz r4, 0x16e8(r3)
/* 801F0F88 001ECBE8  80 64 00 04 */	lwz r3, 4(r4)
/* 801F0F8C 001ECBEC  38 03 FF 6C */	addi r0, r3, -148
/* 801F0F90 001ECBF0  90 04 00 04 */	stw r0, 4(r4)
/* 801F0F94 001ECBF4  41 82 00 28 */	beq lbl_801F0FBC
/* 801F0F98 001ECBF8  88 13 01 87 */	lbz r0, 0x187(r19)
/* 801F0F9C 001ECBFC  2C 00 00 00 */	cmpwi r0, 0
/* 801F0FA0 001ECC00  41 82 00 14 */	beq lbl_801F0FB4
/* 801F0FA4 001ECC04  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F0FA8 001ECC08  38 93 01 6C */	addi r4, r19, 0x16c
/* 801F0FAC 001ECC0C  48 04 A9 9D */	bl func_8023B948
/* 801F0FB0 001ECC10  90 73 01 80 */	stw r3, 0x180(r19)
lbl_801F0FB4:
/* 801F0FB4 001ECC14  38 60 00 01 */	li r3, 1
/* 801F0FB8 001ECC18  48 00 00 08 */	b lbl_801F0FC0
lbl_801F0FBC:
/* 801F0FBC 001ECC1C  38 60 00 00 */	li r3, 0
lbl_801F0FC0:
/* 801F0FC0 001ECC20  39 61 00 70 */	addi r11, r1, 0x70
/* 801F0FC4 001ECC24  4B FD 61 91 */	bl _restgpr_19
/* 801F0FC8 001ECC28  80 01 00 74 */	lwz r0, 0x74(r1)
/* 801F0FCC 001ECC2C  7C 08 03 A6 */	mtlr r0
/* 801F0FD0 001ECC30  38 21 00 70 */	addi r1, r1, 0x70
/* 801F0FD4 001ECC34  4E 80 00 20 */	blr

.global func_801F0FD8
func_801F0FD8:
/* 801F0FD8 001ECC38  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801F0FDC 001ECC3C  7C 08 02 A6 */	mflr r0
/* 801F0FE0 001ECC40  90 01 00 24 */	stw r0, 0x24(r1)
/* 801F0FE4 001ECC44  39 61 00 20 */	addi r11, r1, 0x20
/* 801F0FE8 001ECC48  4B FD 61 3D */	bl _savegpr_26
/* 801F0FEC 001ECC4C  7C 7D 1B 78 */	mr r29, r3
/* 801F0FF0 001ECC50  7C 9E 23 78 */	mr r30, r4
/* 801F0FF4 001ECC54  7C BF 2B 78 */	mr r31, r5
/* 801F0FF8 001ECC58  48 00 2C E9 */	bl func_801F3CE0
/* 801F0FFC 001ECC5C  2C 03 00 00 */	cmpwi r3, 0
/* 801F1000 001ECC60  41 82 00 18 */	beq lbl_801F1018
/* 801F1004 001ECC64  80 7D 01 64 */	lwz r3, 0x164(r29)
/* 801F1008 001ECC68  A0 03 00 00 */	lhz r0, 0(r3)
/* 801F100C 001ECC6C  54 00 05 AC */	rlwinm r0, r0, 0, 0x16, 0x16
/* 801F1010 001ECC70  2C 00 02 00 */	cmpwi r0, 0x200
/* 801F1014 001ECC74  41 82 00 0C */	beq lbl_801F1020
lbl_801F1018:
/* 801F1018 001ECC78  38 60 00 00 */	li r3, 0
/* 801F101C 001ECC7C  48 00 01 08 */	b lbl_801F1124
lbl_801F1020:
/* 801F1020 001ECC80  7F A3 EB 78 */	mr r3, r29
/* 801F1024 001ECC84  7F C4 F3 78 */	mr r4, r30
/* 801F1028 001ECC88  4B FF F6 BD */	bl func_801F06E4
/* 801F102C 001ECC8C  2C 03 00 00 */	cmpwi r3, 0
/* 801F1030 001ECC90  40 82 00 0C */	bne lbl_801F103C
/* 801F1034 001ECC94  38 60 00 00 */	li r3, 0
/* 801F1038 001ECC98  48 00 00 EC */	b lbl_801F1124
lbl_801F103C:
/* 801F103C 001ECC9C  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 801F1040 001ECCA0  38 00 00 01 */	li r0, 1
/* 801F1044 001ECCA4  80 BD 01 04 */	lwz r5, 0x104(r29)
/* 801F1048 001ECCA8  38 9D 00 D0 */	addi r4, r29, 0xd0
/* 801F104C 001ECCAC  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 801F1050 001ECCB0  54 A5 FF FE */	rlwinm r5, r5, 0x1f, 0x1f, 0x1f
/* 801F1054 001ECCB4  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F1058 001ECCB8  68 BC 00 01 */	xori r28, r5, 1
/* 801F105C 001ECCBC  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 801F1060 001ECCC0  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F1064 001ECCC4  60 00 00 04 */	ori r0, r0, 4
/* 801F1068 001ECCC8  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F106C 001ECCCC  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 801F1070 001ECCD0  80 03 00 00 */	lwz r0, 0(r3)
/* 801F1074 001ECCD4  60 00 00 02 */	ori r0, r0, 2
/* 801F1078 001ECCD8  90 03 00 00 */	stw r0, 0(r3)
/* 801F107C 001ECCDC  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F1080 001ECCE0  80 63 16 E8 */	lwz r3, 0x16e8(r3)
/* 801F1084 001ECCE4  48 04 57 F5 */	bl func_80236878
/* 801F1088 001ECCE8  83 5D 01 88 */	lwz r26, 0x188(r29)
/* 801F108C 001ECCEC  3B 60 00 00 */	li r27, 0
/* 801F1090 001ECCF0  48 00 00 48 */	b lbl_801F10D8
lbl_801F1094:
/* 801F1094 001ECCF4  80 7A 00 00 */	lwz r3, 0(r26)
/* 801F1098 001ECCF8  54 60 07 FE */	clrlwi r0, r3, 0x1f
/* 801F109C 001ECCFC  28 00 00 01 */	cmplwi r0, 1
/* 801F10A0 001ECD00  40 82 00 34 */	bne lbl_801F10D4
/* 801F10A4 001ECD04  54 60 FF FE */	rlwinm r0, r3, 0x1f, 0x1f, 0x1f
/* 801F10A8 001ECD08  68 00 00 01 */	xori r0, r0, 1
/* 801F10AC 001ECD0C  7C 1F 00 40 */	cmplw r31, r0
/* 801F10B0 001ECD10  40 82 00 24 */	bne lbl_801F10D4
/* 801F10B4 001ECD14  7F 43 D3 78 */	mr r3, r26
/* 801F10B8 001ECD18  7F C4 F3 78 */	mr r4, r30
/* 801F10BC 001ECD1C  7F 86 E3 78 */	mr r6, r28
/* 801F10C0 001ECD20  38 BD 00 D0 */	addi r5, r29, 0xd0
/* 801F10C4 001ECD24  4B FF CD 39 */	bl func_801EDDFC
/* 801F10C8 001ECD28  2C 03 00 00 */	cmpwi r3, 0
/* 801F10CC 001ECD2C  41 82 00 08 */	beq lbl_801F10D4
/* 801F10D0 001ECD30  3B 60 00 01 */	li r27, 1
lbl_801F10D4:
/* 801F10D4 001ECD34  83 5A 00 20 */	lwz r26, 0x20(r26)
lbl_801F10D8:
/* 801F10D8 001ECD38  2C 1A 00 00 */	cmpwi r26, 0
/* 801F10DC 001ECD3C  40 82 FF B8 */	bne lbl_801F1094
/* 801F10E0 001ECD40  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F10E4 001ECD44  2C 1B 00 00 */	cmpwi r27, 0
/* 801F10E8 001ECD48  80 83 16 E8 */	lwz r4, 0x16e8(r3)
/* 801F10EC 001ECD4C  80 64 00 04 */	lwz r3, 4(r4)
/* 801F10F0 001ECD50  38 03 FF 6C */	addi r0, r3, -148
/* 801F10F4 001ECD54  90 04 00 04 */	stw r0, 4(r4)
/* 801F10F8 001ECD58  41 82 00 28 */	beq lbl_801F1120
/* 801F10FC 001ECD5C  88 1D 01 87 */	lbz r0, 0x187(r29)
/* 801F1100 001ECD60  2C 00 00 00 */	cmpwi r0, 0
/* 801F1104 001ECD64  41 82 00 14 */	beq lbl_801F1118
/* 801F1108 001ECD68  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F110C 001ECD6C  38 9D 01 6C */	addi r4, r29, 0x16c
/* 801F1110 001ECD70  48 04 A8 39 */	bl func_8023B948
/* 801F1114 001ECD74  90 7D 01 80 */	stw r3, 0x180(r29)
lbl_801F1118:
/* 801F1118 001ECD78  38 60 00 01 */	li r3, 1
/* 801F111C 001ECD7C  48 00 00 08 */	b lbl_801F1124
lbl_801F1120:
/* 801F1120 001ECD80  38 60 00 00 */	li r3, 0
lbl_801F1124:
/* 801F1124 001ECD84  39 61 00 20 */	addi r11, r1, 0x20
/* 801F1128 001ECD88  4B FD 60 49 */	bl _restgpr_26
/* 801F112C 001ECD8C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F1130 001ECD90  7C 08 03 A6 */	mtlr r0
/* 801F1134 001ECD94  38 21 00 20 */	addi r1, r1, 0x20
/* 801F1138 001ECD98  4E 80 00 20 */	blr

.global func_801F113C
func_801F113C:
/* 801F113C 001ECD9C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801F1140 001ECDA0  7C 08 02 A6 */	mflr r0
/* 801F1144 001ECDA4  90 01 00 24 */	stw r0, 0x24(r1)
/* 801F1148 001ECDA8  39 61 00 20 */	addi r11, r1, 0x20
/* 801F114C 001ECDAC  4B FD 5F DD */	bl _savegpr_27
/* 801F1150 001ECDB0  7C 7D 1B 78 */	mr r29, r3
/* 801F1154 001ECDB4  7C 9E 23 78 */	mr r30, r4
/* 801F1158 001ECDB8  48 00 2B 89 */	bl func_801F3CE0
/* 801F115C 001ECDBC  2C 03 00 00 */	cmpwi r3, 0
/* 801F1160 001ECDC0  41 82 00 18 */	beq lbl_801F1178
/* 801F1164 001ECDC4  80 7D 01 64 */	lwz r3, 0x164(r29)
/* 801F1168 001ECDC8  A0 03 00 00 */	lhz r0, 0(r3)
/* 801F116C 001ECDCC  54 00 05 6A */	rlwinm r0, r0, 0, 0x15, 0x15
/* 801F1170 001ECDD0  2C 00 04 00 */	cmpwi r0, 0x400
/* 801F1174 001ECDD4  41 82 00 0C */	beq lbl_801F1180
lbl_801F1178:
/* 801F1178 001ECDD8  38 60 00 00 */	li r3, 0
/* 801F117C 001ECDDC  48 00 01 B8 */	b lbl_801F1334
lbl_801F1180:
/* 801F1180 001ECDE0  80 6D A4 48 */	lwz r3, lbl_8063F708-_SDA_BASE_(r13)
/* 801F1184 001ECDE4  2C 03 00 00 */	cmpwi r3, 0
/* 801F1188 001ECDE8  41 82 00 0C */	beq lbl_801F1194
/* 801F118C 001ECDEC  80 83 00 00 */	lwz r4, 0(r3)
/* 801F1190 001ECDF0  48 00 00 08 */	b lbl_801F1198
lbl_801F1194:
/* 801F1194 001ECDF4  38 80 00 00 */	li r4, 0
lbl_801F1198:
/* 801F1198 001ECDF8  20 64 00 08 */	subfic r3, r4, 8
/* 801F119C 001ECDFC  38 04 FF F8 */	addi r0, r4, -8
/* 801F11A0 001ECE00  7C 60 03 78 */	or r0, r3, r0
/* 801F11A4 001ECE04  38 7D 01 08 */	addi r3, r29, 0x108
/* 801F11A8 001ECE08  54 1F 0F FE */	srwi r31, r0, 0x1f
/* 801F11AC 001ECE0C  48 02 F9 6D */	bl func_80220B18
/* 801F11B0 001ECE10  2C 03 00 01 */	cmpwi r3, 1
/* 801F11B4 001ECE14  41 82 00 58 */	beq lbl_801F120C
/* 801F11B8 001ECE18  40 80 00 10 */	bge lbl_801F11C8
/* 801F11BC 001ECE1C  2C 03 00 00 */	cmpwi r3, 0
/* 801F11C0 001ECE20  40 80 00 44 */	bge lbl_801F1204
/* 801F11C4 001ECE24  48 00 00 48 */	b lbl_801F120C
lbl_801F11C8:
/* 801F11C8 001ECE28  2C 03 00 03 */	cmpwi r3, 3
/* 801F11CC 001ECE2C  40 80 00 40 */	bge lbl_801F120C
/* 801F11D0 001ECE30  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 801F11D4 001ECE34  38 00 00 01 */	li r0, 1
/* 801F11D8 001ECE38  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F11DC 001ECE3C  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F11E0 001ECE40  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F11E4 001ECE44  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F11E8 001ECE48  60 00 00 04 */	ori r0, r0, 4
/* 801F11EC 001ECE4C  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F11F0 001ECE50  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F11F4 001ECE54  80 03 00 00 */	lwz r0, 0(r3)
/* 801F11F8 001ECE58  60 00 00 02 */	ori r0, r0, 2
/* 801F11FC 001ECE5C  90 03 00 00 */	stw r0, 0(r3)
/* 801F1200 001ECE60  48 00 00 3C */	b lbl_801F123C
lbl_801F1204:
/* 801F1204 001ECE64  38 60 00 00 */	li r3, 0
/* 801F1208 001ECE68  48 00 01 2C */	b lbl_801F1334
lbl_801F120C:
/* 801F120C 001ECE6C  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 801F1210 001ECE70  38 00 00 00 */	li r0, 0
/* 801F1214 001ECE74  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1218 001ECE78  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F121C 001ECE7C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1220 001ECE80  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F1224 001ECE84  60 00 00 04 */	ori r0, r0, 4
/* 801F1228 001ECE88  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F122C 001ECE8C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1230 001ECE90  80 03 00 00 */	lwz r0, 0(r3)
/* 801F1234 001ECE94  60 00 00 02 */	ori r0, r0, 2
/* 801F1238 001ECE98  90 03 00 00 */	stw r0, 0(r3)
lbl_801F123C:
/* 801F123C 001ECE9C  7F A3 EB 78 */	mr r3, r29
/* 801F1240 001ECEA0  7F C4 F3 78 */	mr r4, r30
/* 801F1244 001ECEA4  4B FF F4 A1 */	bl func_801F06E4
/* 801F1248 001ECEA8  2C 03 00 00 */	cmpwi r3, 0
/* 801F124C 001ECEAC  40 82 00 0C */	bne lbl_801F1258
/* 801F1250 001ECEB0  38 60 00 00 */	li r3, 0
/* 801F1254 001ECEB4  48 00 00 E0 */	b lbl_801F1334
lbl_801F1258:
/* 801F1258 001ECEB8  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F125C 001ECEBC  38 9D 00 D0 */	addi r4, r29, 0xd0
/* 801F1260 001ECEC0  80 1D 01 04 */	lwz r0, 0x104(r29)
/* 801F1264 001ECEC4  80 63 16 E8 */	lwz r3, 0x16e8(r3)
/* 801F1268 001ECEC8  54 1E FF FE */	rlwinm r30, r0, 0x1f, 0x1f, 0x1f
/* 801F126C 001ECECC  48 04 56 0D */	bl func_80236878
/* 801F1270 001ECED0  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F1274 001ECED4  38 BD 00 D0 */	addi r5, r29, 0xd0
/* 801F1278 001ECED8  38 80 00 00 */	li r4, 0
/* 801F127C 001ECEDC  38 C0 00 00 */	li r6, 0
/* 801F1280 001ECEE0  48 04 33 79 */	bl func_802345F8
/* 801F1284 001ECEE4  83 7D 01 88 */	lwz r27, 0x188(r29)
/* 801F1288 001ECEE8  3B 80 00 00 */	li r28, 0
/* 801F128C 001ECEEC  48 00 00 5C */	b lbl_801F12E8
lbl_801F1290:
/* 801F1290 001ECEF0  80 7B 00 00 */	lwz r3, 0(r27)
/* 801F1294 001ECEF4  54 60 07 FE */	clrlwi r0, r3, 0x1f
/* 801F1298 001ECEF8  28 00 00 01 */	cmplwi r0, 1
/* 801F129C 001ECEFC  40 82 00 48 */	bne lbl_801F12E4
/* 801F12A0 001ECF00  54 60 07 BC */	rlwinm r0, r3, 0, 0x1e, 0x1e
/* 801F12A4 001ECF04  38 80 00 00 */	li r4, 0
/* 801F12A8 001ECF08  28 00 00 02 */	cmplwi r0, 2
/* 801F12AC 001ECF0C  41 82 00 18 */	beq lbl_801F12C4
/* 801F12B0 001ECF10  80 7B 00 14 */	lwz r3, 0x14(r27)
/* 801F12B4 001ECF14  88 03 00 33 */	lbz r0, 0x33(r3)
/* 801F12B8 001ECF18  28 00 00 FF */	cmplwi r0, 0xff
/* 801F12BC 001ECF1C  40 82 00 08 */	bne lbl_801F12C4
/* 801F12C0 001ECF20  38 80 00 01 */	li r4, 1
lbl_801F12C4:
/* 801F12C4 001ECF24  7C 1F 20 40 */	cmplw r31, r4
/* 801F12C8 001ECF28  40 82 00 1C */	bne lbl_801F12E4
/* 801F12CC 001ECF2C  7F 63 DB 78 */	mr r3, r27
/* 801F12D0 001ECF30  7F C4 F3 78 */	mr r4, r30
/* 801F12D4 001ECF34  4B FF CC 09 */	bl func_801EDEDC
/* 801F12D8 001ECF38  2C 03 00 00 */	cmpwi r3, 0
/* 801F12DC 001ECF3C  41 82 00 08 */	beq lbl_801F12E4
/* 801F12E0 001ECF40  3B 80 00 01 */	li r28, 1
lbl_801F12E4:
/* 801F12E4 001ECF44  83 7B 00 20 */	lwz r27, 0x20(r27)
lbl_801F12E8:
/* 801F12E8 001ECF48  2C 1B 00 00 */	cmpwi r27, 0
/* 801F12EC 001ECF4C  40 82 FF A4 */	bne lbl_801F1290
/* 801F12F0 001ECF50  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F12F4 001ECF54  2C 1C 00 00 */	cmpwi r28, 0
/* 801F12F8 001ECF58  80 83 16 E8 */	lwz r4, 0x16e8(r3)
/* 801F12FC 001ECF5C  80 64 00 04 */	lwz r3, 4(r4)
/* 801F1300 001ECF60  38 03 FF 6C */	addi r0, r3, -148
/* 801F1304 001ECF64  90 04 00 04 */	stw r0, 4(r4)
/* 801F1308 001ECF68  41 82 00 28 */	beq lbl_801F1330
/* 801F130C 001ECF6C  88 1D 01 87 */	lbz r0, 0x187(r29)
/* 801F1310 001ECF70  2C 00 00 00 */	cmpwi r0, 0
/* 801F1314 001ECF74  41 82 00 14 */	beq lbl_801F1328
/* 801F1318 001ECF78  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F131C 001ECF7C  38 9D 01 6C */	addi r4, r29, 0x16c
/* 801F1320 001ECF80  48 04 A6 29 */	bl func_8023B948
/* 801F1324 001ECF84  90 7D 01 80 */	stw r3, 0x180(r29)
lbl_801F1328:
/* 801F1328 001ECF88  38 60 00 01 */	li r3, 1
/* 801F132C 001ECF8C  48 00 00 08 */	b lbl_801F1334
lbl_801F1330:
/* 801F1330 001ECF90  38 60 00 00 */	li r3, 0
lbl_801F1334:
/* 801F1334 001ECF94  39 61 00 20 */	addi r11, r1, 0x20
/* 801F1338 001ECF98  4B FD 5E 3D */	bl _restgpr_27
/* 801F133C 001ECF9C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F1340 001ECFA0  7C 08 03 A6 */	mtlr r0
/* 801F1344 001ECFA4  38 21 00 20 */	addi r1, r1, 0x20
/* 801F1348 001ECFA8  4E 80 00 20 */	blr

.global func_801F134C
func_801F134C:
/* 801F134C 001ECFAC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801F1350 001ECFB0  7C 08 02 A6 */	mflr r0
/* 801F1354 001ECFB4  90 01 00 24 */	stw r0, 0x24(r1)
/* 801F1358 001ECFB8  39 61 00 20 */	addi r11, r1, 0x20
/* 801F135C 001ECFBC  4B FD 5D CD */	bl _savegpr_27
/* 801F1360 001ECFC0  7C 7D 1B 78 */	mr r29, r3
/* 801F1364 001ECFC4  7C 9E 23 78 */	mr r30, r4
/* 801F1368 001ECFC8  48 00 29 79 */	bl func_801F3CE0
/* 801F136C 001ECFCC  2C 03 00 00 */	cmpwi r3, 0
/* 801F1370 001ECFD0  41 82 00 18 */	beq lbl_801F1388
/* 801F1374 001ECFD4  80 7D 01 64 */	lwz r3, 0x164(r29)
/* 801F1378 001ECFD8  A0 03 00 00 */	lhz r0, 0(r3)
/* 801F137C 001ECFDC  54 00 05 28 */	rlwinm r0, r0, 0, 0x14, 0x14
/* 801F1380 001ECFE0  2C 00 08 00 */	cmpwi r0, 0x800
/* 801F1384 001ECFE4  41 82 00 0C */	beq lbl_801F1390
lbl_801F1388:
/* 801F1388 001ECFE8  38 60 00 00 */	li r3, 0
/* 801F138C 001ECFEC  48 00 01 B0 */	b lbl_801F153C
lbl_801F1390:
/* 801F1390 001ECFF0  80 6D A4 48 */	lwz r3, lbl_8063F708-_SDA_BASE_(r13)
/* 801F1394 001ECFF4  2C 03 00 00 */	cmpwi r3, 0
/* 801F1398 001ECFF8  41 82 00 0C */	beq lbl_801F13A4
/* 801F139C 001ECFFC  80 83 00 00 */	lwz r4, 0(r3)
/* 801F13A0 001ED000  48 00 00 08 */	b lbl_801F13A8
lbl_801F13A4:
/* 801F13A4 001ED004  38 80 00 00 */	li r4, 0
lbl_801F13A8:
/* 801F13A8 001ED008  20 64 00 08 */	subfic r3, r4, 8
/* 801F13AC 001ED00C  38 04 FF F8 */	addi r0, r4, -8
/* 801F13B0 001ED010  7C 60 03 78 */	or r0, r3, r0
/* 801F13B4 001ED014  38 7D 01 08 */	addi r3, r29, 0x108
/* 801F13B8 001ED018  54 1F 0F FE */	srwi r31, r0, 0x1f
/* 801F13BC 001ED01C  48 02 F7 5D */	bl func_80220B18
/* 801F13C0 001ED020  2C 03 00 01 */	cmpwi r3, 1
/* 801F13C4 001ED024  41 82 00 58 */	beq lbl_801F141C
/* 801F13C8 001ED028  40 80 00 10 */	bge lbl_801F13D8
/* 801F13CC 001ED02C  2C 03 00 00 */	cmpwi r3, 0
/* 801F13D0 001ED030  40 80 00 44 */	bge lbl_801F1414
/* 801F13D4 001ED034  48 00 00 48 */	b lbl_801F141C
lbl_801F13D8:
/* 801F13D8 001ED038  2C 03 00 03 */	cmpwi r3, 3
/* 801F13DC 001ED03C  40 80 00 40 */	bge lbl_801F141C
/* 801F13E0 001ED040  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 801F13E4 001ED044  38 00 00 01 */	li r0, 1
/* 801F13E8 001ED048  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F13EC 001ED04C  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F13F0 001ED050  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F13F4 001ED054  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F13F8 001ED058  60 00 00 04 */	ori r0, r0, 4
/* 801F13FC 001ED05C  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F1400 001ED060  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1404 001ED064  80 03 00 00 */	lwz r0, 0(r3)
/* 801F1408 001ED068  60 00 00 02 */	ori r0, r0, 2
/* 801F140C 001ED06C  90 03 00 00 */	stw r0, 0(r3)
/* 801F1410 001ED070  48 00 00 3C */	b lbl_801F144C
lbl_801F1414:
/* 801F1414 001ED074  38 60 00 00 */	li r3, 0
/* 801F1418 001ED078  48 00 01 24 */	b lbl_801F153C
lbl_801F141C:
/* 801F141C 001ED07C  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 801F1420 001ED080  38 00 00 00 */	li r0, 0
/* 801F1424 001ED084  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1428 001ED088  90 03 01 88 */	stw r0, 0x188(r3)
/* 801F142C 001ED08C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1430 001ED090  80 03 00 10 */	lwz r0, 0x10(r3)
/* 801F1434 001ED094  60 00 00 04 */	ori r0, r0, 4
/* 801F1438 001ED098  90 03 00 10 */	stw r0, 0x10(r3)
/* 801F143C 001ED09C  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 801F1440 001ED0A0  80 03 00 00 */	lwz r0, 0(r3)
/* 801F1444 001ED0A4  60 00 00 02 */	ori r0, r0, 2
/* 801F1448 001ED0A8  90 03 00 00 */	stw r0, 0(r3)
lbl_801F144C:
/* 801F144C 001ED0AC  7F A3 EB 78 */	mr r3, r29
/* 801F1450 001ED0B0  7F C4 F3 78 */	mr r4, r30
/* 801F1454 001ED0B4  4B FF F2 91 */	bl func_801F06E4
/* 801F1458 001ED0B8  2C 03 00 00 */	cmpwi r3, 0
/* 801F145C 001ED0BC  40 82 00 0C */	bne lbl_801F1468
/* 801F1460 001ED0C0  38 60 00 00 */	li r3, 0
/* 801F1464 001ED0C4  48 00 00 D8 */	b lbl_801F153C
lbl_801F1468:
/* 801F1468 001ED0C8  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F146C 001ED0CC  38 9D 00 D0 */	addi r4, r29, 0xd0
/* 801F1470 001ED0D0  80 1D 01 04 */	lwz r0, 0x104(r29)
/* 801F1474 001ED0D4  80 63 16 E8 */	lwz r3, 0x16e8(r3)
/* 801F1478 001ED0D8  54 1E FF FE */	rlwinm r30, r0, 0x1f, 0x1f, 0x1f
/* 801F147C 001ED0DC  48 04 53 FD */	bl func_80236878
/* 801F1480 001ED0E0  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F1484 001ED0E4  38 BD 00 D0 */	addi r5, r29, 0xd0
/* 801F1488 001ED0E8  38 80 00 00 */	li r4, 0
/* 801F148C 001ED0EC  38 C0 00 00 */	li r6, 0
/* 801F1490 001ED0F0  48 04 31 69 */	bl func_802345F8
/* 801F1494 001ED0F4  83 7D 01 88 */	lwz r27, 0x188(r29)
/* 801F1498 001ED0F8  3B 80 00 00 */	li r28, 0
/* 801F149C 001ED0FC  48 00 00 54 */	b lbl_801F14F0
lbl_801F14A0:
/* 801F14A0 001ED100  80 7B 00 00 */	lwz r3, 0(r27)
/* 801F14A4 001ED104  54 60 07 FE */	clrlwi r0, r3, 0x1f
/* 801F14A8 001ED108  28 00 00 01 */	cmplwi r0, 1
/* 801F14AC 001ED10C  40 82 00 40 */	bne lbl_801F14EC
/* 801F14B0 001ED110  54 60 07 BC */	rlwinm r0, r3, 0, 0x1e, 0x1e
/* 801F14B4 001ED114  38 80 00 00 */	li r4, 0
/* 801F14B8 001ED118  28 00 00 02 */	cmplwi r0, 2
/* 801F14BC 001ED11C  41 82 00 18 */	beq lbl_801F14D4
/* 801F14C0 001ED120  80 7B 00 14 */	lwz r3, 0x14(r27)
/* 801F14C4 001ED124  88 03 00 33 */	lbz r0, 0x33(r3)
/* 801F14C8 001ED128  28 00 00 FF */	cmplwi r0, 0xff
/* 801F14CC 001ED12C  40 82 00 08 */	bne lbl_801F14D4
/* 801F14D0 001ED130  38 80 00 01 */	li r4, 1
lbl_801F14D4:
/* 801F14D4 001ED134  7C 1F 20 40 */	cmplw r31, r4
/* 801F14D8 001ED138  40 82 00 14 */	bne lbl_801F14EC
/* 801F14DC 001ED13C  7F 63 DB 78 */	mr r3, r27
/* 801F14E0 001ED140  7F C4 F3 78 */	mr r4, r30
/* 801F14E4 001ED144  3B 80 00 01 */	li r28, 1
/* 801F14E8 001ED148  4B FF CA 9D */	bl func_801EDF84
lbl_801F14EC:
/* 801F14EC 001ED14C  83 7B 00 20 */	lwz r27, 0x20(r27)
lbl_801F14F0:
/* 801F14F0 001ED150  2C 1B 00 00 */	cmpwi r27, 0
/* 801F14F4 001ED154  40 82 FF AC */	bne lbl_801F14A0
/* 801F14F8 001ED158  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F14FC 001ED15C  2C 1C 00 00 */	cmpwi r28, 0
/* 801F1500 001ED160  80 83 16 E8 */	lwz r4, 0x16e8(r3)
/* 801F1504 001ED164  80 64 00 04 */	lwz r3, 4(r4)
/* 801F1508 001ED168  38 03 FF 6C */	addi r0, r3, -148
/* 801F150C 001ED16C  90 04 00 04 */	stw r0, 4(r4)
/* 801F1510 001ED170  41 82 00 28 */	beq lbl_801F1538
/* 801F1514 001ED174  88 1D 01 87 */	lbz r0, 0x187(r29)
/* 801F1518 001ED178  2C 00 00 00 */	cmpwi r0, 0
/* 801F151C 001ED17C  41 82 00 14 */	beq lbl_801F1530
/* 801F1520 001ED180  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 801F1524 001ED184  38 9D 01 6C */	addi r4, r29, 0x16c
/* 801F1528 001ED188  48 04 A4 21 */	bl func_8023B948
/* 801F152C 001ED18C  90 7D 01 80 */	stw r3, 0x180(r29)
lbl_801F1530:
/* 801F1530 001ED190  38 60 00 01 */	li r3, 1
/* 801F1534 001ED194  48 00 00 08 */	b lbl_801F153C
lbl_801F1538:
/* 801F1538 001ED198  38 60 00 00 */	li r3, 0
lbl_801F153C:
/* 801F153C 001ED19C  39 61 00 20 */	addi r11, r1, 0x20
/* 801F1540 001ED1A0  4B FD 5C 35 */	bl _restgpr_27
/* 801F1544 001ED1A4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801F1548 001ED1A8  7C 08 03 A6 */	mtlr r0
/* 801F154C 001ED1AC  38 21 00 20 */	addi r1, r1, 0x20
/* 801F1550 001ED1B0  4E 80 00 20 */	blr

.global lbl_801F1554
lbl_801F1554:
/* 801F1554 001ED1B4  2C 05 00 00 */	cmpwi r5, 0
/* 801F1558 001ED1B8  4C 82 00 20 */	bnelr
/* 801F155C 001ED1BC  88 04 00 01 */	lbz r0, 1(r4)
/* 801F1560 001ED1C0  80 C3 01 64 */	lwz r6, 0x164(r3)
/* 801F1564 001ED1C4  2C 00 00 12 */	cmpwi r0, 0x12
/* 801F1568 001ED1C8  41 82 00 3C */	beq lbl_801F15A4
/* 801F156C 001ED1CC  4C 80 00 20 */	bgelr
/* 801F1570 001ED1D0  2C 00 00 11 */	cmpwi r0, 0x11
/* 801F1574 001ED1D4  4D 80 00 20 */	bltlr
/* 801F1578 001ED1D8  80 A3 01 78 */	lwz r5, 0x178(r3)
/* 801F157C 001ED1DC  2C 05 00 00 */	cmpwi r5, 0
/* 801F1580 001ED1E0  4D 82 00 20 */	beqlr
/* 801F1584 001ED1E4  80 06 00 10 */	lwz r0, 0x10(r6)
/* 801F1588 001ED1E8  7C 05 00 40 */	cmplw r5, r0
/* 801F158C 001ED1EC  4D 82 00 20 */	beqlr
/* 801F1590 001ED1F0  A0 04 00 04 */	lhz r0, 4(r4)
/* 801F1594 001ED1F4  7C 83 23 78 */	mr r3, r4
/* 801F1598 001ED1F8  54 00 10 3A */	slwi r0, r0, 2
/* 801F159C 001ED1FC  7C 85 02 14 */	add r4, r5, r0
/* 801F15A0 001ED200  4B FE FE A0 */	b func_801E1440
lbl_801F15A4:
/* 801F15A4 001ED204  80 63 01 7C */	lwz r3, 0x17c(r3)
/* 801F15A8 001ED208  2C 03 00 00 */	cmpwi r3, 0
/* 801F15AC 001ED20C  4D 82 00 20 */	beqlr
/* 801F15B0 001ED210  80 A6 00 14 */	lwz r5, 0x14(r6)
/* 801F15B4 001ED214  7C 03 28 40 */	cmplw r3, r5
/* 801F15B8 001ED218  4D 82 00 20 */	beqlr
/* 801F15BC 001ED21C  88 04 00 03 */	lbz r0, 3(r4)
/* 801F15C0 001ED220  54 00 18 38 */	slwi r0, r0, 3
/* 801F15C4 001ED224  7C C3 00 2E */	lwzx r6, r3, r0
/* 801F15C8 001ED228  7C 05 00 2E */	lwzx r0, r5, r0
/* 801F15CC 001ED22C  7C 06 00 40 */	cmplw r6, r0
/* 801F15D0 001ED230  4D 82 00 20 */	beqlr
/* 801F15D4 001ED234  A0 04 00 04 */	lhz r0, 4(r4)
/* 801F15D8 001ED238  7C 83 23 78 */	mr r3, r4
/* 801F15DC 001ED23C  54 00 18 38 */	slwi r0, r0, 3
/* 801F15E0 001ED240  7C 86 02 14 */	add r4, r6, r0
/* 801F15E4 001ED244  4B FE FD D4 */	b func_801E13B8
/* 801F15E8 001ED248  4E 80 00 20 */	blr

.global func_801F15EC
func_801F15EC:
/* 801F15EC 001ED24C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 801F15F0 001ED250  7C 08 02 A6 */	mflr r0
/* 801F15F4 001ED254  90 01 00 54 */	stw r0, 0x54(r1)
/* 801F15F8 001ED258  3C 00 43 30 */	lis r0, 0x4330
/* 801F15FC 001ED25C  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 801F1600 001ED260  7C 7F 1B 78 */	mr r31, r3
/* 801F1604 001ED264  80 C3 01 64 */	lwz r6, 0x164(r3)
/* 801F1608 001ED268  90 01 00 28 */	stw r0, 0x28(r1)
/* 801F160C 001ED26C  80 C6 00 1C */	lwz r6, 0x1c(r6)
/* 801F1610 001ED270  90 01 00 30 */	stw r0, 0x30(r1)
/* 801F1614 001ED274  A0 06 00 18 */	lhz r0, 0x18(r6)
/* 801F1618 001ED278  2C 00 00 00 */	cmpwi r0, 0
/* 801F161C 001ED27C  41 82 03 78 */	beq lbl_801F1994
/* 801F1620 001ED280  7C 04 00 00 */	cmpw r4, r0
/* 801F1624 001ED284  41 80 00 08 */	blt lbl_801F162C
/* 801F1628 001ED288  38 80 00 00 */	li r4, 0
lbl_801F162C:
/* 801F162C 001ED28C  80 C6 00 1C */	lwz r6, 0x1c(r6)
/* 801F1630 001ED290  54 80 18 38 */	slwi r0, r4, 3
/* 801F1634 001ED294  7C 86 02 2E */	lhzx r4, r6, r0
/* 801F1638 001ED298  7D 06 02 14 */	add r8, r6, r0
/* 801F163C 001ED29C  2C 04 00 00 */	cmpwi r4, 0
/* 801F1640 001ED2A0  41 82 03 54 */	beq lbl_801F1994
/* 801F1644 001ED2A4  88 08 00 02 */	lbz r0, 2(r8)
/* 801F1648 001ED2A8  C8 42 97 C8 */	lfd f2, lbl_80641DC8-_SDA2_BASE_(r2)
/* 801F164C 001ED2AC  90 01 00 2C */	stw r0, 0x2c(r1)
/* 801F1650 001ED2B0  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F1654 001ED2B4  EC 00 10 28 */	fsubs f0, f0, f2
/* 801F1658 001ED2B8  EC 00 00 72 */	fmuls f0, f0, f1
/* 801F165C 001ED2BC  FC 00 00 1E */	fctiwz f0, f0
/* 801F1660 001ED2C0  D8 01 00 38 */	stfd f0, 0x38(r1)
/* 801F1664 001ED2C4  81 21 00 3C */	lwz r9, 0x3c(r1)
/* 801F1668 001ED2C8  2C 09 00 00 */	cmpwi r9, 0
/* 801F166C 001ED2CC  40 80 00 0C */	bge lbl_801F1678
/* 801F1670 001ED2D0  39 20 00 00 */	li r9, 0
/* 801F1674 001ED2D4  48 00 00 10 */	b lbl_801F1684
lbl_801F1678:
/* 801F1678 001ED2D8  7C 09 20 00 */	cmpw r9, r4
/* 801F167C 001ED2DC  41 80 00 08 */	blt lbl_801F1684
/* 801F1680 001ED2E0  39 24 FF FF */	addi r9, r4, -1
lbl_801F1684:
/* 801F1684 001ED2E4  C0 22 97 D8 */	lfs f1, lbl_80641DD8-_SDA2_BASE_(r2)
/* 801F1688 001ED2E8  38 E0 00 00 */	li r7, 0
/* 801F168C 001ED2EC  C0 02 97 DC */	lfs f0, lbl_80641DDC-_SDA2_BASE_(r2)
/* 801F1690 001ED2F0  D0 21 00 08 */	stfs f1, 8(r1)
/* 801F1694 001ED2F4  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 801F1698 001ED2F8  D0 21 00 10 */	stfs f1, 0x10(r1)
/* 801F169C 001ED2FC  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 801F16A0 001ED300  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 801F16A4 001ED304  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 801F16A8 001ED308  90 E1 00 20 */	stw r7, 0x20(r1)
/* 801F16AC 001ED30C  88 C8 00 03 */	lbz r6, 3(r8)
/* 801F16B0 001ED310  54 C0 07 3E */	clrlwi r0, r6, 0x1c
/* 801F16B4 001ED314  2C 00 00 08 */	cmpwi r0, 8
/* 801F16B8 001ED318  41 82 00 A8 */	beq lbl_801F1760
/* 801F16BC 001ED31C  40 80 02 D8 */	bge lbl_801F1994
/* 801F16C0 001ED320  2C 00 00 00 */	cmpwi r0, 0
/* 801F16C4 001ED324  41 82 00 08 */	beq lbl_801F16CC
/* 801F16C8 001ED328  48 00 02 CC */	b lbl_801F1994
lbl_801F16CC:
/* 801F16CC 001ED32C  1C 09 00 18 */	mulli r0, r9, 0x18
/* 801F16D0 001ED330  80 88 00 04 */	lwz r4, 4(r8)
/* 801F16D4 001ED334  2C 05 00 00 */	cmpwi r5, 0
/* 801F16D8 001ED338  7C A4 02 14 */	add r5, r4, r0
/* 801F16DC 001ED33C  41 82 00 50 */	beq lbl_801F172C
/* 801F16E0 001ED340  C0 05 00 00 */	lfs f0, 0(r5)
/* 801F16E4 001ED344  38 81 00 08 */	addi r4, r1, 8
/* 801F16E8 001ED348  D0 01 00 08 */	stfs f0, 8(r1)
/* 801F16EC 001ED34C  C0 05 00 04 */	lfs f0, 4(r5)
/* 801F16F0 001ED350  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 801F16F4 001ED354  C0 05 00 08 */	lfs f0, 8(r5)
/* 801F16F8 001ED358  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801F16FC 001ED35C  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 801F1700 001ED360  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 801F1704 001ED364  C0 05 00 10 */	lfs f0, 0x10(r5)
/* 801F1708 001ED368  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 801F170C 001ED36C  C0 05 00 14 */	lfs f0, 0x14(r5)
/* 801F1710 001ED370  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 801F1714 001ED374  90 E3 01 20 */	stw r7, 0x120(r3)
/* 801F1718 001ED378  38 63 01 08 */	addi r3, r3, 0x108
/* 801F171C 001ED37C  48 02 F5 5D */	bl func_80220C78
/* 801F1720 001ED380  38 1F 00 D0 */	addi r0, r31, 0xd0
/* 801F1724 001ED384  90 1F 01 20 */	stw r0, 0x120(r31)
/* 801F1728 001ED388  48 00 02 6C */	b lbl_801F1994
lbl_801F172C:
/* 801F172C 001ED38C  C0 05 00 00 */	lfs f0, 0(r5)
/* 801F1730 001ED390  D0 03 01 08 */	stfs f0, 0x108(r3)
/* 801F1734 001ED394  C0 05 00 04 */	lfs f0, 4(r5)
/* 801F1738 001ED398  D0 03 01 0C */	stfs f0, 0x10c(r3)
/* 801F173C 001ED39C  C0 05 00 08 */	lfs f0, 8(r5)
/* 801F1740 001ED3A0  D0 03 01 10 */	stfs f0, 0x110(r3)
/* 801F1744 001ED3A4  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 801F1748 001ED3A8  D0 03 01 14 */	stfs f0, 0x114(r3)
/* 801F174C 001ED3AC  C0 05 00 10 */	lfs f0, 0x10(r5)
/* 801F1750 001ED3B0  D0 03 01 18 */	stfs f0, 0x118(r3)
/* 801F1754 001ED3B4  C0 05 00 14 */	lfs f0, 0x14(r5)
/* 801F1758 001ED3B8  D0 03 01 1C */	stfs f0, 0x11c(r3)
/* 801F175C 001ED3BC  48 00 02 38 */	b lbl_801F1994
lbl_801F1760:
/* 801F1760 001ED3C0  1C 09 00 0C */	mulli r0, r9, 0xc
/* 801F1764 001ED3C4  80 88 00 04 */	lwz r4, 4(r8)
/* 801F1768 001ED3C8  2C 05 00 00 */	cmpwi r5, 0
/* 801F176C 001ED3CC  54 C6 E7 3E */	rlwinm r6, r6, 0x1c, 0x1c, 0x1f
/* 801F1770 001ED3D0  7C A4 02 14 */	add r5, r4, r0
/* 801F1774 001ED3D4  41 82 01 20 */	beq lbl_801F1894
/* 801F1778 001ED3D8  A8 05 00 00 */	lha r0, 0(r5)
/* 801F177C 001ED3DC  38 80 00 01 */	li r4, 1
/* 801F1780 001ED3E0  7C 84 30 30 */	slw r4, r4, r6
/* 801F1784 001ED3E4  C8 C2 97 E8 */	lfd f6, lbl_80641DE8-_SDA2_BASE_(r2)
/* 801F1788 001ED3E8  6C 86 80 00 */	xoris r6, r4, 0x8000
/* 801F178C 001ED3EC  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1790 001ED3F0  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1794 001ED3F4  38 81 00 08 */	addi r4, r1, 8
/* 801F1798 001ED3F8  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 801F179C 001ED3FC  C8 21 00 30 */	lfd f1, 0x30(r1)
/* 801F17A0 001ED400  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F17A4 001ED404  EC 41 30 28 */	fsubs f2, f1, f6
/* 801F17A8 001ED408  EC 20 30 28 */	fsubs f1, f0, f6
/* 801F17AC 001ED40C  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 801F17B0 001ED410  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F17B4 001ED414  EC 62 08 24 */	fdivs f3, f2, f1
/* 801F17B8 001ED418  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 801F17BC 001ED41C  C8 41 00 28 */	lfd f2, 0x28(r1)
/* 801F17C0 001ED420  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 801F17C4 001ED424  C8 21 00 28 */	lfd f1, 0x28(r1)
/* 801F17C8 001ED428  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 801F17CC 001ED42C  D0 61 00 08 */	stfs f3, 8(r1)
/* 801F17D0 001ED430  EC 80 30 28 */	fsubs f4, f0, f6
/* 801F17D4 001ED434  EC 62 30 28 */	fsubs f3, f2, f6
/* 801F17D8 001ED438  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F17DC 001ED43C  A8 05 00 02 */	lha r0, 2(r5)
/* 801F17E0 001ED440  EC 41 30 28 */	fsubs f2, f1, f6
/* 801F17E4 001ED444  EC 20 30 28 */	fsubs f1, f0, f6
/* 801F17E8 001ED448  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F17EC 001ED44C  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F17F0 001ED450  C8 A1 00 30 */	lfd f5, 0x30(r1)
/* 801F17F4 001ED454  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 801F17F8 001ED458  EC A5 30 28 */	fsubs f5, f5, f6
/* 801F17FC 001ED45C  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F1800 001ED460  EC 85 20 24 */	fdivs f4, f5, f4
/* 801F1804 001ED464  D0 81 00 0C */	stfs f4, 0xc(r1)
/* 801F1808 001ED468  EC 00 30 28 */	fsubs f0, f0, f6
/* 801F180C 001ED46C  A8 05 00 04 */	lha r0, 4(r5)
/* 801F1810 001ED470  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1814 001ED474  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1818 001ED478  C8 81 00 30 */	lfd f4, 0x30(r1)
/* 801F181C 001ED47C  EC 84 30 28 */	fsubs f4, f4, f6
/* 801F1820 001ED480  EC 64 18 24 */	fdivs f3, f4, f3
/* 801F1824 001ED484  D0 61 00 10 */	stfs f3, 0x10(r1)
/* 801F1828 001ED488  A8 05 00 06 */	lha r0, 6(r5)
/* 801F182C 001ED48C  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1830 001ED490  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1834 001ED494  C8 61 00 30 */	lfd f3, 0x30(r1)
/* 801F1838 001ED498  EC 63 30 28 */	fsubs f3, f3, f6
/* 801F183C 001ED49C  EC 43 10 24 */	fdivs f2, f3, f2
/* 801F1840 001ED4A0  D0 41 00 14 */	stfs f2, 0x14(r1)
/* 801F1844 001ED4A4  A8 05 00 08 */	lha r0, 8(r5)
/* 801F1848 001ED4A8  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F184C 001ED4AC  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1850 001ED4B0  C8 41 00 30 */	lfd f2, 0x30(r1)
/* 801F1854 001ED4B4  EC 42 30 28 */	fsubs f2, f2, f6
/* 801F1858 001ED4B8  EC 22 08 24 */	fdivs f1, f2, f1
/* 801F185C 001ED4BC  D0 21 00 18 */	stfs f1, 0x18(r1)
/* 801F1860 001ED4C0  A8 05 00 0A */	lha r0, 0xa(r5)
/* 801F1864 001ED4C4  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1868 001ED4C8  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F186C 001ED4CC  C8 21 00 30 */	lfd f1, 0x30(r1)
/* 801F1870 001ED4D0  EC 21 30 28 */	fsubs f1, f1, f6
/* 801F1874 001ED4D4  EC 01 00 24 */	fdivs f0, f1, f0
/* 801F1878 001ED4D8  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 801F187C 001ED4DC  90 E3 01 20 */	stw r7, 0x120(r3)
/* 801F1880 001ED4E0  38 63 01 08 */	addi r3, r3, 0x108
/* 801F1884 001ED4E4  48 02 F3 F5 */	bl func_80220C78
/* 801F1888 001ED4E8  38 1F 00 D0 */	addi r0, r31, 0xd0
/* 801F188C 001ED4EC  90 1F 01 20 */	stw r0, 0x120(r31)
/* 801F1890 001ED4F0  48 00 01 04 */	b lbl_801F1994
lbl_801F1894:
/* 801F1894 001ED4F4  A8 05 00 00 */	lha r0, 0(r5)
/* 801F1898 001ED4F8  38 80 00 01 */	li r4, 1
/* 801F189C 001ED4FC  7C 84 30 30 */	slw r4, r4, r6
/* 801F18A0 001ED500  C8 C2 97 E8 */	lfd f6, lbl_80641DE8-_SDA2_BASE_(r2)
/* 801F18A4 001ED504  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F18A8 001ED508  6C 84 80 00 */	xoris r4, r4, 0x8000
/* 801F18AC 001ED50C  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F18B0 001ED510  90 81 00 2C */	stw r4, 0x2c(r1)
/* 801F18B4 001ED514  C8 21 00 30 */	lfd f1, 0x30(r1)
/* 801F18B8 001ED518  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F18BC 001ED51C  EC 41 30 28 */	fsubs f2, f1, f6
/* 801F18C0 001ED520  EC 20 30 28 */	fsubs f1, f0, f6
/* 801F18C4 001ED524  90 81 00 2C */	stw r4, 0x2c(r1)
/* 801F18C8 001ED528  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F18CC 001ED52C  EC 62 08 24 */	fdivs f3, f2, f1
/* 801F18D0 001ED530  90 81 00 2C */	stw r4, 0x2c(r1)
/* 801F18D4 001ED534  C8 41 00 28 */	lfd f2, 0x28(r1)
/* 801F18D8 001ED538  90 81 00 2C */	stw r4, 0x2c(r1)
/* 801F18DC 001ED53C  C8 21 00 28 */	lfd f1, 0x28(r1)
/* 801F18E0 001ED540  90 81 00 2C */	stw r4, 0x2c(r1)
/* 801F18E4 001ED544  D0 63 01 08 */	stfs f3, 0x108(r3)
/* 801F18E8 001ED548  EC 80 30 28 */	fsubs f4, f0, f6
/* 801F18EC 001ED54C  EC 62 30 28 */	fsubs f3, f2, f6
/* 801F18F0 001ED550  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F18F4 001ED554  A8 05 00 02 */	lha r0, 2(r5)
/* 801F18F8 001ED558  EC 41 30 28 */	fsubs f2, f1, f6
/* 801F18FC 001ED55C  EC 20 30 28 */	fsubs f1, f0, f6
/* 801F1900 001ED560  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1904 001ED564  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1908 001ED568  C8 A1 00 30 */	lfd f5, 0x30(r1)
/* 801F190C 001ED56C  90 81 00 2C */	stw r4, 0x2c(r1)
/* 801F1910 001ED570  EC A5 30 28 */	fsubs f5, f5, f6
/* 801F1914 001ED574  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 801F1918 001ED578  EC 85 20 24 */	fdivs f4, f5, f4
/* 801F191C 001ED57C  D0 83 01 0C */	stfs f4, 0x10c(r3)
/* 801F1920 001ED580  EC 00 30 28 */	fsubs f0, f0, f6
/* 801F1924 001ED584  A8 05 00 04 */	lha r0, 4(r5)
/* 801F1928 001ED588  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F192C 001ED58C  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1930 001ED590  C8 81 00 30 */	lfd f4, 0x30(r1)
/* 801F1934 001ED594  EC 84 30 28 */	fsubs f4, f4, f6
/* 801F1938 001ED598  EC 64 18 24 */	fdivs f3, f4, f3
/* 801F193C 001ED59C  D0 63 01 10 */	stfs f3, 0x110(r3)
/* 801F1940 001ED5A0  A8 05 00 06 */	lha r0, 6(r5)
/* 801F1944 001ED5A4  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1948 001ED5A8  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F194C 001ED5AC  C8 61 00 30 */	lfd f3, 0x30(r1)
/* 801F1950 001ED5B0  EC 63 30 28 */	fsubs f3, f3, f6
/* 801F1954 001ED5B4  EC 43 10 24 */	fdivs f2, f3, f2
/* 801F1958 001ED5B8  D0 43 01 14 */	stfs f2, 0x114(r3)
/* 801F195C 001ED5BC  A8 05 00 08 */	lha r0, 8(r5)
/* 801F1960 001ED5C0  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1964 001ED5C4  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1968 001ED5C8  C8 41 00 30 */	lfd f2, 0x30(r1)
/* 801F196C 001ED5CC  EC 42 30 28 */	fsubs f2, f2, f6
/* 801F1970 001ED5D0  EC 22 08 24 */	fdivs f1, f2, f1
/* 801F1974 001ED5D4  D0 23 01 18 */	stfs f1, 0x118(r3)
/* 801F1978 001ED5D8  A8 05 00 0A */	lha r0, 0xa(r5)
/* 801F197C 001ED5DC  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801F1980 001ED5E0  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F1984 001ED5E4  C8 21 00 30 */	lfd f1, 0x30(r1)
/* 801F1988 001ED5E8  EC 21 30 28 */	fsubs f1, f1, f6
/* 801F198C 001ED5EC  EC 01 00 24 */	fdivs f0, f1, f0
/* 801F1990 001ED5F0  D0 03 01 1C */	stfs f0, 0x11c(r3)
lbl_801F1994:
/* 801F1994 001ED5F4  80 01 00 54 */	lwz r0, 0x54(r1)
/* 801F1998 001ED5F8  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 801F199C 001ED5FC  7C 08 03 A6 */	mtlr r0
/* 801F19A0 001ED600  38 21 00 50 */	addi r1, r1, 0x50
/* 801F19A4 001ED604  4E 80 00 20 */	blr

.global func_801F19A8
func_801F19A8:
/* 801F19A8 001ED608  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801F19AC 001ED60C  7C 08 02 A6 */	mflr r0
/* 801F19B0 001ED610  80 C3 01 64 */	lwz r6, 0x164(r3)
/* 801F19B4 001ED614  90 01 00 34 */	stw r0, 0x34(r1)
/* 801F19B8 001ED618  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 801F19BC 001ED61C  7C BF 2B 78 */	mr r31, r5
/* 801F19C0 001ED620  93 C1 00 28 */	stw r30, 0x28(r1)
/* 801F19C4 001ED624  7C 9E 23 78 */	mr r30, r4
/* 801F19C8 001ED628  93 A1 00 24 */	stw r29, 0x24(r1)
/* 801F19CC 001ED62C  7C 7D 1B 78 */	mr r29, r3
/* 801F19D0 001ED630  80 86 00 20 */	lwz r4, 0x20(r6)
/* 801F19D4 001ED634  80 84 00 00 */	lwz r4, 0(r4)
/* 801F19D8 001ED638  2C 04 00 00 */	cmpwi r4, 0
/* 801F19DC 001ED63C  41 82 00 2C */	beq lbl_801F1A08
/* 801F19E0 001ED640  38 A1 00 08 */	addi r5, r1, 8
/* 801F19E4 001ED644  38 63 00 D0 */	addi r3, r3, 0xd0
/* 801F19E8 001ED648  48 08 B0 15 */	bl PSMTXMultVec
/* 801F19EC 001ED64C  C0 41 00 08 */	lfs f2, 8(r1)
/* 801F19F0 001ED650  C0 21 00 0C */	lfs f1, 0xc(r1)
/* 801F19F4 001ED654  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 801F19F8 001ED658  D0 41 00 14 */	stfs f2, 0x14(r1)
/* 801F19FC 001ED65C  D0 21 00 18 */	stfs f1, 0x18(r1)
/* 801F1A00 001ED660  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 801F1A04 001ED664  48 00 00 1C */	b lbl_801F1A20
lbl_801F1A08:
/* 801F1A08 001ED668  C0 43 01 24 */	lfs f2, 0x124(r3)
/* 801F1A0C 001ED66C  C0 23 01 28 */	lfs f1, 0x128(r3)
/* 801F1A10 001ED670  C0 03 01 2C */	lfs f0, 0x12c(r3)
/* 801F1A14 001ED674  D0 41 00 14 */	stfs f2, 0x14(r1)
/* 801F1A18 001ED678  D0 21 00 18 */	stfs f1, 0x18(r1)
/* 801F1A1C 001ED67C  D0 01 00 1C */	stfs f0, 0x1c(r1)
lbl_801F1A20:
/* 801F1A20 001ED680  38 61 00 14 */	addi r3, r1, 0x14
/* 801F1A24 001ED684  7F C4 F3 78 */	mr r4, r30
/* 801F1A28 001ED688  7C 65 1B 78 */	mr r5, r3
/* 801F1A2C 001ED68C  48 08 B2 BD */	bl PSVECSubtract
/* 801F1A30 001ED690  7F E4 FB 78 */	mr r4, r31
/* 801F1A34 001ED694  38 61 00 14 */	addi r3, r1, 0x14
/* 801F1A38 001ED698  48 08 B3 91 */	bl PSQUATDotProduct
/* 801F1A3C 001ED69C  80 7D 01 64 */	lwz r3, 0x164(r29)
/* 801F1A40 001ED6A0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 801F1A44 001ED6A4  80 63 00 20 */	lwz r3, 0x20(r3)
/* 801F1A48 001ED6A8  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 801F1A4C 001ED6AC  C0 03 00 04 */	lfs f0, 4(r3)
/* 801F1A50 001ED6B0  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 801F1A54 001ED6B4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801F1A58 001ED6B8  EC 20 08 2A */	fadds f1, f0, f1
/* 801F1A5C 001ED6BC  7C 08 03 A6 */	mtlr r0
/* 801F1A60 001ED6C0  38 21 00 30 */	addi r1, r1, 0x30
/* 801F1A64 001ED6C4  4E 80 00 20 */	blr

.global func_801F1A68
func_801F1A68:
/* 801F1A68 001ED6C8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801F1A6C 001ED6CC  7C 08 02 A6 */	mflr r0
/* 801F1A70 001ED6D0  38 60 00 01 */	li r3, 1
/* 801F1A74 001ED6D4  38 8D A1 00 */	addi r4, r13, lbl_8063F3C0-_SDA_BASE_
/* 801F1A78 001ED6D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 801F1A7C 001ED6DC  38 A0 00 04 */	li r5, 4
/* 801F1A80 001ED6E0  38 00 00 00 */	li r0, 0
/* 801F1A84 001ED6E4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801F1A88 001ED6E8  3F E0 80 49 */	lis r31, lbl_804919B0@ha
/* 801F1A8C 001ED6EC  3B FF 19 B0 */	addi r31, r31, lbl_804919B0@l
/* 801F1A90 001ED6F0  98 6D A1 00 */	stb r3, lbl_8063F3C0-_SDA_BASE_(r13)
/* 801F1A94 001ED6F4  38 7F 00 00 */	addi r3, r31, 0
/* 801F1A98 001ED6F8  B0 A4 00 02 */	sth r5, 2(r4)
/* 801F1A9C 001ED6FC  98 04 00 04 */	stb r0, 4(r4)
/* 801F1AA0 001ED700  4B FE FC A5 */	bl func_801E1744
/* 801F1AA4 001ED704  38 7F 00 8C */	addi r3, r31, 0x8c
/* 801F1AA8 001ED708  38 80 00 00 */	li r4, 0
/* 801F1AAC 001ED70C  4B FE FB E1 */	bl func_801E168C
/* 801F1AB0 001ED710  38 7F 00 B8 */	addi r3, r31, 0xb8
/* 801F1AB4 001ED714  38 9F 00 00 */	addi r4, r31, 0
/* 801F1AB8 001ED718  38 BF 00 8C */	addi r5, r31, 0x8c
/* 801F1ABC 001ED71C  4B FF 51 3D */	bl func_801E6BF8
/* 801F1AC0 001ED720  3C 80 80 1E */	lis r4, lbl_801E6E44@ha
/* 801F1AC4 001ED724  38 7F 00 B8 */	addi r3, r31, 0xb8
/* 801F1AC8 001ED728  38 84 6E 44 */	addi r4, r4, lbl_801E6E44@l
/* 801F1ACC 001ED72C  38 BF 00 A8 */	addi r5, r31, 0xa8
/* 801F1AD0 001ED730  4B FD 51 79 */	bl __register_global_object_tmp
/* 801F1AD4 001ED734  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801F1AD8 001ED738  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801F1ADC 001ED73C  7C 08 03 A6 */	mtlr r0
/* 801F1AE0 001ED740  38 21 00 10 */	addi r1, r1, 0x10
/* 801F1AE4 001ED744  4E 80 00 20 */	blr