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 PSVECDotProduct
/* 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 PSVECDotProduct
/* 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 PSVECDotProduct
/* 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
|