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
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_801CA7B0
func_801CA7B0:
/* 801CA7B0 001C6410 3C 60 80 1C */ lis r3, func_801C7894@ha
/* 801CA7B4 001C6414 38 63 78 94 */ addi r3, r3, func_801C7894@l
/* 801CA7B8 001C6418 90 6D 9F D8 */ stw r3, lbl_8063F298-_SDA_BASE_(r13)
/* 801CA7BC 001C641C 4E 80 00 20 */ blr
.global func_801CA7C0
func_801CA7C0:
/* 801CA7C0 001C6420 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801CA7C4 001C6424 7C 08 02 A6 */ mflr r0
/* 801CA7C8 001C6428 38 E0 00 00 */ li r7, 0
/* 801CA7CC 001C642C 88 C3 00 01 */ lbz r6, 1(r3)
/* 801CA7D0 001C6430 90 01 00 34 */ stw r0, 0x34(r1)
/* 801CA7D4 001C6434 39 00 00 01 */ li r8, 1
/* 801CA7D8 001C6438 7C C6 07 74 */ extsb r6, r6
/* 801CA7DC 001C643C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801CA7E0 001C6440 2C 06 00 25 */ cmpwi r6, 0x25
/* 801CA7E4 001C6444 3B E3 00 01 */ addi r31, r3, 1
/* 801CA7E8 001C6448 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801CA7EC 001C644C 7C BE 2B 78 */ mr r30, r5
/* 801CA7F0 001C6450 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801CA7F4 001C6454 7C 9D 23 78 */ mr r29, r4
/* 801CA7F8 001C6458 98 E1 00 09 */ stb r7, 9(r1)
/* 801CA7FC 001C645C 99 01 00 08 */ stb r8, 8(r1)
/* 801CA800 001C6460 98 E1 00 0A */ stb r7, 0xa(r1)
/* 801CA804 001C6464 98 E1 00 0B */ stb r7, 0xb(r1)
/* 801CA808 001C6468 98 E1 00 0C */ stb r7, 0xc(r1)
/* 801CA80C 001C646C 90 E1 00 10 */ stw r7, 0x10(r1)
/* 801CA810 001C6470 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801CA814 001C6474 40 82 00 28 */ bne lbl_801CA83C
/* 801CA818 001C6478 98 C1 00 0D */ stb r6, 0xd(r1)
/* 801CA81C 001C647C 38 7F 00 01 */ addi r3, r31, 1
/* 801CA820 001C6480 80 81 00 08 */ lwz r4, 8(r1)
/* 801CA824 001C6484 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801CA828 001C6488 90 85 00 00 */ stw r4, 0(r5)
/* 801CA82C 001C648C 90 05 00 04 */ stw r0, 4(r5)
/* 801CA830 001C6490 90 E5 00 08 */ stw r7, 8(r5)
/* 801CA834 001C6494 90 E5 00 0C */ stw r7, 0xc(r5)
/* 801CA838 001C6498 48 00 05 68 */ b lbl_801CADA0
lbl_801CA83C:
/* 801CA83C 001C649C 3C 80 80 42 */ lis r4, 0x8042
/* 801CA840 001C64A0 38 00 00 02 */ li r0, 2
lbl_801CA844:
/* 801CA844 001C64A4 38 A6 FF E0 */ addi r5, r6, -32
/* 801CA848 001C64A8 39 20 00 01 */ li r9, 1
/* 801CA84C 001C64AC 28 05 00 10 */ cmplwi r5, 0x10
/* 801CA850 001C64B0 41 81 00 58 */ bgt lbl_801CA8A8
/* 801CA854 001C64B4 38 64 2E 70 */ addi r3, r4, 0x2e70
/* 801CA858 001C64B8 54 A5 10 3A */ slwi r5, r5, 2
/* 801CA85C 001C64BC 7C 63 28 2E */ lwzx r3, r3, r5
/* 801CA860 001C64C0 7C 69 03 A6 */ mtctr r3
/* 801CA864 001C64C4 4E 80 04 20 */ bctr
/* 801CA868 001C64C8 98 E1 00 08 */ stb r7, 8(r1)
/* 801CA86C 001C64CC 48 00 00 40 */ b lbl_801CA8AC
/* 801CA870 001C64D0 99 01 00 09 */ stb r8, 9(r1)
/* 801CA874 001C64D4 48 00 00 38 */ b lbl_801CA8AC
/* 801CA878 001C64D8 88 61 00 09 */ lbz r3, 9(r1)
/* 801CA87C 001C64DC 28 03 00 01 */ cmplwi r3, 1
/* 801CA880 001C64E0 41 82 00 2C */ beq lbl_801CA8AC
/* 801CA884 001C64E4 98 01 00 09 */ stb r0, 9(r1)
/* 801CA888 001C64E8 48 00 00 24 */ b lbl_801CA8AC
/* 801CA88C 001C64EC 99 01 00 0B */ stb r8, 0xb(r1)
/* 801CA890 001C64F0 48 00 00 1C */ b lbl_801CA8AC
/* 801CA894 001C64F4 88 61 00 08 */ lbz r3, 8(r1)
/* 801CA898 001C64F8 2C 03 00 00 */ cmpwi r3, 0
/* 801CA89C 001C64FC 41 82 00 10 */ beq lbl_801CA8AC
/* 801CA8A0 001C6500 98 01 00 08 */ stb r0, 8(r1)
/* 801CA8A4 001C6504 48 00 00 08 */ b lbl_801CA8AC
lbl_801CA8A8:
/* 801CA8A8 001C6508 39 20 00 00 */ li r9, 0
lbl_801CA8AC:
/* 801CA8AC 001C650C 2C 09 00 00 */ cmpwi r9, 0
/* 801CA8B0 001C6510 41 82 00 10 */ beq lbl_801CA8C0
/* 801CA8B4 001C6514 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CA8B8 001C6518 7C C6 07 74 */ extsb r6, r6
/* 801CA8BC 001C651C 4B FF FF 88 */ b lbl_801CA844
lbl_801CA8C0:
/* 801CA8C0 001C6520 2C 06 00 2A */ cmpwi r6, 0x2a
/* 801CA8C4 001C6524 40 82 00 3C */ bne lbl_801CA900
/* 801CA8C8 001C6528 7F A3 EB 78 */ mr r3, r29
/* 801CA8CC 001C652C 38 80 00 01 */ li r4, 1
/* 801CA8D0 001C6530 4B FF C2 B1 */ bl func_801C6B80
/* 801CA8D4 001C6534 80 03 00 00 */ lwz r0, 0(r3)
/* 801CA8D8 001C6538 2C 00 00 00 */ cmpwi r0, 0
/* 801CA8DC 001C653C 90 01 00 10 */ stw r0, 0x10(r1)
/* 801CA8E0 001C6540 40 80 00 14 */ bge lbl_801CA8F4
/* 801CA8E4 001C6544 7C 00 00 D0 */ neg r0, r0
/* 801CA8E8 001C6548 38 60 00 00 */ li r3, 0
/* 801CA8EC 001C654C 98 61 00 08 */ stb r3, 8(r1)
/* 801CA8F0 001C6550 90 01 00 10 */ stw r0, 0x10(r1)
lbl_801CA8F4:
/* 801CA8F4 001C6554 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CA8F8 001C6558 7C C6 07 74 */ extsb r6, r6
/* 801CA8FC 001C655C 48 00 00 70 */ b lbl_801CA96C
lbl_801CA900:
/* 801CA900 001C6560 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CA904 001C6564 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 801CA908 001C6568 80 83 00 38 */ lwz r4, 0x38(r3)
/* 801CA90C 001C656C 48 00 00 20 */ b lbl_801CA92C
lbl_801CA910:
/* 801CA910 001C6570 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801CA914 001C6574 1C 00 00 0A */ mulli r0, r0, 0xa
/* 801CA918 001C6578 7C 66 02 14 */ add r3, r6, r0
/* 801CA91C 001C657C 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CA920 001C6580 38 03 FF D0 */ addi r0, r3, -48
/* 801CA924 001C6584 90 01 00 10 */ stw r0, 0x10(r1)
/* 801CA928 001C6588 7C C6 07 74 */ extsb r6, r6
lbl_801CA92C:
/* 801CA92C 001C658C 2C 06 00 00 */ cmpwi r6, 0
/* 801CA930 001C6590 38 00 00 00 */ li r0, 0
/* 801CA934 001C6594 41 80 00 0C */ blt lbl_801CA940
/* 801CA938 001C6598 2C 06 01 00 */ cmpwi r6, 0x100
/* 801CA93C 001C659C 41 80 00 08 */ blt lbl_801CA944
lbl_801CA940:
/* 801CA940 001C65A0 38 00 00 01 */ li r0, 1
lbl_801CA944:
/* 801CA944 001C65A4 2C 00 00 00 */ cmpwi r0, 0
/* 801CA948 001C65A8 41 82 00 0C */ beq lbl_801CA954
/* 801CA94C 001C65AC 38 00 00 00 */ li r0, 0
/* 801CA950 001C65B0 48 00 00 14 */ b lbl_801CA964
lbl_801CA954:
/* 801CA954 001C65B4 80 64 00 08 */ lwz r3, 8(r4)
/* 801CA958 001C65B8 54 C0 08 3C */ slwi r0, r6, 1
/* 801CA95C 001C65BC 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CA960 001C65C0 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CA964:
/* 801CA964 001C65C4 2C 00 00 00 */ cmpwi r0, 0
/* 801CA968 001C65C8 40 82 FF A8 */ bne lbl_801CA910
lbl_801CA96C:
/* 801CA96C 001C65CC 80 E1 00 10 */ lwz r7, 0x10(r1)
/* 801CA970 001C65D0 2C 07 01 FD */ cmpwi r7, 0x1fd
/* 801CA974 001C65D4 40 81 00 30 */ ble lbl_801CA9A4
/* 801CA978 001C65D8 38 00 00 FF */ li r0, 0xff
/* 801CA97C 001C65DC 80 A1 00 08 */ lwz r5, 8(r1)
/* 801CA980 001C65E0 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CA984 001C65E4 38 7F 00 01 */ addi r3, r31, 1
/* 801CA988 001C65E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CA98C 001C65EC 80 81 00 0C */ lwz r4, 0xc(r1)
/* 801CA990 001C65F0 90 BE 00 00 */ stw r5, 0(r30)
/* 801CA994 001C65F4 90 9E 00 04 */ stw r4, 4(r30)
/* 801CA998 001C65F8 90 FE 00 08 */ stw r7, 8(r30)
/* 801CA99C 001C65FC 90 1E 00 0C */ stw r0, 0xc(r30)
/* 801CA9A0 001C6600 48 00 04 00 */ b lbl_801CADA0
lbl_801CA9A4:
/* 801CA9A4 001C6604 2C 06 00 2E */ cmpwi r6, 0x2e
/* 801CA9A8 001C6608 40 82 00 B8 */ bne lbl_801CAA60
/* 801CA9AC 001C660C 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CA9B0 001C6610 38 00 00 01 */ li r0, 1
/* 801CA9B4 001C6614 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CA9B8 001C6618 7C C6 07 74 */ extsb r6, r6
/* 801CA9BC 001C661C 2C 06 00 2A */ cmpwi r6, 0x2a
/* 801CA9C0 001C6620 40 82 00 34 */ bne lbl_801CA9F4
/* 801CA9C4 001C6624 7F A3 EB 78 */ mr r3, r29
/* 801CA9C8 001C6628 38 80 00 01 */ li r4, 1
/* 801CA9CC 001C662C 4B FF C1 B5 */ bl func_801C6B80
/* 801CA9D0 001C6630 80 03 00 00 */ lwz r0, 0(r3)
/* 801CA9D4 001C6634 2C 00 00 00 */ cmpwi r0, 0
/* 801CA9D8 001C6638 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CA9DC 001C663C 40 80 00 0C */ bge lbl_801CA9E8
/* 801CA9E0 001C6640 38 00 00 00 */ li r0, 0
/* 801CA9E4 001C6644 98 01 00 0A */ stb r0, 0xa(r1)
lbl_801CA9E8:
/* 801CA9E8 001C6648 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CA9EC 001C664C 7C C6 07 74 */ extsb r6, r6
/* 801CA9F0 001C6650 48 00 00 70 */ b lbl_801CAA60
lbl_801CA9F4:
/* 801CA9F4 001C6654 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CA9F8 001C6658 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 801CA9FC 001C665C 80 83 00 38 */ lwz r4, 0x38(r3)
/* 801CAA00 001C6660 48 00 00 20 */ b lbl_801CAA20
lbl_801CAA04:
/* 801CAA04 001C6664 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CAA08 001C6668 1C 00 00 0A */ mulli r0, r0, 0xa
/* 801CAA0C 001C666C 7C 66 02 14 */ add r3, r6, r0
/* 801CAA10 001C6670 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CAA14 001C6674 38 03 FF D0 */ addi r0, r3, -48
/* 801CAA18 001C6678 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CAA1C 001C667C 7C C6 07 74 */ extsb r6, r6
lbl_801CAA20:
/* 801CAA20 001C6680 2C 06 00 00 */ cmpwi r6, 0
/* 801CAA24 001C6684 38 00 00 00 */ li r0, 0
/* 801CAA28 001C6688 41 80 00 0C */ blt lbl_801CAA34
/* 801CAA2C 001C668C 2C 06 01 00 */ cmpwi r6, 0x100
/* 801CAA30 001C6690 41 80 00 08 */ blt lbl_801CAA38
lbl_801CAA34:
/* 801CAA34 001C6694 38 00 00 01 */ li r0, 1
lbl_801CAA38:
/* 801CAA38 001C6698 2C 00 00 00 */ cmpwi r0, 0
/* 801CAA3C 001C669C 41 82 00 0C */ beq lbl_801CAA48
/* 801CAA40 001C66A0 38 00 00 00 */ li r0, 0
/* 801CAA44 001C66A4 48 00 00 14 */ b lbl_801CAA58
lbl_801CAA48:
/* 801CAA48 001C66A8 80 64 00 08 */ lwz r3, 8(r4)
/* 801CAA4C 001C66AC 54 C0 08 3C */ slwi r0, r6, 1
/* 801CAA50 001C66B0 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CAA54 001C66B4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CAA58:
/* 801CAA58 001C66B8 2C 00 00 00 */ cmpwi r0, 0
/* 801CAA5C 001C66BC 40 82 FF A8 */ bne lbl_801CAA04
lbl_801CAA60:
/* 801CAA60 001C66C0 2C 06 00 6B */ cmpwi r6, 0x6b
/* 801CAA64 001C66C4 38 80 00 01 */ li r4, 1
/* 801CAA68 001C66C8 41 82 00 D8 */ beq lbl_801CAB40
/* 801CAA6C 001C66CC 40 80 00 28 */ bge lbl_801CAA94
/* 801CAA70 001C66D0 2C 06 00 68 */ cmpwi r6, 0x68
/* 801CAA74 001C66D4 41 82 00 44 */ beq lbl_801CAAB8
/* 801CAA78 001C66D8 40 80 00 10 */ bge lbl_801CAA88
/* 801CAA7C 001C66DC 2C 06 00 4C */ cmpwi r6, 0x4c
/* 801CAA80 001C66E0 41 82 00 90 */ beq lbl_801CAB10
/* 801CAA84 001C66E4 48 00 00 BC */ b lbl_801CAB40
lbl_801CAA88:
/* 801CAA88 001C66E8 2C 06 00 6A */ cmpwi r6, 0x6a
/* 801CAA8C 001C66EC 40 80 00 90 */ bge lbl_801CAB1C
/* 801CAA90 001C66F0 48 00 00 B0 */ b lbl_801CAB40
lbl_801CAA94:
/* 801CAA94 001C66F4 2C 06 00 74 */ cmpwi r6, 0x74
/* 801CAA98 001C66F8 41 82 00 90 */ beq lbl_801CAB28
/* 801CAA9C 001C66FC 40 80 00 10 */ bge lbl_801CAAAC
/* 801CAAA0 001C6700 2C 06 00 6D */ cmpwi r6, 0x6d
/* 801CAAA4 001C6704 40 80 00 9C */ bge lbl_801CAB40
/* 801CAAA8 001C6708 48 00 00 3C */ b lbl_801CAAE4
lbl_801CAAAC:
/* 801CAAAC 001C670C 2C 06 00 7A */ cmpwi r6, 0x7a
/* 801CAAB0 001C6710 41 82 00 84 */ beq lbl_801CAB34
/* 801CAAB4 001C6714 48 00 00 8C */ b lbl_801CAB40
lbl_801CAAB8:
/* 801CAAB8 001C6718 88 1F 00 01 */ lbz r0, 1(r31)
/* 801CAABC 001C671C 38 60 00 02 */ li r3, 2
/* 801CAAC0 001C6720 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CAAC4 001C6724 7C 03 07 74 */ extsb r3, r0
/* 801CAAC8 001C6728 2C 03 00 68 */ cmpwi r3, 0x68
/* 801CAACC 001C672C 40 82 00 78 */ bne lbl_801CAB44
/* 801CAAD0 001C6730 38 00 00 01 */ li r0, 1
/* 801CAAD4 001C6734 7C 66 1B 78 */ mr r6, r3
/* 801CAAD8 001C6738 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAADC 001C673C 3B FF 00 01 */ addi r31, r31, 1
/* 801CAAE0 001C6740 48 00 00 64 */ b lbl_801CAB44
lbl_801CAAE4:
/* 801CAAE4 001C6744 88 1F 00 01 */ lbz r0, 1(r31)
/* 801CAAE8 001C6748 38 60 00 03 */ li r3, 3
/* 801CAAEC 001C674C 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CAAF0 001C6750 7C 03 07 74 */ extsb r3, r0
/* 801CAAF4 001C6754 2C 03 00 6C */ cmpwi r3, 0x6c
/* 801CAAF8 001C6758 40 82 00 4C */ bne lbl_801CAB44
/* 801CAAFC 001C675C 38 00 00 04 */ li r0, 4
/* 801CAB00 001C6760 7C 66 1B 78 */ mr r6, r3
/* 801CAB04 001C6764 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAB08 001C6768 3B FF 00 01 */ addi r31, r31, 1
/* 801CAB0C 001C676C 48 00 00 38 */ b lbl_801CAB44
lbl_801CAB10:
/* 801CAB10 001C6770 38 00 00 09 */ li r0, 9
/* 801CAB14 001C6774 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAB18 001C6778 48 00 00 2C */ b lbl_801CAB44
lbl_801CAB1C:
/* 801CAB1C 001C677C 38 00 00 06 */ li r0, 6
/* 801CAB20 001C6780 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAB24 001C6784 48 00 00 20 */ b lbl_801CAB44
lbl_801CAB28:
/* 801CAB28 001C6788 38 00 00 08 */ li r0, 8
/* 801CAB2C 001C678C 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAB30 001C6790 48 00 00 14 */ b lbl_801CAB44
lbl_801CAB34:
/* 801CAB34 001C6794 38 00 00 07 */ li r0, 7
/* 801CAB38 001C6798 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAB3C 001C679C 48 00 00 08 */ b lbl_801CAB44
lbl_801CAB40:
/* 801CAB40 001C67A0 38 80 00 00 */ li r4, 0
lbl_801CAB44:
/* 801CAB44 001C67A4 2C 04 00 00 */ cmpwi r4, 0
/* 801CAB48 001C67A8 41 82 00 0C */ beq lbl_801CAB54
/* 801CAB4C 001C67AC 8C DF 00 01 */ lbzu r6, 1(r31)
/* 801CAB50 001C67B0 7C C6 07 74 */ extsb r6, r6
lbl_801CAB54:
/* 801CAB54 001C67B4 38 06 FF BF */ addi r0, r6, -65
/* 801CAB58 001C67B8 98 C1 00 0D */ stb r6, 0xd(r1)
/* 801CAB5C 001C67BC 28 00 00 37 */ cmplwi r0, 0x37
/* 801CAB60 001C67C0 41 81 02 14 */ bgt lbl_801CAD74
/* 801CAB64 001C67C4 3C 60 80 42 */ lis r3, lbl_80422D90@ha
/* 801CAB68 001C67C8 54 00 10 3A */ slwi r0, r0, 2
/* 801CAB6C 001C67CC 38 63 2D 90 */ addi r3, r3, lbl_80422D90@l
/* 801CAB70 001C67D0 7C 63 00 2E */ lwzx r3, r3, r0
/* 801CAB74 001C67D4 7C 69 03 A6 */ mtctr r3
/* 801CAB78 001C67D8 4E 80 04 20 */ bctr
/* 801CAB7C 001C67DC 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CAB80 001C67E0 28 00 00 09 */ cmplwi r0, 9
/* 801CAB84 001C67E4 40 82 00 10 */ bne lbl_801CAB94
/* 801CAB88 001C67E8 38 00 00 FF */ li r0, 0xff
/* 801CAB8C 001C67EC 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CAB90 001C67F0 48 00 01 EC */ b lbl_801CAD7C
lbl_801CAB94:
/* 801CAB94 001C67F4 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CAB98 001C67F8 2C 00 00 00 */ cmpwi r0, 0
/* 801CAB9C 001C67FC 40 82 00 10 */ bne lbl_801CABAC
/* 801CABA0 001C6800 38 00 00 01 */ li r0, 1
/* 801CABA4 001C6804 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CABA8 001C6808 48 00 01 D4 */ b lbl_801CAD7C
lbl_801CABAC:
/* 801CABAC 001C680C 88 01 00 08 */ lbz r0, 8(r1)
/* 801CABB0 001C6810 28 00 00 02 */ cmplwi r0, 2
/* 801CABB4 001C6814 40 82 01 C8 */ bne lbl_801CAD7C
/* 801CABB8 001C6818 38 00 00 01 */ li r0, 1
/* 801CABBC 001C681C 98 01 00 08 */ stb r0, 8(r1)
/* 801CABC0 001C6820 48 00 01 BC */ b lbl_801CAD7C
/* 801CABC4 001C6824 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CABC8 001C6828 28 00 00 02 */ cmplwi r0, 2
/* 801CABCC 001C682C 41 82 00 24 */ beq lbl_801CABF0
/* 801CABD0 001C6830 28 00 00 06 */ cmplwi r0, 6
/* 801CABD4 001C6834 41 82 00 1C */ beq lbl_801CABF0
/* 801CABD8 001C6838 28 00 00 07 */ cmplwi r0, 7
/* 801CABDC 001C683C 41 82 00 14 */ beq lbl_801CABF0
/* 801CABE0 001C6840 28 00 00 08 */ cmplwi r0, 8
/* 801CABE4 001C6844 41 82 00 0C */ beq lbl_801CABF0
/* 801CABE8 001C6848 28 00 00 04 */ cmplwi r0, 4
/* 801CABEC 001C684C 40 82 00 10 */ bne lbl_801CABFC
lbl_801CABF0:
/* 801CABF0 001C6850 38 00 00 FF */ li r0, 0xff
/* 801CABF4 001C6854 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CABF8 001C6858 48 00 01 84 */ b lbl_801CAD7C
lbl_801CABFC:
/* 801CABFC 001C685C 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CAC00 001C6860 2C 00 00 00 */ cmpwi r0, 0
/* 801CAC04 001C6864 40 82 01 78 */ bne lbl_801CAD7C
/* 801CAC08 001C6868 38 00 00 06 */ li r0, 6
/* 801CAC0C 001C686C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CAC10 001C6870 48 00 01 6C */ b lbl_801CAD7C
/* 801CAC14 001C6874 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CAC18 001C6878 2C 00 00 00 */ cmpwi r0, 0
/* 801CAC1C 001C687C 40 82 00 0C */ bne lbl_801CAC28
/* 801CAC20 001C6880 38 00 00 0D */ li r0, 0xd
/* 801CAC24 001C6884 90 01 00 14 */ stw r0, 0x14(r1)
lbl_801CAC28:
/* 801CAC28 001C6888 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CAC2C 001C688C 28 00 00 02 */ cmplwi r0, 2
/* 801CAC30 001C6890 41 82 00 2C */ beq lbl_801CAC5C
/* 801CAC34 001C6894 28 00 00 06 */ cmplwi r0, 6
/* 801CAC38 001C6898 41 82 00 24 */ beq lbl_801CAC5C
/* 801CAC3C 001C689C 28 00 00 07 */ cmplwi r0, 7
/* 801CAC40 001C68A0 41 82 00 1C */ beq lbl_801CAC5C
/* 801CAC44 001C68A4 28 00 00 08 */ cmplwi r0, 8
/* 801CAC48 001C68A8 41 82 00 14 */ beq lbl_801CAC5C
/* 801CAC4C 001C68AC 28 00 00 04 */ cmplwi r0, 4
/* 801CAC50 001C68B0 41 82 00 0C */ beq lbl_801CAC5C
/* 801CAC54 001C68B4 28 00 00 01 */ cmplwi r0, 1
/* 801CAC58 001C68B8 40 82 01 24 */ bne lbl_801CAD7C
lbl_801CAC5C:
/* 801CAC5C 001C68BC 38 00 00 FF */ li r0, 0xff
/* 801CAC60 001C68C0 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CAC64 001C68C4 48 00 01 18 */ b lbl_801CAD7C
/* 801CAC68 001C68C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CAC6C 001C68CC 2C 00 00 00 */ cmpwi r0, 0
/* 801CAC70 001C68D0 40 82 00 0C */ bne lbl_801CAC7C
/* 801CAC74 001C68D4 38 00 00 01 */ li r0, 1
/* 801CAC78 001C68D8 90 01 00 14 */ stw r0, 0x14(r1)
lbl_801CAC7C:
/* 801CAC7C 001C68DC 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CAC80 001C68E0 28 00 00 02 */ cmplwi r0, 2
/* 801CAC84 001C68E4 41 82 00 2C */ beq lbl_801CACB0
/* 801CAC88 001C68E8 28 00 00 06 */ cmplwi r0, 6
/* 801CAC8C 001C68EC 41 82 00 24 */ beq lbl_801CACB0
/* 801CAC90 001C68F0 28 00 00 07 */ cmplwi r0, 7
/* 801CAC94 001C68F4 41 82 00 1C */ beq lbl_801CACB0
/* 801CAC98 001C68F8 28 00 00 08 */ cmplwi r0, 8
/* 801CAC9C 001C68FC 41 82 00 14 */ beq lbl_801CACB0
/* 801CACA0 001C6900 28 00 00 04 */ cmplwi r0, 4
/* 801CACA4 001C6904 41 82 00 0C */ beq lbl_801CACB0
/* 801CACA8 001C6908 28 00 00 01 */ cmplwi r0, 1
/* 801CACAC 001C690C 40 82 00 10 */ bne lbl_801CACBC
lbl_801CACB0:
/* 801CACB0 001C6910 38 00 00 FF */ li r0, 0xff
/* 801CACB4 001C6914 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CACB8 001C6918 48 00 00 C4 */ b lbl_801CAD7C
lbl_801CACBC:
/* 801CACBC 001C691C 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CACC0 001C6920 2C 00 00 00 */ cmpwi r0, 0
/* 801CACC4 001C6924 40 82 00 B8 */ bne lbl_801CAD7C
/* 801CACC8 001C6928 38 00 00 06 */ li r0, 6
/* 801CACCC 001C692C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CACD0 001C6930 48 00 00 AC */ b lbl_801CAD7C
/* 801CACD4 001C6934 38 A0 00 78 */ li r5, 0x78
/* 801CACD8 001C6938 38 80 00 01 */ li r4, 1
/* 801CACDC 001C693C 38 60 00 03 */ li r3, 3
/* 801CACE0 001C6940 38 00 00 08 */ li r0, 8
/* 801CACE4 001C6944 98 A1 00 0D */ stb r5, 0xd(r1)
/* 801CACE8 001C6948 98 81 00 0B */ stb r4, 0xb(r1)
/* 801CACEC 001C694C 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CACF0 001C6950 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CACF4 001C6954 48 00 00 88 */ b lbl_801CAD7C
/* 801CACF8 001C6958 88 61 00 0C */ lbz r3, 0xc(r1)
/* 801CACFC 001C695C 28 03 00 03 */ cmplwi r3, 3
/* 801CAD00 001C6960 40 82 00 10 */ bne lbl_801CAD10
/* 801CAD04 001C6964 38 00 00 05 */ li r0, 5
/* 801CAD08 001C6968 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAD0C 001C696C 48 00 00 70 */ b lbl_801CAD7C
lbl_801CAD10:
/* 801CAD10 001C6970 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CAD14 001C6974 2C 00 00 00 */ cmpwi r0, 0
/* 801CAD18 001C6978 40 82 00 0C */ bne lbl_801CAD24
/* 801CAD1C 001C697C 2C 03 00 00 */ cmpwi r3, 0
/* 801CAD20 001C6980 41 82 00 5C */ beq lbl_801CAD7C
lbl_801CAD24:
/* 801CAD24 001C6984 38 00 00 FF */ li r0, 0xff
/* 801CAD28 001C6988 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CAD2C 001C698C 48 00 00 50 */ b lbl_801CAD7C
/* 801CAD30 001C6990 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CAD34 001C6994 28 00 00 03 */ cmplwi r0, 3
/* 801CAD38 001C6998 40 82 00 10 */ bne lbl_801CAD48
/* 801CAD3C 001C699C 38 00 00 05 */ li r0, 5
/* 801CAD40 001C69A0 98 01 00 0C */ stb r0, 0xc(r1)
/* 801CAD44 001C69A4 48 00 00 38 */ b lbl_801CAD7C
lbl_801CAD48:
/* 801CAD48 001C69A8 2C 00 00 00 */ cmpwi r0, 0
/* 801CAD4C 001C69AC 41 82 00 30 */ beq lbl_801CAD7C
/* 801CAD50 001C69B0 38 00 00 FF */ li r0, 0xff
/* 801CAD54 001C69B4 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CAD58 001C69B8 48 00 00 24 */ b lbl_801CAD7C
/* 801CAD5C 001C69BC 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CAD60 001C69C0 28 00 00 09 */ cmplwi r0, 9
/* 801CAD64 001C69C4 40 82 00 18 */ bne lbl_801CAD7C
/* 801CAD68 001C69C8 38 00 00 FF */ li r0, 0xff
/* 801CAD6C 001C69CC 98 01 00 0D */ stb r0, 0xd(r1)
/* 801CAD70 001C69D0 48 00 00 0C */ b lbl_801CAD7C
lbl_801CAD74:
/* 801CAD74 001C69D4 38 00 00 FF */ li r0, 0xff
/* 801CAD78 001C69D8 98 01 00 0D */ stb r0, 0xd(r1)
lbl_801CAD7C:
/* 801CAD7C 001C69DC 80 C1 00 08 */ lwz r6, 8(r1)
/* 801CAD80 001C69E0 38 7F 00 01 */ addi r3, r31, 1
/* 801CAD84 001C69E4 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801CAD88 001C69E8 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801CAD8C 001C69EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CAD90 001C69F0 90 DE 00 00 */ stw r6, 0(r30)
/* 801CAD94 001C69F4 90 BE 00 04 */ stw r5, 4(r30)
/* 801CAD98 001C69F8 90 9E 00 08 */ stw r4, 8(r30)
/* 801CAD9C 001C69FC 90 1E 00 0C */ stw r0, 0xc(r30)
lbl_801CADA0:
/* 801CADA0 001C6A00 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801CADA4 001C6A04 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801CADA8 001C6A08 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801CADAC 001C6A0C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801CADB0 001C6A10 7C 08 03 A6 */ mtlr r0
/* 801CADB4 001C6A14 38 21 00 30 */ addi r1, r1, 0x30
/* 801CADB8 001C6A18 4E 80 00 20 */ blr
.global func_801CADBC
func_801CADBC:
/* 801CADBC 001C6A1C 39 00 00 00 */ li r8, 0
/* 801CADC0 001C6A20 2C 03 00 00 */ cmpwi r3, 0
/* 801CADC4 001C6A24 99 04 FF FF */ stb r8, -1(r4)
/* 801CADC8 001C6A28 38 C4 FF FF */ addi r6, r4, -1
/* 801CADCC 001C6A2C 38 E0 00 00 */ li r7, 0
/* 801CADD0 001C6A30 40 82 00 30 */ bne lbl_801CAE00
/* 801CADD4 001C6A34 80 05 00 0C */ lwz r0, 0xc(r5)
/* 801CADD8 001C6A38 2C 00 00 00 */ cmpwi r0, 0
/* 801CADDC 001C6A3C 40 82 00 24 */ bne lbl_801CAE00
/* 801CADE0 001C6A40 88 05 00 03 */ lbz r0, 3(r5)
/* 801CADE4 001C6A44 2C 00 00 00 */ cmpwi r0, 0
/* 801CADE8 001C6A48 41 82 00 10 */ beq lbl_801CADF8
/* 801CADEC 001C6A4C 88 05 00 05 */ lbz r0, 5(r5)
/* 801CADF0 001C6A50 28 00 00 6F */ cmplwi r0, 0x6f
/* 801CADF4 001C6A54 41 82 00 0C */ beq lbl_801CAE00
lbl_801CADF8:
/* 801CADF8 001C6A58 7C C3 33 78 */ mr r3, r6
/* 801CADFC 001C6A5C 4E 80 00 20 */ blr
lbl_801CAE00:
/* 801CAE00 001C6A60 89 25 00 05 */ lbz r9, 5(r5)
/* 801CAE04 001C6A64 39 49 FF A8 */ addi r10, r9, -88
/* 801CAE08 001C6A68 28 0A 00 20 */ cmplwi r10, 0x20
/* 801CAE0C 001C6A6C 41 81 00 6C */ bgt lbl_801CAE78
/* 801CAE10 001C6A70 3D 20 80 42 */ lis r9, lbl_80422EB4@ha
/* 801CAE14 001C6A74 55 4A 10 3A */ slwi r10, r10, 2
/* 801CAE18 001C6A78 39 29 2E B4 */ addi r9, r9, lbl_80422EB4@l
/* 801CAE1C 001C6A7C 7D 29 50 2E */ lwzx r9, r9, r10
/* 801CAE20 001C6A80 7D 29 03 A6 */ mtctr r9
/* 801CAE24 001C6A84 4E 80 04 20 */ bctr
/* 801CAE28 001C6A88 2C 03 00 00 */ cmpwi r3, 0
/* 801CAE2C 001C6A8C 38 00 00 0A */ li r0, 0xa
/* 801CAE30 001C6A90 40 80 00 48 */ bge lbl_801CAE78
/* 801CAE34 001C6A94 3D 03 80 00 */ addis r8, r3, 0x8000
/* 801CAE38 001C6A98 28 08 00 00 */ cmplwi r8, 0
/* 801CAE3C 001C6A9C 41 82 00 08 */ beq lbl_801CAE44
/* 801CAE40 001C6AA0 7C 63 00 D0 */ neg r3, r3
lbl_801CAE44:
/* 801CAE44 001C6AA4 39 00 00 01 */ li r8, 1
/* 801CAE48 001C6AA8 48 00 00 30 */ b lbl_801CAE78
/* 801CAE4C 001C6AAC 39 20 00 00 */ li r9, 0
/* 801CAE50 001C6AB0 38 00 00 08 */ li r0, 8
/* 801CAE54 001C6AB4 99 25 00 01 */ stb r9, 1(r5)
/* 801CAE58 001C6AB8 48 00 00 20 */ b lbl_801CAE78
/* 801CAE5C 001C6ABC 39 20 00 00 */ li r9, 0
/* 801CAE60 001C6AC0 38 00 00 0A */ li r0, 0xa
/* 801CAE64 001C6AC4 99 25 00 01 */ stb r9, 1(r5)
/* 801CAE68 001C6AC8 48 00 00 10 */ b lbl_801CAE78
/* 801CAE6C 001C6ACC 39 20 00 00 */ li r9, 0
/* 801CAE70 001C6AD0 38 00 00 10 */ li r0, 0x10
/* 801CAE74 001C6AD4 99 25 00 01 */ stb r9, 1(r5)
lbl_801CAE78:
/* 801CAE78 001C6AD8 7D 23 03 96 */ divwu r9, r3, r0
/* 801CAE7C 001C6ADC 7D 29 01 D6 */ mullw r9, r9, r0
/* 801CAE80 001C6AE0 7D 69 18 50 */ subf r11, r9, r3
/* 801CAE84 001C6AE4 7C 63 03 96 */ divwu r3, r3, r0
/* 801CAE88 001C6AE8 2C 0B 00 0A */ cmpwi r11, 0xa
/* 801CAE8C 001C6AEC 40 80 00 0C */ bge lbl_801CAE98
/* 801CAE90 001C6AF0 39 6B 00 30 */ addi r11, r11, 0x30
/* 801CAE94 001C6AF4 48 00 00 1C */ b lbl_801CAEB0
lbl_801CAE98:
/* 801CAE98 001C6AF8 89 25 00 05 */ lbz r9, 5(r5)
/* 801CAE9C 001C6AFC 39 4B 00 37 */ addi r10, r11, 0x37
/* 801CAEA0 001C6B00 28 09 00 78 */ cmplwi r9, 0x78
/* 801CAEA4 001C6B04 40 82 00 08 */ bne lbl_801CAEAC
/* 801CAEA8 001C6B08 39 4B 00 57 */ addi r10, r11, 0x57
lbl_801CAEAC:
/* 801CAEAC 001C6B0C 7D 4B 53 78 */ mr r11, r10
lbl_801CAEB0:
/* 801CAEB0 001C6B10 2C 03 00 00 */ cmpwi r3, 0
/* 801CAEB4 001C6B14 99 66 FF FF */ stb r11, -1(r6)
/* 801CAEB8 001C6B18 38 C6 FF FF */ addi r6, r6, -1
/* 801CAEBC 001C6B1C 38 E7 00 01 */ addi r7, r7, 1
/* 801CAEC0 001C6B20 40 82 FF B8 */ bne lbl_801CAE78
/* 801CAEC4 001C6B24 28 00 00 08 */ cmplwi r0, 8
/* 801CAEC8 001C6B28 40 82 00 28 */ bne lbl_801CAEF0
/* 801CAECC 001C6B2C 88 65 00 03 */ lbz r3, 3(r5)
/* 801CAED0 001C6B30 2C 03 00 00 */ cmpwi r3, 0
/* 801CAED4 001C6B34 41 82 00 1C */ beq lbl_801CAEF0
/* 801CAED8 001C6B38 88 66 00 00 */ lbz r3, 0(r6)
/* 801CAEDC 001C6B3C 2C 03 00 30 */ cmpwi r3, 0x30
/* 801CAEE0 001C6B40 41 82 00 10 */ beq lbl_801CAEF0
/* 801CAEE4 001C6B44 38 60 00 30 */ li r3, 0x30
/* 801CAEE8 001C6B48 38 E7 00 01 */ addi r7, r7, 1
/* 801CAEEC 001C6B4C 9C 66 FF FF */ stbu r3, -1(r6)
lbl_801CAEF0:
/* 801CAEF0 001C6B50 88 65 00 00 */ lbz r3, 0(r5)
/* 801CAEF4 001C6B54 28 03 00 02 */ cmplwi r3, 2
/* 801CAEF8 001C6B58 40 82 00 4C */ bne lbl_801CAF44
/* 801CAEFC 001C6B5C 80 65 00 08 */ lwz r3, 8(r5)
/* 801CAF00 001C6B60 2C 08 00 00 */ cmpwi r8, 0
/* 801CAF04 001C6B64 90 65 00 0C */ stw r3, 0xc(r5)
/* 801CAF08 001C6B68 40 82 00 10 */ bne lbl_801CAF18
/* 801CAF0C 001C6B6C 88 65 00 01 */ lbz r3, 1(r5)
/* 801CAF10 001C6B70 2C 03 00 00 */ cmpwi r3, 0
/* 801CAF14 001C6B74 41 82 00 10 */ beq lbl_801CAF24
lbl_801CAF18:
/* 801CAF18 001C6B78 80 65 00 0C */ lwz r3, 0xc(r5)
/* 801CAF1C 001C6B7C 38 63 FF FF */ addi r3, r3, -1
/* 801CAF20 001C6B80 90 65 00 0C */ stw r3, 0xc(r5)
lbl_801CAF24:
/* 801CAF24 001C6B84 28 00 00 10 */ cmplwi r0, 0x10
/* 801CAF28 001C6B88 40 82 00 1C */ bne lbl_801CAF44
/* 801CAF2C 001C6B8C 88 65 00 03 */ lbz r3, 3(r5)
/* 801CAF30 001C6B90 2C 03 00 00 */ cmpwi r3, 0
/* 801CAF34 001C6B94 41 82 00 10 */ beq lbl_801CAF44
/* 801CAF38 001C6B98 80 65 00 0C */ lwz r3, 0xc(r5)
/* 801CAF3C 001C6B9C 38 63 FF FE */ addi r3, r3, -2
/* 801CAF40 001C6BA0 90 65 00 0C */ stw r3, 0xc(r5)
lbl_801CAF44:
/* 801CAF44 001C6BA4 81 25 00 0C */ lwz r9, 0xc(r5)
/* 801CAF48 001C6BA8 7C 66 20 50 */ subf r3, r6, r4
/* 801CAF4C 001C6BAC 7C 69 1A 14 */ add r3, r9, r3
/* 801CAF50 001C6BB0 2C 03 01 FD */ cmpwi r3, 0x1fd
/* 801CAF54 001C6BB4 40 81 00 0C */ ble lbl_801CAF60
/* 801CAF58 001C6BB8 38 60 00 00 */ li r3, 0
/* 801CAF5C 001C6BBC 4E 80 00 20 */ blr
lbl_801CAF60:
/* 801CAF60 001C6BC0 38 80 00 30 */ li r4, 0x30
/* 801CAF64 001C6BC4 48 00 00 0C */ b lbl_801CAF70
lbl_801CAF68:
/* 801CAF68 001C6BC8 9C 86 FF FF */ stbu r4, -1(r6)
/* 801CAF6C 001C6BCC 38 E7 00 01 */ addi r7, r7, 1
lbl_801CAF70:
/* 801CAF70 001C6BD0 80 65 00 0C */ lwz r3, 0xc(r5)
/* 801CAF74 001C6BD4 7C 07 18 00 */ cmpw r7, r3
/* 801CAF78 001C6BD8 41 80 FF F0 */ blt lbl_801CAF68
/* 801CAF7C 001C6BDC 28 00 00 10 */ cmplwi r0, 0x10
/* 801CAF80 001C6BE0 40 82 00 20 */ bne lbl_801CAFA0
/* 801CAF84 001C6BE4 88 05 00 03 */ lbz r0, 3(r5)
/* 801CAF88 001C6BE8 2C 00 00 00 */ cmpwi r0, 0
/* 801CAF8C 001C6BEC 41 82 00 14 */ beq lbl_801CAFA0
/* 801CAF90 001C6BF0 88 65 00 05 */ lbz r3, 5(r5)
/* 801CAF94 001C6BF4 38 00 00 30 */ li r0, 0x30
/* 801CAF98 001C6BF8 98 66 FF FF */ stb r3, -1(r6)
/* 801CAF9C 001C6BFC 9C 06 FF FE */ stbu r0, -2(r6)
lbl_801CAFA0:
/* 801CAFA0 001C6C00 2C 08 00 00 */ cmpwi r8, 0
/* 801CAFA4 001C6C04 41 82 00 10 */ beq lbl_801CAFB4
/* 801CAFA8 001C6C08 38 00 00 2D */ li r0, 0x2d
/* 801CAFAC 001C6C0C 9C 06 FF FF */ stbu r0, -1(r6)
/* 801CAFB0 001C6C10 48 00 00 2C */ b lbl_801CAFDC
lbl_801CAFB4:
/* 801CAFB4 001C6C14 88 05 00 01 */ lbz r0, 1(r5)
/* 801CAFB8 001C6C18 28 00 00 01 */ cmplwi r0, 1
/* 801CAFBC 001C6C1C 40 82 00 10 */ bne lbl_801CAFCC
/* 801CAFC0 001C6C20 38 00 00 2B */ li r0, 0x2b
/* 801CAFC4 001C6C24 9C 06 FF FF */ stbu r0, -1(r6)
/* 801CAFC8 001C6C28 48 00 00 14 */ b lbl_801CAFDC
lbl_801CAFCC:
/* 801CAFCC 001C6C2C 28 00 00 02 */ cmplwi r0, 2
/* 801CAFD0 001C6C30 40 82 00 0C */ bne lbl_801CAFDC
/* 801CAFD4 001C6C34 38 00 00 20 */ li r0, 0x20
/* 801CAFD8 001C6C38 9C 06 FF FF */ stbu r0, -1(r6)
lbl_801CAFDC:
/* 801CAFDC 001C6C3C 7C C3 33 78 */ mr r3, r6
/* 801CAFE0 001C6C40 4E 80 00 20 */ blr
.global func_801CAFE4
func_801CAFE4:
/* 801CAFE4 001C6C44 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801CAFE8 001C6C48 7C 08 02 A6 */ mflr r0
/* 801CAFEC 001C6C4C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801CAFF0 001C6C50 7C 80 1B 79 */ or. r0, r4, r3
/* 801CAFF4 001C6C54 BE C1 00 08 */ stmw r22, 8(r1)
/* 801CAFF8 001C6C58 3B 20 00 00 */ li r25, 0
/* 801CAFFC 001C6C5C 7C 7F 1B 78 */ mr r31, r3
/* 801CB000 001C6C60 7C 9E 23 78 */ mr r30, r4
/* 801CB004 001C6C64 7C B7 2B 78 */ mr r23, r5
/* 801CB008 001C6C68 7C D8 33 78 */ mr r24, r6
/* 801CB00C 001C6C6C 3B 65 FF FF */ addi r27, r5, -1
/* 801CB010 001C6C70 3B 40 00 00 */ li r26, 0
/* 801CB014 001C6C74 9B 25 FF FF */ stb r25, -1(r5)
/* 801CB018 001C6C78 40 82 00 30 */ bne lbl_801CB048
/* 801CB01C 001C6C7C 80 06 00 0C */ lwz r0, 0xc(r6)
/* 801CB020 001C6C80 2C 00 00 00 */ cmpwi r0, 0
/* 801CB024 001C6C84 40 82 00 24 */ bne lbl_801CB048
/* 801CB028 001C6C88 88 06 00 03 */ lbz r0, 3(r6)
/* 801CB02C 001C6C8C 2C 00 00 00 */ cmpwi r0, 0
/* 801CB030 001C6C90 41 82 00 10 */ beq lbl_801CB040
/* 801CB034 001C6C94 88 06 00 05 */ lbz r0, 5(r6)
/* 801CB038 001C6C98 28 00 00 6F */ cmplwi r0, 0x6f
/* 801CB03C 001C6C9C 41 82 00 0C */ beq lbl_801CB048
lbl_801CB040:
/* 801CB040 001C6CA0 7F 63 DB 78 */ mr r3, r27
/* 801CB044 001C6CA4 48 00 02 2C */ b lbl_801CB270
lbl_801CB048:
/* 801CB048 001C6CA8 88 A6 00 05 */ lbz r5, 5(r6)
/* 801CB04C 001C6CAC 38 05 FF A8 */ addi r0, r5, -88
/* 801CB050 001C6CB0 28 00 00 20 */ cmplwi r0, 0x20
/* 801CB054 001C6CB4 41 81 00 8C */ bgt lbl_801CB0E0
/* 801CB058 001C6CB8 3C A0 80 42 */ lis r5, lbl_80422F38@ha
/* 801CB05C 001C6CBC 54 00 10 3A */ slwi r0, r0, 2
/* 801CB060 001C6CC0 38 A5 2F 38 */ addi r5, r5, lbl_80422F38@l
/* 801CB064 001C6CC4 7C A5 00 2E */ lwzx r5, r5, r0
/* 801CB068 001C6CC8 7C A9 03 A6 */ mtctr r5
/* 801CB06C 001C6CCC 4E 80 04 20 */ bctr
/* 801CB070 001C6CD0 3B A0 00 00 */ li r29, 0
/* 801CB074 001C6CD4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 801CB078 001C6CD8 6F A6 80 00 */ xoris r6, r29, 0x8000
/* 801CB07C 001C6CDC 3B 80 00 0A */ li r28, 0xa
/* 801CB080 001C6CE0 7C BD 20 10 */ subfc r5, r29, r4
/* 801CB084 001C6CE4 7C C6 01 10 */ subfe r6, r6, r0
/* 801CB088 001C6CE8 7C C0 01 10 */ subfe r6, r0, r0
/* 801CB08C 001C6CEC 7C C6 00 D1 */ neg. r6, r6
/* 801CB090 001C6CF0 41 82 00 50 */ beq lbl_801CB0E0
/* 801CB094 001C6CF4 3C 00 80 00 */ lis r0, 0x8000
/* 801CB098 001C6CF8 7C 60 02 78 */ xor r0, r3, r0
/* 801CB09C 001C6CFC 7C 80 03 79 */ or. r0, r4, r0
/* 801CB0A0 001C6D00 41 82 00 0C */ beq lbl_801CB0AC
/* 801CB0A4 001C6D04 23 C4 00 00 */ subfic r30, r4, 0
/* 801CB0A8 001C6D08 7F E3 01 90 */ subfze r31, r3
lbl_801CB0AC:
/* 801CB0AC 001C6D0C 3B 20 00 01 */ li r25, 1
/* 801CB0B0 001C6D10 48 00 00 30 */ b lbl_801CB0E0
/* 801CB0B4 001C6D14 3B A0 00 00 */ li r29, 0
/* 801CB0B8 001C6D18 3B 80 00 08 */ li r28, 8
/* 801CB0BC 001C6D1C 9B A6 00 01 */ stb r29, 1(r6)
/* 801CB0C0 001C6D20 48 00 00 20 */ b lbl_801CB0E0
/* 801CB0C4 001C6D24 3B A0 00 00 */ li r29, 0
/* 801CB0C8 001C6D28 3B 80 00 0A */ li r28, 0xa
/* 801CB0CC 001C6D2C 9B A6 00 01 */ stb r29, 1(r6)
/* 801CB0D0 001C6D30 48 00 00 10 */ b lbl_801CB0E0
/* 801CB0D4 001C6D34 3B A0 00 00 */ li r29, 0
/* 801CB0D8 001C6D38 3B 80 00 10 */ li r28, 0x10
/* 801CB0DC 001C6D3C 9B A6 00 01 */ stb r29, 1(r6)
lbl_801CB0E0:
/* 801CB0E0 001C6D40 7F E3 FB 78 */ mr r3, r31
/* 801CB0E4 001C6D44 7F C4 F3 78 */ mr r4, r30
/* 801CB0E8 001C6D48 7F A5 EB 78 */ mr r5, r29
/* 801CB0EC 001C6D4C 7F 86 E3 78 */ mr r6, r28
/* 801CB0F0 001C6D50 4B FF C2 C1 */ bl __mod2u
/* 801CB0F4 001C6D54 7C 96 23 78 */ mr r22, r4
/* 801CB0F8 001C6D58 7F E3 FB 78 */ mr r3, r31
/* 801CB0FC 001C6D5C 7F C4 F3 78 */ mr r4, r30
/* 801CB100 001C6D60 7F A5 EB 78 */ mr r5, r29
/* 801CB104 001C6D64 7F 86 E3 78 */ mr r6, r28
/* 801CB108 001C6D68 4B FF C0 85 */ bl __div2u
/* 801CB10C 001C6D6C 2C 16 00 0A */ cmpwi r22, 0xa
/* 801CB110 001C6D70 7C 9E 23 78 */ mr r30, r4
/* 801CB114 001C6D74 7C 7F 1B 78 */ mr r31, r3
/* 801CB118 001C6D78 40 80 00 0C */ bge lbl_801CB124
/* 801CB11C 001C6D7C 38 B6 00 30 */ addi r5, r22, 0x30
/* 801CB120 001C6D80 48 00 00 18 */ b lbl_801CB138
lbl_801CB124:
/* 801CB124 001C6D84 88 18 00 05 */ lbz r0, 5(r24)
/* 801CB128 001C6D88 38 B6 00 37 */ addi r5, r22, 0x37
/* 801CB12C 001C6D8C 28 00 00 78 */ cmplwi r0, 0x78
/* 801CB130 001C6D90 40 82 00 08 */ bne lbl_801CB138
/* 801CB134 001C6D94 38 B6 00 57 */ addi r5, r22, 0x57
lbl_801CB138:
/* 801CB138 001C6D98 7C 80 1B 79 */ or. r0, r4, r3
/* 801CB13C 001C6D9C 9C BB FF FF */ stbu r5, -1(r27)
/* 801CB140 001C6DA0 3B 5A 00 01 */ addi r26, r26, 1
/* 801CB144 001C6DA4 40 82 FF 9C */ bne lbl_801CB0E0
/* 801CB148 001C6DA8 6B 80 00 08 */ xori r0, r28, 8
/* 801CB14C 001C6DAC 7C 00 EB 79 */ or. r0, r0, r29
/* 801CB150 001C6DB0 40 82 00 28 */ bne lbl_801CB178
/* 801CB154 001C6DB4 88 18 00 03 */ lbz r0, 3(r24)
/* 801CB158 001C6DB8 2C 00 00 00 */ cmpwi r0, 0
/* 801CB15C 001C6DBC 41 82 00 1C */ beq lbl_801CB178
/* 801CB160 001C6DC0 88 1B 00 00 */ lbz r0, 0(r27)
/* 801CB164 001C6DC4 2C 00 00 30 */ cmpwi r0, 0x30
/* 801CB168 001C6DC8 41 82 00 10 */ beq lbl_801CB178
/* 801CB16C 001C6DCC 38 00 00 30 */ li r0, 0x30
/* 801CB170 001C6DD0 3B 5A 00 01 */ addi r26, r26, 1
/* 801CB174 001C6DD4 9C 1B FF FF */ stbu r0, -1(r27)
lbl_801CB178:
/* 801CB178 001C6DD8 88 18 00 00 */ lbz r0, 0(r24)
/* 801CB17C 001C6DDC 28 00 00 02 */ cmplwi r0, 2
/* 801CB180 001C6DE0 40 82 00 50 */ bne lbl_801CB1D0
/* 801CB184 001C6DE4 80 18 00 08 */ lwz r0, 8(r24)
/* 801CB188 001C6DE8 2C 19 00 00 */ cmpwi r25, 0
/* 801CB18C 001C6DEC 90 18 00 0C */ stw r0, 0xc(r24)
/* 801CB190 001C6DF0 40 82 00 10 */ bne lbl_801CB1A0
/* 801CB194 001C6DF4 88 18 00 01 */ lbz r0, 1(r24)
/* 801CB198 001C6DF8 2C 00 00 00 */ cmpwi r0, 0
/* 801CB19C 001C6DFC 41 82 00 10 */ beq lbl_801CB1AC
lbl_801CB1A0:
/* 801CB1A0 001C6E00 80 78 00 0C */ lwz r3, 0xc(r24)
/* 801CB1A4 001C6E04 38 03 FF FF */ addi r0, r3, -1
/* 801CB1A8 001C6E08 90 18 00 0C */ stw r0, 0xc(r24)
lbl_801CB1AC:
/* 801CB1AC 001C6E0C 6B 80 00 10 */ xori r0, r28, 0x10
/* 801CB1B0 001C6E10 7C 00 EB 79 */ or. r0, r0, r29
/* 801CB1B4 001C6E14 40 82 00 1C */ bne lbl_801CB1D0
/* 801CB1B8 001C6E18 88 18 00 03 */ lbz r0, 3(r24)
/* 801CB1BC 001C6E1C 2C 00 00 00 */ cmpwi r0, 0
/* 801CB1C0 001C6E20 41 82 00 10 */ beq lbl_801CB1D0
/* 801CB1C4 001C6E24 80 78 00 0C */ lwz r3, 0xc(r24)
/* 801CB1C8 001C6E28 38 03 FF FE */ addi r0, r3, -2
/* 801CB1CC 001C6E2C 90 18 00 0C */ stw r0, 0xc(r24)
lbl_801CB1D0:
/* 801CB1D0 001C6E30 80 78 00 0C */ lwz r3, 0xc(r24)
/* 801CB1D4 001C6E34 7C 1B B8 50 */ subf r0, r27, r23
/* 801CB1D8 001C6E38 7C 03 02 14 */ add r0, r3, r0
/* 801CB1DC 001C6E3C 2C 00 01 FD */ cmpwi r0, 0x1fd
/* 801CB1E0 001C6E40 40 81 00 0C */ ble lbl_801CB1EC
/* 801CB1E4 001C6E44 38 60 00 00 */ li r3, 0
/* 801CB1E8 001C6E48 48 00 00 88 */ b lbl_801CB270
lbl_801CB1EC:
/* 801CB1EC 001C6E4C 38 60 00 30 */ li r3, 0x30
/* 801CB1F0 001C6E50 48 00 00 0C */ b lbl_801CB1FC
lbl_801CB1F4:
/* 801CB1F4 001C6E54 9C 7B FF FF */ stbu r3, -1(r27)
/* 801CB1F8 001C6E58 3B 5A 00 01 */ addi r26, r26, 1
lbl_801CB1FC:
/* 801CB1FC 001C6E5C 80 18 00 0C */ lwz r0, 0xc(r24)
/* 801CB200 001C6E60 7C 1A 00 00 */ cmpw r26, r0
/* 801CB204 001C6E64 41 80 FF F0 */ blt lbl_801CB1F4
/* 801CB208 001C6E68 6B 80 00 10 */ xori r0, r28, 0x10
/* 801CB20C 001C6E6C 7C 00 EB 79 */ or. r0, r0, r29
/* 801CB210 001C6E70 40 82 00 20 */ bne lbl_801CB230
/* 801CB214 001C6E74 88 18 00 03 */ lbz r0, 3(r24)
/* 801CB218 001C6E78 2C 00 00 00 */ cmpwi r0, 0
/* 801CB21C 001C6E7C 41 82 00 14 */ beq lbl_801CB230
/* 801CB220 001C6E80 88 78 00 05 */ lbz r3, 5(r24)
/* 801CB224 001C6E84 38 00 00 30 */ li r0, 0x30
/* 801CB228 001C6E88 98 7B FF FF */ stb r3, -1(r27)
/* 801CB22C 001C6E8C 9C 1B FF FE */ stbu r0, -2(r27)
lbl_801CB230:
/* 801CB230 001C6E90 2C 19 00 00 */ cmpwi r25, 0
/* 801CB234 001C6E94 41 82 00 10 */ beq lbl_801CB244
/* 801CB238 001C6E98 38 00 00 2D */ li r0, 0x2d
/* 801CB23C 001C6E9C 9C 1B FF FF */ stbu r0, -1(r27)
/* 801CB240 001C6EA0 48 00 00 2C */ b lbl_801CB26C
lbl_801CB244:
/* 801CB244 001C6EA4 88 18 00 01 */ lbz r0, 1(r24)
/* 801CB248 001C6EA8 28 00 00 01 */ cmplwi r0, 1
/* 801CB24C 001C6EAC 40 82 00 10 */ bne lbl_801CB25C
/* 801CB250 001C6EB0 38 00 00 2B */ li r0, 0x2b
/* 801CB254 001C6EB4 9C 1B FF FF */ stbu r0, -1(r27)
/* 801CB258 001C6EB8 48 00 00 14 */ b lbl_801CB26C
lbl_801CB25C:
/* 801CB25C 001C6EBC 28 00 00 02 */ cmplwi r0, 2
/* 801CB260 001C6EC0 40 82 00 0C */ bne lbl_801CB26C
/* 801CB264 001C6EC4 38 00 00 20 */ li r0, 0x20
/* 801CB268 001C6EC8 9C 1B FF FF */ stbu r0, -1(r27)
lbl_801CB26C:
/* 801CB26C 001C6ECC 7F 63 DB 78 */ mr r3, r27
lbl_801CB270:
/* 801CB270 001C6ED0 BA C1 00 08 */ lmw r22, 8(r1)
/* 801CB274 001C6ED4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801CB278 001C6ED8 7C 08 03 A6 */ mtlr r0
/* 801CB27C 001C6EDC 38 21 00 30 */ addi r1, r1, 0x30
/* 801CB280 001C6EE0 4E 80 00 20 */ blr
.global func_801CB284
func_801CB284:
/* 801CB284 001C6EE4 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801CB288 001C6EE8 7C 08 02 A6 */ mflr r0
/* 801CB28C 001C6EEC 90 01 00 94 */ stw r0, 0x94(r1)
/* 801CB290 001C6EF0 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 801CB294 001C6EF4 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 801CB298 001C6EF8 3C A0 80 42 */ lis r5, lbl_80422B98@ha
/* 801CB29C 001C6EFC 80 04 00 0C */ lwz r0, 0xc(r4)
/* 801CB2A0 001C6F00 FF E0 08 90 */ fmr f31, f1
/* 801CB2A4 001C6F04 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 801CB2A8 001C6F08 2C 00 01 FD */ cmpwi r0, 0x1fd
/* 801CB2AC 001C6F0C 93 C1 00 78 */ stw r30, 0x78(r1)
/* 801CB2B0 001C6F10 7C 9E 23 78 */ mr r30, r4
/* 801CB2B4 001C6F14 93 A1 00 74 */ stw r29, 0x74(r1)
/* 801CB2B8 001C6F18 93 81 00 70 */ stw r28, 0x70(r1)
/* 801CB2BC 001C6F1C 7C 7C 1B 78 */ mr r28, r3
/* 801CB2C0 001C6F20 80 A5 2B 98 */ lwz r5, lbl_80422B98@l(r5)
/* 801CB2C4 001C6F24 D8 21 00 08 */ stfd f1, 8(r1)
/* 801CB2C8 001C6F28 8B E5 00 00 */ lbz r31, 0(r5)
/* 801CB2CC 001C6F2C 40 81 00 0C */ ble lbl_801CB2D8
/* 801CB2D0 001C6F30 38 60 00 00 */ li r3, 0
/* 801CB2D4 001C6F34 48 00 03 50 */ b lbl_801CB624
lbl_801CB2D8:
/* 801CB2D8 001C6F38 3B A0 00 00 */ li r29, 0
/* 801CB2DC 001C6F3C 38 00 00 20 */ li r0, 0x20
/* 801CB2E0 001C6F40 9B A1 00 10 */ stb r29, 0x10(r1)
/* 801CB2E4 001C6F44 38 61 00 10 */ addi r3, r1, 0x10
/* 801CB2E8 001C6F48 38 81 00 38 */ addi r4, r1, 0x38
/* 801CB2EC 001C6F4C B0 01 00 12 */ sth r0, 0x12(r1)
/* 801CB2F0 001C6F50 4B FF D7 59 */ bl func_801C8A48
/* 801CB2F4 001C6F54 FC 20 FA 10 */ fabs f1, f31
/* 801CB2F8 001C6F58 C8 02 91 48 */ lfd f0, lbl_80641748-_SDA2_BASE_(r2)
/* 801CB2FC 001C6F5C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 801CB300 001C6F60 40 82 00 20 */ bne lbl_801CB320
/* 801CB304 001C6F64 3B BC FF FA */ addi r29, r28, -6
/* 801CB308 001C6F68 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB30C 001C6F6C 7F A3 EB 78 */ mr r3, r29
/* 801CB310 001C6F70 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB314 001C6F74 48 00 2F BD */ bl func_801CE2D0
/* 801CB318 001C6F78 7F A3 EB 78 */ mr r3, r29
/* 801CB31C 001C6F7C 48 00 03 08 */ b lbl_801CB624
lbl_801CB320:
/* 801CB320 001C6F80 88 01 00 3D */ lbz r0, 0x3d(r1)
/* 801CB324 001C6F84 28 00 00 49 */ cmplwi r0, 0x49
/* 801CB328 001C6F88 40 82 00 94 */ bne lbl_801CB3BC
/* 801CB32C 001C6F8C 88 01 00 38 */ lbz r0, 0x38(r1)
/* 801CB330 001C6F90 7C 00 07 75 */ extsb. r0, r0
/* 801CB334 001C6F94 41 82 00 44 */ beq lbl_801CB378
/* 801CB338 001C6F98 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB33C 001C6F9C 3B BC FF FB */ addi r29, r28, -5
/* 801CB340 001C6FA0 28 00 00 41 */ cmplwi r0, 0x41
/* 801CB344 001C6FA4 40 82 00 1C */ bne lbl_801CB360
/* 801CB348 001C6FA8 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB34C 001C6FAC 7F A3 EB 78 */ mr r3, r29
/* 801CB350 001C6FB0 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB354 001C6FB4 38 84 00 06 */ addi r4, r4, 6
/* 801CB358 001C6FB8 48 00 2F 79 */ bl func_801CE2D0
/* 801CB35C 001C6FBC 48 00 00 58 */ b lbl_801CB3B4
lbl_801CB360:
/* 801CB360 001C6FC0 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB364 001C6FC4 7F A3 EB 78 */ mr r3, r29
/* 801CB368 001C6FC8 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB36C 001C6FCC 38 84 00 0B */ addi r4, r4, 0xb
/* 801CB370 001C6FD0 48 00 2F 61 */ bl func_801CE2D0
/* 801CB374 001C6FD4 48 00 00 40 */ b lbl_801CB3B4
lbl_801CB378:
/* 801CB378 001C6FD8 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB37C 001C6FDC 3B BC FF FC */ addi r29, r28, -4
/* 801CB380 001C6FE0 28 00 00 41 */ cmplwi r0, 0x41
/* 801CB384 001C6FE4 40 82 00 1C */ bne lbl_801CB3A0
/* 801CB388 001C6FE8 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB38C 001C6FEC 7F A3 EB 78 */ mr r3, r29
/* 801CB390 001C6FF0 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB394 001C6FF4 38 84 00 10 */ addi r4, r4, 0x10
/* 801CB398 001C6FF8 48 00 2F 39 */ bl func_801CE2D0
/* 801CB39C 001C6FFC 48 00 00 18 */ b lbl_801CB3B4
lbl_801CB3A0:
/* 801CB3A0 001C7000 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB3A4 001C7004 7F A3 EB 78 */ mr r3, r29
/* 801CB3A8 001C7008 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB3AC 001C700C 38 84 00 14 */ addi r4, r4, 0x14
/* 801CB3B0 001C7010 48 00 2F 21 */ bl func_801CE2D0
lbl_801CB3B4:
/* 801CB3B4 001C7014 7F A3 EB 78 */ mr r3, r29
/* 801CB3B8 001C7018 48 00 02 6C */ b lbl_801CB624
lbl_801CB3BC:
/* 801CB3BC 001C701C 28 00 00 4E */ cmplwi r0, 0x4e
/* 801CB3C0 001C7020 40 82 00 94 */ bne lbl_801CB454
/* 801CB3C4 001C7024 88 01 00 38 */ lbz r0, 0x38(r1)
/* 801CB3C8 001C7028 7C 00 07 75 */ extsb. r0, r0
/* 801CB3CC 001C702C 41 82 00 44 */ beq lbl_801CB410
/* 801CB3D0 001C7030 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB3D4 001C7034 3B BC FF FB */ addi r29, r28, -5
/* 801CB3D8 001C7038 28 00 00 41 */ cmplwi r0, 0x41
/* 801CB3DC 001C703C 40 82 00 1C */ bne lbl_801CB3F8
/* 801CB3E0 001C7040 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB3E4 001C7044 7F A3 EB 78 */ mr r3, r29
/* 801CB3E8 001C7048 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB3EC 001C704C 38 84 00 18 */ addi r4, r4, 0x18
/* 801CB3F0 001C7050 48 00 2E E1 */ bl func_801CE2D0
/* 801CB3F4 001C7054 48 00 00 58 */ b lbl_801CB44C
lbl_801CB3F8:
/* 801CB3F8 001C7058 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB3FC 001C705C 7F A3 EB 78 */ mr r3, r29
/* 801CB400 001C7060 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB404 001C7064 38 84 00 1D */ addi r4, r4, 0x1d
/* 801CB408 001C7068 48 00 2E C9 */ bl func_801CE2D0
/* 801CB40C 001C706C 48 00 00 40 */ b lbl_801CB44C
lbl_801CB410:
/* 801CB410 001C7070 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB414 001C7074 3B BC FF FC */ addi r29, r28, -4
/* 801CB418 001C7078 28 00 00 41 */ cmplwi r0, 0x41
/* 801CB41C 001C707C 40 82 00 1C */ bne lbl_801CB438
/* 801CB420 001C7080 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB424 001C7084 7F A3 EB 78 */ mr r3, r29
/* 801CB428 001C7088 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB42C 001C708C 38 84 00 22 */ addi r4, r4, 0x22
/* 801CB430 001C7090 48 00 2E A1 */ bl func_801CE2D0
/* 801CB434 001C7094 48 00 00 18 */ b lbl_801CB44C
lbl_801CB438:
/* 801CB438 001C7098 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB43C 001C709C 7F A3 EB 78 */ mr r3, r29
/* 801CB440 001C70A0 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB444 001C70A4 38 84 00 26 */ addi r4, r4, 0x26
/* 801CB448 001C70A8 48 00 2E 89 */ bl func_801CE2D0
lbl_801CB44C:
/* 801CB44C 001C70AC 7F A3 EB 78 */ mr r3, r29
/* 801CB450 001C70B0 48 00 01 D4 */ b lbl_801CB624
lbl_801CB454:
/* 801CB454 001C70B4 39 00 00 01 */ li r8, 1
/* 801CB458 001C70B8 38 E0 00 64 */ li r7, 0x64
/* 801CB45C 001C70BC 88 01 00 09 */ lbz r0, 9(r1)
/* 801CB460 001C70C0 7F 84 E3 78 */ mr r4, r28
/* 801CB464 001C70C4 88 61 00 08 */ lbz r3, 8(r1)
/* 801CB468 001C70C8 38 A1 00 18 */ addi r5, r1, 0x18
/* 801CB46C 001C70CC 54 00 88 1C */ slwi r0, r0, 0x11
/* 801CB470 001C70D0 99 01 00 28 */ stb r8, 0x28(r1)
/* 801CB474 001C70D4 50 60 C8 0C */ rlwimi r0, r3, 0x19, 0, 6
/* 801CB478 001C70D8 54 03 5D 7E */ srwi r3, r0, 0x15
/* 801CB47C 001C70DC 99 01 00 29 */ stb r8, 0x29(r1)
/* 801CB480 001C70E0 38 63 FC 01 */ addi r3, r3, -1023
/* 801CB484 001C70E4 9B A1 00 2A */ stb r29, 0x2a(r1)
/* 801CB488 001C70E8 9B A1 00 2B */ stb r29, 0x2b(r1)
/* 801CB48C 001C70EC 80 C1 00 28 */ lwz r6, 0x28(r1)
/* 801CB490 001C70F0 9B A1 00 2C */ stb r29, 0x2c(r1)
/* 801CB494 001C70F4 98 E1 00 2D */ stb r7, 0x2d(r1)
/* 801CB498 001C70F8 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 801CB49C 001C70FC 93 A1 00 30 */ stw r29, 0x30(r1)
/* 801CB4A0 001C7100 91 01 00 34 */ stw r8, 0x34(r1)
/* 801CB4A4 001C7104 90 C1 00 18 */ stw r6, 0x18(r1)
/* 801CB4A8 001C7108 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801CB4AC 001C710C 93 A1 00 20 */ stw r29, 0x20(r1)
/* 801CB4B0 001C7110 91 01 00 24 */ stw r8, 0x24(r1)
/* 801CB4B4 001C7114 4B FF F9 09 */ bl func_801CADBC
/* 801CB4B8 001C7118 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB4BC 001C711C 28 00 00 61 */ cmplwi r0, 0x61
/* 801CB4C0 001C7120 40 82 00 14 */ bne lbl_801CB4D4
/* 801CB4C4 001C7124 38 00 00 70 */ li r0, 0x70
/* 801CB4C8 001C7128 38 83 FF FF */ addi r4, r3, -1
/* 801CB4CC 001C712C 98 03 FF FF */ stb r0, -1(r3)
/* 801CB4D0 001C7130 48 00 00 10 */ b lbl_801CB4E0
lbl_801CB4D4:
/* 801CB4D4 001C7134 38 00 00 50 */ li r0, 0x50
/* 801CB4D8 001C7138 38 83 FF FF */ addi r4, r3, -1
/* 801CB4DC 001C713C 98 03 FF FF */ stb r0, -1(r3)
lbl_801CB4E0:
/* 801CB4E0 001C7140 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 801CB4E4 001C7144 39 01 00 08 */ addi r8, r1, 8
/* 801CB4E8 001C7148 54 03 10 3A */ slwi r3, r0, 2
/* 801CB4EC 001C714C 39 23 00 0B */ addi r9, r3, 0xb
/* 801CB4F0 001C7150 7C 09 03 A6 */ mtctr r0
/* 801CB4F4 001C7154 2C 00 00 01 */ cmpwi r0, 1
/* 801CB4F8 001C7158 41 80 00 9C */ blt lbl_801CB594
lbl_801CB4FC:
/* 801CB4FC 001C715C 2C 09 00 40 */ cmpwi r9, 0x40
/* 801CB500 001C7160 40 80 00 84 */ bge lbl_801CB584
/* 801CB504 001C7164 7D 23 1E 70 */ srawi r3, r9, 3
/* 801CB508 001C7168 38 09 FF FC */ addi r0, r9, -4
/* 801CB50C 001C716C 7C E8 1A 14 */ add r7, r8, r3
/* 801CB510 001C7170 55 26 07 7E */ clrlwi r6, r9, 0x1d
/* 801CB514 001C7174 55 23 00 38 */ rlwinm r3, r9, 0, 0, 0x1c
/* 801CB518 001C7178 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 801CB51C 001C717C 88 A7 00 00 */ lbz r5, 0(r7)
/* 801CB520 001C7180 20 C6 00 07 */ subfic r6, r6, 7
/* 801CB524 001C7184 7C 03 00 00 */ cmpw r3, r0
/* 801CB528 001C7188 7C A0 36 30 */ sraw r0, r5, r6
/* 801CB52C 001C718C 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 801CB530 001C7190 41 82 00 18 */ beq lbl_801CB548
/* 801CB534 001C7194 88 07 FF FF */ lbz r0, -1(r7)
/* 801CB538 001C7198 54 00 40 2E */ slwi r0, r0, 8
/* 801CB53C 001C719C 7C 00 36 30 */ sraw r0, r0, r6
/* 801CB540 001C71A0 7C 60 03 78 */ or r0, r3, r0
/* 801CB544 001C71A4 54 03 06 3E */ clrlwi r3, r0, 0x18
lbl_801CB548:
/* 801CB548 001C71A8 54 63 07 3E */ clrlwi r3, r3, 0x1c
/* 801CB54C 001C71AC 28 03 00 0A */ cmplwi r3, 0xa
/* 801CB550 001C71B0 40 80 00 10 */ bge lbl_801CB560
/* 801CB554 001C71B4 38 03 00 30 */ addi r0, r3, 0x30
/* 801CB558 001C71B8 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 801CB55C 001C71BC 48 00 00 2C */ b lbl_801CB588
lbl_801CB560:
/* 801CB560 001C71C0 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB564 001C71C4 28 00 00 61 */ cmplwi r0, 0x61
/* 801CB568 001C71C8 40 82 00 10 */ bne lbl_801CB578
/* 801CB56C 001C71CC 38 03 00 57 */ addi r0, r3, 0x57
/* 801CB570 001C71D0 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 801CB574 001C71D4 48 00 00 14 */ b lbl_801CB588
lbl_801CB578:
/* 801CB578 001C71D8 38 03 00 37 */ addi r0, r3, 0x37
/* 801CB57C 001C71DC 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 801CB580 001C71E0 48 00 00 08 */ b lbl_801CB588
lbl_801CB584:
/* 801CB584 001C71E4 38 60 00 30 */ li r3, 0x30
lbl_801CB588:
/* 801CB588 001C71E8 9C 64 FF FF */ stbu r3, -1(r4)
/* 801CB58C 001C71EC 39 29 FF FC */ addi r9, r9, -4
/* 801CB590 001C71F0 42 00 FF 6C */ bdnz lbl_801CB4FC
lbl_801CB594:
/* 801CB594 001C71F4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 801CB598 001C71F8 2C 00 00 00 */ cmpwi r0, 0
/* 801CB59C 001C71FC 40 82 00 10 */ bne lbl_801CB5AC
/* 801CB5A0 001C7200 88 1E 00 03 */ lbz r0, 3(r30)
/* 801CB5A4 001C7204 2C 00 00 00 */ cmpwi r0, 0
/* 801CB5A8 001C7208 41 82 00 08 */ beq lbl_801CB5B0
lbl_801CB5AC:
/* 801CB5AC 001C720C 9F E4 FF FF */ stbu r31, -1(r4)
lbl_801CB5B0:
/* 801CB5B0 001C7210 88 1E 00 05 */ lbz r0, 5(r30)
/* 801CB5B4 001C7214 38 60 00 31 */ li r3, 0x31
/* 801CB5B8 001C7218 98 64 FF FF */ stb r3, -1(r4)
/* 801CB5BC 001C721C 28 00 00 61 */ cmplwi r0, 0x61
/* 801CB5C0 001C7220 40 82 00 10 */ bne lbl_801CB5D0
/* 801CB5C4 001C7224 38 00 00 78 */ li r0, 0x78
/* 801CB5C8 001C7228 9C 04 FF FE */ stbu r0, -2(r4)
/* 801CB5CC 001C722C 48 00 00 0C */ b lbl_801CB5D8
lbl_801CB5D0:
/* 801CB5D0 001C7230 38 00 00 58 */ li r0, 0x58
/* 801CB5D4 001C7234 9C 04 FF FE */ stbu r0, -2(r4)
lbl_801CB5D8:
/* 801CB5D8 001C7238 38 00 00 30 */ li r0, 0x30
/* 801CB5DC 001C723C 9C 04 FF FF */ stbu r0, -1(r4)
/* 801CB5E0 001C7240 88 01 00 38 */ lbz r0, 0x38(r1)
/* 801CB5E4 001C7244 7C 00 07 75 */ extsb. r0, r0
/* 801CB5E8 001C7248 41 82 00 10 */ beq lbl_801CB5F8
/* 801CB5EC 001C724C 38 00 00 2D */ li r0, 0x2d
/* 801CB5F0 001C7250 9C 04 FF FF */ stbu r0, -1(r4)
/* 801CB5F4 001C7254 48 00 00 2C */ b lbl_801CB620
lbl_801CB5F8:
/* 801CB5F8 001C7258 88 1E 00 01 */ lbz r0, 1(r30)
/* 801CB5FC 001C725C 28 00 00 01 */ cmplwi r0, 1
/* 801CB600 001C7260 40 82 00 10 */ bne lbl_801CB610
/* 801CB604 001C7264 38 00 00 2B */ li r0, 0x2b
/* 801CB608 001C7268 9C 04 FF FF */ stbu r0, -1(r4)
/* 801CB60C 001C726C 48 00 00 14 */ b lbl_801CB620
lbl_801CB610:
/* 801CB610 001C7270 28 00 00 02 */ cmplwi r0, 2
/* 801CB614 001C7274 40 82 00 0C */ bne lbl_801CB620
/* 801CB618 001C7278 38 00 00 20 */ li r0, 0x20
/* 801CB61C 001C727C 9C 04 FF FF */ stbu r0, -1(r4)
lbl_801CB620:
/* 801CB620 001C7280 7C 83 23 78 */ mr r3, r4
lbl_801CB624:
/* 801CB624 001C7284 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 801CB628 001C7288 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801CB62C 001C728C CB E1 00 80 */ lfd f31, 0x80(r1)
/* 801CB630 001C7290 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 801CB634 001C7294 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 801CB638 001C7298 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 801CB63C 001C729C 83 81 00 70 */ lwz r28, 0x70(r1)
/* 801CB640 001C72A0 7C 08 03 A6 */ mtlr r0
/* 801CB644 001C72A4 38 21 00 90 */ addi r1, r1, 0x90
/* 801CB648 001C72A8 4E 80 00 20 */ blr
.global func_801CB64C
func_801CB64C:
/* 801CB64C 001C72AC 2C 04 00 00 */ cmpwi r4, 0
/* 801CB650 001C72B0 40 80 00 20 */ bge lbl_801CB670
lbl_801CB654:
/* 801CB654 001C72B4 38 A0 00 00 */ li r5, 0
/* 801CB658 001C72B8 38 80 00 01 */ li r4, 1
/* 801CB65C 001C72BC 38 00 00 30 */ li r0, 0x30
/* 801CB660 001C72C0 B0 A3 00 02 */ sth r5, 2(r3)
/* 801CB664 001C72C4 98 83 00 04 */ stb r4, 4(r3)
/* 801CB668 001C72C8 98 03 00 05 */ stb r0, 5(r3)
/* 801CB66C 001C72CC 4E 80 00 20 */ blr
lbl_801CB670:
/* 801CB670 001C72D0 88 E3 00 04 */ lbz r7, 4(r3)
/* 801CB674 001C72D4 7C 04 38 00 */ cmpw r4, r7
/* 801CB678 001C72D8 4C 80 00 20 */ bgelr
/* 801CB67C 001C72DC 7C C3 22 14 */ add r6, r3, r4
/* 801CB680 001C72E0 88 A6 00 05 */ lbz r5, 5(r6)
/* 801CB684 001C72E4 39 06 00 05 */ addi r8, r6, 5
/* 801CB688 001C72E8 38 05 FF D0 */ addi r0, r5, -48
/* 801CB68C 001C72EC 7C 06 07 74 */ extsb r6, r0
/* 801CB690 001C72F0 2C 06 00 05 */ cmpwi r6, 5
/* 801CB694 001C72F4 40 82 00 40 */ bne lbl_801CB6D4
/* 801CB698 001C72F8 7C A3 3A 14 */ add r5, r3, r7
/* 801CB69C 001C72FC 38 A5 00 05 */ addi r5, r5, 5
lbl_801CB6A0:
/* 801CB6A0 001C7300 38 A5 FF FF */ addi r5, r5, -1
/* 801CB6A4 001C7304 7C 05 40 40 */ cmplw r5, r8
/* 801CB6A8 001C7308 40 81 00 10 */ ble lbl_801CB6B8
/* 801CB6AC 001C730C 88 05 00 00 */ lbz r0, 0(r5)
/* 801CB6B0 001C7310 2C 00 00 30 */ cmpwi r0, 0x30
/* 801CB6B4 001C7314 41 82 FF EC */ beq lbl_801CB6A0
lbl_801CB6B8:
/* 801CB6B8 001C7318 7C 05 40 40 */ cmplw r5, r8
/* 801CB6BC 001C731C 40 82 00 10 */ bne lbl_801CB6CC
/* 801CB6C0 001C7320 88 08 FF FF */ lbz r0, -1(r8)
/* 801CB6C4 001C7324 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 801CB6C8 001C7328 48 00 00 20 */ b lbl_801CB6E8
lbl_801CB6CC:
/* 801CB6CC 001C732C 38 A0 00 01 */ li r5, 1
/* 801CB6D0 001C7330 48 00 00 18 */ b lbl_801CB6E8
lbl_801CB6D4:
/* 801CB6D4 001C7334 68 C0 00 05 */ xori r0, r6, 5
/* 801CB6D8 001C7338 7C 05 0E 70 */ srawi r5, r0, 1
/* 801CB6DC 001C733C 7C 00 30 38 */ and r0, r0, r6
/* 801CB6E0 001C7340 7C 00 28 50 */ subf r0, r0, r5
/* 801CB6E4 001C7344 54 05 0F FE */ srwi r5, r0, 0x1f
lbl_801CB6E8:
/* 801CB6E8 001C7348 7C 89 03 A6 */ mtctr r4
/* 801CB6EC 001C734C 2C 04 00 00 */ cmpwi r4, 0
/* 801CB6F0 001C7350 41 82 00 4C */ beq lbl_801CB73C
lbl_801CB6F4:
/* 801CB6F4 001C7354 8C 08 FF FF */ lbzu r0, -1(r8)
/* 801CB6F8 001C7358 7C A0 2A 14 */ add r5, r0, r5
/* 801CB6FC 001C735C 38 05 FF D0 */ addi r0, r5, -48
/* 801CB700 001C7360 7C 06 07 74 */ extsb r6, r0
/* 801CB704 001C7364 68 C0 00 09 */ xori r0, r6, 9
/* 801CB708 001C7368 7C 05 0E 70 */ srawi r5, r0, 1
/* 801CB70C 001C736C 7C 00 30 38 */ and r0, r0, r6
/* 801CB710 001C7370 7C 00 28 50 */ subf r0, r0, r5
/* 801CB714 001C7374 54 05 0F FF */ rlwinm. r5, r0, 1, 0x1f, 0x1f
/* 801CB718 001C7378 40 82 00 0C */ bne lbl_801CB724
/* 801CB71C 001C737C 2C 06 00 00 */ cmpwi r6, 0
/* 801CB720 001C7380 40 82 00 0C */ bne lbl_801CB72C
lbl_801CB724:
/* 801CB724 001C7384 38 84 FF FF */ addi r4, r4, -1
/* 801CB728 001C7388 48 00 00 10 */ b lbl_801CB738
lbl_801CB72C:
/* 801CB72C 001C738C 38 06 00 30 */ addi r0, r6, 0x30
/* 801CB730 001C7390 98 08 00 00 */ stb r0, 0(r8)
/* 801CB734 001C7394 48 00 00 08 */ b lbl_801CB73C
lbl_801CB738:
/* 801CB738 001C7398 42 00 FF BC */ bdnz lbl_801CB6F4
lbl_801CB73C:
/* 801CB73C 001C739C 2C 05 00 00 */ cmpwi r5, 0
/* 801CB740 001C73A0 41 82 00 24 */ beq lbl_801CB764
/* 801CB744 001C73A4 A8 A3 00 02 */ lha r5, 2(r3)
/* 801CB748 001C73A8 38 80 00 01 */ li r4, 1
/* 801CB74C 001C73AC 38 00 00 31 */ li r0, 0x31
/* 801CB750 001C73B0 98 83 00 04 */ stb r4, 4(r3)
/* 801CB754 001C73B4 38 85 00 01 */ addi r4, r5, 1
/* 801CB758 001C73B8 B0 83 00 02 */ sth r4, 2(r3)
/* 801CB75C 001C73BC 98 03 00 05 */ stb r0, 5(r3)
/* 801CB760 001C73C0 4E 80 00 20 */ blr
lbl_801CB764:
/* 801CB764 001C73C4 2C 04 00 00 */ cmpwi r4, 0
/* 801CB768 001C73C8 41 82 FE EC */ beq lbl_801CB654
/* 801CB76C 001C73CC 98 83 00 04 */ stb r4, 4(r3)
/* 801CB770 001C73D0 4E 80 00 20 */ blr
.global func_801CB774
func_801CB774:
/* 801CB774 001C73D4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801CB778 001C73D8 7C 08 02 A6 */ mflr r0
/* 801CB77C 001C73DC 3C A0 80 42 */ lis r5, lbl_80422B98@ha
/* 801CB780 001C73E0 90 01 00 54 */ stw r0, 0x54(r1)
/* 801CB784 001C73E4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 801CB788 001C73E8 DB E1 00 48 */ stfd f31, 0x48(r1)
/* 801CB78C 001C73EC FF E0 08 90 */ fmr f31, f1
/* 801CB790 001C73F0 2C 00 01 FD */ cmpwi r0, 0x1fd
/* 801CB794 001C73F4 93 E1 00 44 */ stw r31, 0x44(r1)
/* 801CB798 001C73F8 93 C1 00 40 */ stw r30, 0x40(r1)
/* 801CB79C 001C73FC 93 A1 00 3C */ stw r29, 0x3c(r1)
/* 801CB7A0 001C7400 7C 9D 23 78 */ mr r29, r4
/* 801CB7A4 001C7404 93 81 00 38 */ stw r28, 0x38(r1)
/* 801CB7A8 001C7408 7C 7C 1B 78 */ mr r28, r3
/* 801CB7AC 001C740C 80 A5 2B 98 */ lwz r5, lbl_80422B98@l(r5)
/* 801CB7B0 001C7410 8B C5 00 00 */ lbz r30, 0(r5)
/* 801CB7B4 001C7414 40 81 00 0C */ ble lbl_801CB7C0
/* 801CB7B8 001C7418 38 60 00 00 */ li r3, 0
/* 801CB7BC 001C741C 48 00 07 64 */ b lbl_801CBF20
lbl_801CB7C0:
/* 801CB7C0 001C7420 38 60 00 00 */ li r3, 0
/* 801CB7C4 001C7424 38 00 00 20 */ li r0, 0x20
/* 801CB7C8 001C7428 98 61 00 08 */ stb r3, 8(r1)
/* 801CB7CC 001C742C 38 61 00 08 */ addi r3, r1, 8
/* 801CB7D0 001C7430 38 81 00 0C */ addi r4, r1, 0xc
/* 801CB7D4 001C7434 B0 01 00 0A */ sth r0, 0xa(r1)
/* 801CB7D8 001C7438 4B FF D2 71 */ bl func_801C8A48
/* 801CB7DC 001C743C 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CB7E0 001C7440 38 A1 00 11 */ addi r5, r1, 0x11
/* 801CB7E4 001C7444 7C A5 02 14 */ add r5, r5, r0
/* 801CB7E8 001C7448 48 00 00 1C */ b lbl_801CB804
lbl_801CB7EC:
/* 801CB7EC 001C744C 88 81 00 10 */ lbz r4, 0x10(r1)
/* 801CB7F0 001C7450 A8 61 00 0E */ lha r3, 0xe(r1)
/* 801CB7F4 001C7454 38 84 FF FF */ addi r4, r4, -1
/* 801CB7F8 001C7458 38 03 00 01 */ addi r0, r3, 1
/* 801CB7FC 001C745C 98 81 00 10 */ stb r4, 0x10(r1)
/* 801CB800 001C7460 B0 01 00 0E */ sth r0, 0xe(r1)
lbl_801CB804:
/* 801CB804 001C7464 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CB808 001C7468 28 00 00 01 */ cmplwi r0, 1
/* 801CB80C 001C746C 40 81 00 10 */ ble lbl_801CB81C
/* 801CB810 001C7470 8C 05 FF FF */ lbzu r0, -1(r5)
/* 801CB814 001C7474 2C 00 00 30 */ cmpwi r0, 0x30
/* 801CB818 001C7478 41 82 FF D4 */ beq lbl_801CB7EC
lbl_801CB81C:
/* 801CB81C 001C747C 88 01 00 11 */ lbz r0, 0x11(r1)
/* 801CB820 001C7480 2C 00 00 49 */ cmpwi r0, 0x49
/* 801CB824 001C7484 41 82 00 2C */ beq lbl_801CB850
/* 801CB828 001C7488 40 80 00 10 */ bge lbl_801CB838
/* 801CB82C 001C748C 2C 00 00 30 */ cmpwi r0, 0x30
/* 801CB830 001C7490 41 82 00 14 */ beq lbl_801CB844
/* 801CB834 001C7494 48 00 02 4C */ b lbl_801CBA80
lbl_801CB838:
/* 801CB838 001C7498 2C 00 00 4E */ cmpwi r0, 0x4e
/* 801CB83C 001C749C 41 82 01 2C */ beq lbl_801CB968
/* 801CB840 001C74A0 48 00 02 40 */ b lbl_801CBA80
lbl_801CB844:
/* 801CB844 001C74A4 38 00 00 00 */ li r0, 0
/* 801CB848 001C74A8 B0 01 00 0E */ sth r0, 0xe(r1)
/* 801CB84C 001C74AC 48 00 02 34 */ b lbl_801CBA80
lbl_801CB850:
/* 801CB850 001C74B0 C8 02 91 48 */ lfd f0, lbl_80641748-_SDA2_BASE_(r2)
/* 801CB854 001C74B4 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 801CB858 001C74B8 40 80 00 88 */ bge lbl_801CB8E0
/* 801CB85C 001C74BC 88 9D 00 05 */ lbz r4, 5(r29)
/* 801CB860 001C74C0 3B FC FF FB */ addi r31, r28, -5
/* 801CB864 001C74C4 38 00 00 00 */ li r0, 0
/* 801CB868 001C74C8 2C 04 00 00 */ cmpwi r4, 0
/* 801CB86C 001C74CC 41 80 00 0C */ blt lbl_801CB878
/* 801CB870 001C74D0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CB874 001C74D4 41 80 00 08 */ blt lbl_801CB87C
lbl_801CB878:
/* 801CB878 001C74D8 38 00 00 01 */ li r0, 1
lbl_801CB87C:
/* 801CB87C 001C74DC 2C 00 00 00 */ cmpwi r0, 0
/* 801CB880 001C74E0 41 82 00 0C */ beq lbl_801CB88C
/* 801CB884 001C74E4 38 00 00 00 */ li r0, 0
/* 801CB888 001C74E8 48 00 00 20 */ b lbl_801CB8A8
lbl_801CB88C:
/* 801CB88C 001C74EC 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CB890 001C74F0 54 80 08 3C */ slwi r0, r4, 1
/* 801CB894 001C74F4 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 801CB898 001C74F8 80 63 00 38 */ lwz r3, 0x38(r3)
/* 801CB89C 001C74FC 80 63 00 08 */ lwz r3, 8(r3)
/* 801CB8A0 001C7500 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CB8A4 001C7504 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16
lbl_801CB8A8:
/* 801CB8A8 001C7508 2C 00 00 00 */ cmpwi r0, 0
/* 801CB8AC 001C750C 41 82 00 1C */ beq lbl_801CB8C8
/* 801CB8B0 001C7510 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB8B4 001C7514 7F E3 FB 78 */ mr r3, r31
/* 801CB8B8 001C7518 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB8BC 001C751C 38 84 00 06 */ addi r4, r4, 6
/* 801CB8C0 001C7520 48 00 2A 11 */ bl func_801CE2D0
/* 801CB8C4 001C7524 48 00 00 9C */ b lbl_801CB960
lbl_801CB8C8:
/* 801CB8C8 001C7528 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB8CC 001C752C 7F E3 FB 78 */ mr r3, r31
/* 801CB8D0 001C7530 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB8D4 001C7534 38 84 00 0B */ addi r4, r4, 0xb
/* 801CB8D8 001C7538 48 00 29 F9 */ bl func_801CE2D0
/* 801CB8DC 001C753C 48 00 00 84 */ b lbl_801CB960
lbl_801CB8E0:
/* 801CB8E0 001C7540 88 9D 00 05 */ lbz r4, 5(r29)
/* 801CB8E4 001C7544 3B FC FF FC */ addi r31, r28, -4
/* 801CB8E8 001C7548 38 00 00 00 */ li r0, 0
/* 801CB8EC 001C754C 2C 04 00 00 */ cmpwi r4, 0
/* 801CB8F0 001C7550 41 80 00 0C */ blt lbl_801CB8FC
/* 801CB8F4 001C7554 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CB8F8 001C7558 41 80 00 08 */ blt lbl_801CB900
lbl_801CB8FC:
/* 801CB8FC 001C755C 38 00 00 01 */ li r0, 1
lbl_801CB900:
/* 801CB900 001C7560 2C 00 00 00 */ cmpwi r0, 0
/* 801CB904 001C7564 41 82 00 0C */ beq lbl_801CB910
/* 801CB908 001C7568 38 00 00 00 */ li r0, 0
/* 801CB90C 001C756C 48 00 00 20 */ b lbl_801CB92C
lbl_801CB910:
/* 801CB910 001C7570 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CB914 001C7574 54 80 08 3C */ slwi r0, r4, 1
/* 801CB918 001C7578 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 801CB91C 001C757C 80 63 00 38 */ lwz r3, 0x38(r3)
/* 801CB920 001C7580 80 63 00 08 */ lwz r3, 8(r3)
/* 801CB924 001C7584 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CB928 001C7588 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16
lbl_801CB92C:
/* 801CB92C 001C758C 2C 00 00 00 */ cmpwi r0, 0
/* 801CB930 001C7590 41 82 00 1C */ beq lbl_801CB94C
/* 801CB934 001C7594 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB938 001C7598 7F E3 FB 78 */ mr r3, r31
/* 801CB93C 001C759C 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB940 001C75A0 38 84 00 10 */ addi r4, r4, 0x10
/* 801CB944 001C75A4 48 00 29 8D */ bl func_801CE2D0
/* 801CB948 001C75A8 48 00 00 18 */ b lbl_801CB960
lbl_801CB94C:
/* 801CB94C 001C75AC 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB950 001C75B0 7F E3 FB 78 */ mr r3, r31
/* 801CB954 001C75B4 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB958 001C75B8 38 84 00 14 */ addi r4, r4, 0x14
/* 801CB95C 001C75BC 48 00 29 75 */ bl func_801CE2D0
lbl_801CB960:
/* 801CB960 001C75C0 7F E3 FB 78 */ mr r3, r31
/* 801CB964 001C75C4 48 00 05 BC */ b lbl_801CBF20
lbl_801CB968:
/* 801CB968 001C75C8 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CB96C 001C75CC 7C 00 07 75 */ extsb. r0, r0
/* 801CB970 001C75D0 41 82 00 88 */ beq lbl_801CB9F8
/* 801CB974 001C75D4 88 9D 00 05 */ lbz r4, 5(r29)
/* 801CB978 001C75D8 3B FC FF FB */ addi r31, r28, -5
/* 801CB97C 001C75DC 38 00 00 00 */ li r0, 0
/* 801CB980 001C75E0 2C 04 00 00 */ cmpwi r4, 0
/* 801CB984 001C75E4 41 80 00 0C */ blt lbl_801CB990
/* 801CB988 001C75E8 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CB98C 001C75EC 41 80 00 08 */ blt lbl_801CB994
lbl_801CB990:
/* 801CB990 001C75F0 38 00 00 01 */ li r0, 1
lbl_801CB994:
/* 801CB994 001C75F4 2C 00 00 00 */ cmpwi r0, 0
/* 801CB998 001C75F8 41 82 00 0C */ beq lbl_801CB9A4
/* 801CB99C 001C75FC 38 00 00 00 */ li r0, 0
/* 801CB9A0 001C7600 48 00 00 20 */ b lbl_801CB9C0
lbl_801CB9A4:
/* 801CB9A4 001C7604 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CB9A8 001C7608 54 80 08 3C */ slwi r0, r4, 1
/* 801CB9AC 001C760C 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 801CB9B0 001C7610 80 63 00 38 */ lwz r3, 0x38(r3)
/* 801CB9B4 001C7614 80 63 00 08 */ lwz r3, 8(r3)
/* 801CB9B8 001C7618 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CB9BC 001C761C 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16
lbl_801CB9C0:
/* 801CB9C0 001C7620 2C 00 00 00 */ cmpwi r0, 0
/* 801CB9C4 001C7624 41 82 00 1C */ beq lbl_801CB9E0
/* 801CB9C8 001C7628 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB9CC 001C762C 7F E3 FB 78 */ mr r3, r31
/* 801CB9D0 001C7630 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB9D4 001C7634 38 84 00 18 */ addi r4, r4, 0x18
/* 801CB9D8 001C7638 48 00 28 F9 */ bl func_801CE2D0
/* 801CB9DC 001C763C 48 00 00 9C */ b lbl_801CBA78
lbl_801CB9E0:
/* 801CB9E0 001C7640 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CB9E4 001C7644 7F E3 FB 78 */ mr r3, r31
/* 801CB9E8 001C7648 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CB9EC 001C764C 38 84 00 1D */ addi r4, r4, 0x1d
/* 801CB9F0 001C7650 48 00 28 E1 */ bl func_801CE2D0
/* 801CB9F4 001C7654 48 00 00 84 */ b lbl_801CBA78
lbl_801CB9F8:
/* 801CB9F8 001C7658 88 9D 00 05 */ lbz r4, 5(r29)
/* 801CB9FC 001C765C 3B FC FF FC */ addi r31, r28, -4
/* 801CBA00 001C7660 38 00 00 00 */ li r0, 0
/* 801CBA04 001C7664 2C 04 00 00 */ cmpwi r4, 0
/* 801CBA08 001C7668 41 80 00 0C */ blt lbl_801CBA14
/* 801CBA0C 001C766C 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CBA10 001C7670 41 80 00 08 */ blt lbl_801CBA18
lbl_801CBA14:
/* 801CBA14 001C7674 38 00 00 01 */ li r0, 1
lbl_801CBA18:
/* 801CBA18 001C7678 2C 00 00 00 */ cmpwi r0, 0
/* 801CBA1C 001C767C 41 82 00 0C */ beq lbl_801CBA28
/* 801CBA20 001C7680 38 00 00 00 */ li r0, 0
/* 801CBA24 001C7684 48 00 00 20 */ b lbl_801CBA44
lbl_801CBA28:
/* 801CBA28 001C7688 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CBA2C 001C768C 54 80 08 3C */ slwi r0, r4, 1
/* 801CBA30 001C7690 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 801CBA34 001C7694 80 63 00 38 */ lwz r3, 0x38(r3)
/* 801CBA38 001C7698 80 63 00 08 */ lwz r3, 8(r3)
/* 801CBA3C 001C769C 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CBA40 001C76A0 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16
lbl_801CBA44:
/* 801CBA44 001C76A4 2C 00 00 00 */ cmpwi r0, 0
/* 801CBA48 001C76A8 41 82 00 1C */ beq lbl_801CBA64
/* 801CBA4C 001C76AC 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CBA50 001C76B0 7F E3 FB 78 */ mr r3, r31
/* 801CBA54 001C76B4 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CBA58 001C76B8 38 84 00 22 */ addi r4, r4, 0x22
/* 801CBA5C 001C76BC 48 00 28 75 */ bl func_801CE2D0
/* 801CBA60 001C76C0 48 00 00 18 */ b lbl_801CBA78
lbl_801CBA64:
/* 801CBA64 001C76C4 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha
/* 801CBA68 001C76C8 7F E3 FB 78 */ mr r3, r31
/* 801CBA6C 001C76CC 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l
/* 801CBA70 001C76D0 38 84 00 26 */ addi r4, r4, 0x26
/* 801CBA74 001C76D4 48 00 28 5D */ bl func_801CE2D0
lbl_801CBA78:
/* 801CBA78 001C76D8 7F E3 FB 78 */ mr r3, r31
/* 801CBA7C 001C76DC 48 00 04 A4 */ b lbl_801CBF20
lbl_801CBA80:
/* 801CBA80 001C76E0 A8 A1 00 0E */ lha r5, 0xe(r1)
/* 801CBA84 001C76E4 38 60 00 00 */ li r3, 0
/* 801CBA88 001C76E8 88 81 00 10 */ lbz r4, 0x10(r1)
/* 801CBA8C 001C76EC 3B FC FF FF */ addi r31, r28, -1
/* 801CBA90 001C76F0 88 1D 00 05 */ lbz r0, 5(r29)
/* 801CBA94 001C76F4 7C 84 2A 14 */ add r4, r4, r5
/* 801CBA98 001C76F8 38 84 FF FF */ addi r4, r4, -1
/* 801CBA9C 001C76FC 2C 00 00 65 */ cmpwi r0, 0x65
/* 801CBAA0 001C7700 B0 81 00 0E */ sth r4, 0xe(r1)
/* 801CBAA4 001C7704 98 7C FF FF */ stb r3, -1(r28)
/* 801CBAA8 001C7708 41 82 00 F4 */ beq lbl_801CBB9C
/* 801CBAAC 001C770C 40 80 00 28 */ bge lbl_801CBAD4
/* 801CBAB0 001C7710 2C 00 00 46 */ cmpwi r0, 0x46
/* 801CBAB4 001C7714 41 82 02 4C */ beq lbl_801CBD00
/* 801CBAB8 001C7718 40 80 00 10 */ bge lbl_801CBAC8
/* 801CBABC 001C771C 2C 00 00 45 */ cmpwi r0, 0x45
/* 801CBAC0 001C7720 40 80 00 DC */ bge lbl_801CBB9C
/* 801CBAC4 001C7724 48 00 04 58 */ b lbl_801CBF1C
lbl_801CBAC8:
/* 801CBAC8 001C7728 2C 00 00 48 */ cmpwi r0, 0x48
/* 801CBACC 001C772C 40 80 04 50 */ bge lbl_801CBF1C
/* 801CBAD0 001C7730 48 00 00 14 */ b lbl_801CBAE4
lbl_801CBAD4:
/* 801CBAD4 001C7734 2C 00 00 67 */ cmpwi r0, 0x67
/* 801CBAD8 001C7738 41 82 00 0C */ beq lbl_801CBAE4
/* 801CBADC 001C773C 40 80 04 40 */ bge lbl_801CBF1C
/* 801CBAE0 001C7740 48 00 02 20 */ b lbl_801CBD00
lbl_801CBAE4:
/* 801CBAE4 001C7744 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 801CBAE8 001C7748 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CBAEC 001C774C 7C 00 20 00 */ cmpw r0, r4
/* 801CBAF0 001C7750 40 81 00 0C */ ble lbl_801CBAFC
/* 801CBAF4 001C7754 38 61 00 0C */ addi r3, r1, 0xc
/* 801CBAF8 001C7758 4B FF FB 55 */ bl func_801CB64C
lbl_801CBAFC:
/* 801CBAFC 001C775C A8 81 00 0E */ lha r4, 0xe(r1)
/* 801CBB00 001C7760 2C 04 FF FC */ cmpwi r4, -4
/* 801CBB04 001C7764 41 80 00 10 */ blt lbl_801CBB14
/* 801CBB08 001C7768 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801CBB0C 001C776C 7C 04 18 00 */ cmpw r4, r3
/* 801CBB10 001C7770 41 80 00 50 */ blt lbl_801CBB60
lbl_801CBB14:
/* 801CBB14 001C7774 88 1D 00 03 */ lbz r0, 3(r29)
/* 801CBB18 001C7778 2C 00 00 00 */ cmpwi r0, 0
/* 801CBB1C 001C777C 41 82 00 14 */ beq lbl_801CBB30
/* 801CBB20 001C7780 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801CBB24 001C7784 38 03 FF FF */ addi r0, r3, -1
/* 801CBB28 001C7788 90 1D 00 0C */ stw r0, 0xc(r29)
/* 801CBB2C 001C778C 48 00 00 10 */ b lbl_801CBB3C
lbl_801CBB30:
/* 801CBB30 001C7790 88 61 00 10 */ lbz r3, 0x10(r1)
/* 801CBB34 001C7794 38 03 FF FF */ addi r0, r3, -1
/* 801CBB38 001C7798 90 1D 00 0C */ stw r0, 0xc(r29)
lbl_801CBB3C:
/* 801CBB3C 001C779C 88 1D 00 05 */ lbz r0, 5(r29)
/* 801CBB40 001C77A0 28 00 00 67 */ cmplwi r0, 0x67
/* 801CBB44 001C77A4 40 82 00 10 */ bne lbl_801CBB54
/* 801CBB48 001C77A8 38 00 00 65 */ li r0, 0x65
/* 801CBB4C 001C77AC 98 1D 00 05 */ stb r0, 5(r29)
/* 801CBB50 001C77B0 48 00 00 4C */ b lbl_801CBB9C
lbl_801CBB54:
/* 801CBB54 001C77B4 38 00 00 45 */ li r0, 0x45
/* 801CBB58 001C77B8 98 1D 00 05 */ stb r0, 5(r29)
/* 801CBB5C 001C77BC 48 00 00 40 */ b lbl_801CBB9C
lbl_801CBB60:
/* 801CBB60 001C77C0 88 1D 00 03 */ lbz r0, 3(r29)
/* 801CBB64 001C77C4 2C 00 00 00 */ cmpwi r0, 0
/* 801CBB68 001C77C8 41 82 00 14 */ beq lbl_801CBB7C
/* 801CBB6C 001C77CC 38 04 00 01 */ addi r0, r4, 1
/* 801CBB70 001C77D0 7C 00 18 50 */ subf r0, r0, r3
/* 801CBB74 001C77D4 90 1D 00 0C */ stw r0, 0xc(r29)
/* 801CBB78 001C77D8 48 00 01 88 */ b lbl_801CBD00
lbl_801CBB7C:
/* 801CBB7C 001C77DC 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CBB80 001C77E0 38 64 00 01 */ addi r3, r4, 1
/* 801CBB84 001C77E4 7C 03 00 51 */ subf. r0, r3, r0
/* 801CBB88 001C77E8 90 1D 00 0C */ stw r0, 0xc(r29)
/* 801CBB8C 001C77EC 40 80 01 74 */ bge lbl_801CBD00
/* 801CBB90 001C77F0 38 00 00 00 */ li r0, 0
/* 801CBB94 001C77F4 90 1D 00 0C */ stw r0, 0xc(r29)
/* 801CBB98 001C77F8 48 00 01 68 */ b lbl_801CBD00
lbl_801CBB9C:
/* 801CBB9C 001C77FC 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801CBBA0 001C7800 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CBBA4 001C7804 38 83 00 01 */ addi r4, r3, 1
/* 801CBBA8 001C7808 7C 00 20 00 */ cmpw r0, r4
/* 801CBBAC 001C780C 40 81 00 0C */ ble lbl_801CBBB8
/* 801CBBB0 001C7810 38 61 00 0C */ addi r3, r1, 0xc
/* 801CBBB4 001C7814 4B FF FA 99 */ bl func_801CB64C
lbl_801CBBB8:
/* 801CBBB8 001C7818 A8 C1 00 0E */ lha r6, 0xe(r1)
/* 801CBBBC 001C781C 39 00 00 2B */ li r8, 0x2b
/* 801CBBC0 001C7820 2C 06 00 00 */ cmpwi r6, 0
/* 801CBBC4 001C7824 40 80 00 0C */ bge lbl_801CBBD0
/* 801CBBC8 001C7828 7C C6 00 D0 */ neg r6, r6
/* 801CBBCC 001C782C 39 00 00 2D */ li r8, 0x2d
lbl_801CBBD0:
/* 801CBBD0 001C7830 3C 60 66 66 */ lis r3, 0x66666667@ha
/* 801CBBD4 001C7834 38 E0 00 00 */ li r7, 0
/* 801CBBD8 001C7838 38 A3 66 67 */ addi r5, r3, 0x66666667@l
/* 801CBBDC 001C783C 48 00 00 38 */ b lbl_801CBC14
lbl_801CBBE0:
/* 801CBBE0 001C7840 7C 05 30 96 */ mulhw r0, r5, r6
/* 801CBBE4 001C7844 38 E7 00 01 */ addi r7, r7, 1
/* 801CBBE8 001C7848 7C 03 16 70 */ srawi r3, r0, 2
/* 801CBBEC 001C784C 54 64 0F FE */ srwi r4, r3, 0x1f
/* 801CBBF0 001C7850 7C 00 16 70 */ srawi r0, r0, 2
/* 801CBBF4 001C7854 7C 63 22 14 */ add r3, r3, r4
/* 801CBBF8 001C7858 1C 83 00 0A */ mulli r4, r3, 0xa
/* 801CBBFC 001C785C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801CBC00 001C7860 7C 84 30 50 */ subf r4, r4, r6
/* 801CBC04 001C7864 7C C0 1A 14 */ add r6, r0, r3
/* 801CBC08 001C7868 38 04 00 30 */ addi r0, r4, 0x30
/* 801CBC0C 001C786C 98 1F FF FF */ stb r0, -1(r31)
/* 801CBC10 001C7870 3B FF FF FF */ addi r31, r31, -1
lbl_801CBC14:
/* 801CBC14 001C7874 2C 06 00 00 */ cmpwi r6, 0
/* 801CBC18 001C7878 40 82 FF C8 */ bne lbl_801CBBE0
/* 801CBC1C 001C787C 2C 07 00 02 */ cmpwi r7, 2
/* 801CBC20 001C7880 41 80 FF C0 */ blt lbl_801CBBE0
/* 801CBC24 001C7884 99 1F FF FF */ stb r8, -1(r31)
/* 801CBC28 001C7888 88 1D 00 05 */ lbz r0, 5(r29)
/* 801CBC2C 001C788C 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801CBC30 001C7890 9C 1F FF FE */ stbu r0, -2(r31)
/* 801CBC34 001C7894 7C 1F E0 50 */ subf r0, r31, r28
/* 801CBC38 001C7898 7C 03 02 14 */ add r0, r3, r0
/* 801CBC3C 001C789C 2C 00 01 FD */ cmpwi r0, 0x1fd
/* 801CBC40 001C78A0 40 81 00 0C */ ble lbl_801CBC4C
/* 801CBC44 001C78A4 38 60 00 00 */ li r3, 0
/* 801CBC48 001C78A8 48 00 02 D8 */ b lbl_801CBF20
lbl_801CBC4C:
/* 801CBC4C 001C78AC 88 81 00 10 */ lbz r4, 0x10(r1)
/* 801CBC50 001C78B0 38 03 00 01 */ addi r0, r3, 1
/* 801CBC54 001C78B4 7C 04 00 00 */ cmpw r4, r0
/* 801CBC58 001C78B8 40 80 00 20 */ bge lbl_801CBC78
/* 801CBC5C 001C78BC 38 63 00 02 */ addi r3, r3, 2
/* 801CBC60 001C78C0 38 00 00 30 */ li r0, 0x30
/* 801CBC64 001C78C4 7C 64 18 50 */ subf r3, r4, r3
/* 801CBC68 001C78C8 48 00 00 08 */ b lbl_801CBC70
lbl_801CBC6C:
/* 801CBC6C 001C78CC 9C 1F FF FF */ stbu r0, -1(r31)
lbl_801CBC70:
/* 801CBC70 001C78D0 34 63 FF FF */ addic. r3, r3, -1
/* 801CBC74 001C78D4 40 82 FF F8 */ bne lbl_801CBC6C
lbl_801CBC78:
/* 801CBC78 001C78D8 88 61 00 10 */ lbz r3, 0x10(r1)
/* 801CBC7C 001C78DC 38 81 00 11 */ addi r4, r1, 0x11
/* 801CBC80 001C78E0 7C 84 1A 14 */ add r4, r4, r3
/* 801CBC84 001C78E4 48 00 00 0C */ b lbl_801CBC90
lbl_801CBC88:
/* 801CBC88 001C78E8 8C 04 FF FF */ lbzu r0, -1(r4)
/* 801CBC8C 001C78EC 9C 1F FF FF */ stbu r0, -1(r31)
lbl_801CBC90:
/* 801CBC90 001C78F0 34 63 FF FF */ addic. r3, r3, -1
/* 801CBC94 001C78F4 40 82 FF F4 */ bne lbl_801CBC88
/* 801CBC98 001C78F8 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801CBC9C 001C78FC 2C 00 00 00 */ cmpwi r0, 0
/* 801CBCA0 001C7900 40 82 00 10 */ bne lbl_801CBCB0
/* 801CBCA4 001C7904 88 1D 00 03 */ lbz r0, 3(r29)
/* 801CBCA8 001C7908 2C 00 00 00 */ cmpwi r0, 0
/* 801CBCAC 001C790C 41 82 00 08 */ beq lbl_801CBCB4
lbl_801CBCB0:
/* 801CBCB0 001C7910 9F DF FF FF */ stbu r30, -1(r31)
lbl_801CBCB4:
/* 801CBCB4 001C7914 88 01 00 11 */ lbz r0, 0x11(r1)
/* 801CBCB8 001C7918 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBCBC 001C791C 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CBCC0 001C7920 7C 00 07 75 */ extsb. r0, r0
/* 801CBCC4 001C7924 41 82 00 10 */ beq lbl_801CBCD4
/* 801CBCC8 001C7928 38 00 00 2D */ li r0, 0x2d
/* 801CBCCC 001C792C 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBCD0 001C7930 48 00 02 4C */ b lbl_801CBF1C
lbl_801CBCD4:
/* 801CBCD4 001C7934 88 1D 00 01 */ lbz r0, 1(r29)
/* 801CBCD8 001C7938 28 00 00 01 */ cmplwi r0, 1
/* 801CBCDC 001C793C 40 82 00 10 */ bne lbl_801CBCEC
/* 801CBCE0 001C7940 38 00 00 2B */ li r0, 0x2b
/* 801CBCE4 001C7944 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBCE8 001C7948 48 00 02 34 */ b lbl_801CBF1C
lbl_801CBCEC:
/* 801CBCEC 001C794C 28 00 00 02 */ cmplwi r0, 2
/* 801CBCF0 001C7950 40 82 02 2C */ bne lbl_801CBF1C
/* 801CBCF4 001C7954 38 00 00 20 */ li r0, 0x20
/* 801CBCF8 001C7958 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBCFC 001C795C 48 00 02 20 */ b lbl_801CBF1C
lbl_801CBD00:
/* 801CBD00 001C7960 88 81 00 10 */ lbz r4, 0x10(r1)
/* 801CBD04 001C7964 A8 A1 00 0E */ lha r5, 0xe(r1)
/* 801CBD08 001C7968 7C 65 20 50 */ subf r3, r5, r4
/* 801CBD0C 001C796C 35 03 FF FF */ addic. r8, r3, -1
/* 801CBD10 001C7970 40 80 00 08 */ bge lbl_801CBD18
/* 801CBD14 001C7974 39 00 00 00 */ li r8, 0
lbl_801CBD18:
/* 801CBD18 001C7978 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801CBD1C 001C797C 7C 08 00 00 */ cmpw r8, r0
/* 801CBD20 001C7980 40 81 00 2C */ ble lbl_801CBD4C
/* 801CBD24 001C7984 7C 00 40 50 */ subf r0, r0, r8
/* 801CBD28 001C7988 38 61 00 0C */ addi r3, r1, 0xc
/* 801CBD2C 001C798C 7C 80 20 50 */ subf r4, r0, r4
/* 801CBD30 001C7990 4B FF F9 1D */ bl func_801CB64C
/* 801CBD34 001C7994 88 81 00 10 */ lbz r4, 0x10(r1)
/* 801CBD38 001C7998 A8 A1 00 0E */ lha r5, 0xe(r1)
/* 801CBD3C 001C799C 7C 65 20 50 */ subf r3, r5, r4
/* 801CBD40 001C79A0 35 03 FF FF */ addic. r8, r3, -1
/* 801CBD44 001C79A4 40 80 00 08 */ bge lbl_801CBD4C
/* 801CBD48 001C79A8 39 00 00 00 */ li r8, 0
lbl_801CBD4C:
/* 801CBD4C 001C79AC 34 E5 00 01 */ addic. r7, r5, 1
/* 801CBD50 001C79B0 40 80 00 08 */ bge lbl_801CBD58
/* 801CBD54 001C79B4 38 E0 00 00 */ li r7, 0
lbl_801CBD58:
/* 801CBD58 001C79B8 7C 07 42 14 */ add r0, r7, r8
/* 801CBD5C 001C79BC 2C 00 01 FD */ cmpwi r0, 0x1fd
/* 801CBD60 001C79C0 40 81 00 0C */ ble lbl_801CBD6C
/* 801CBD64 001C79C4 38 60 00 00 */ li r3, 0
/* 801CBD68 001C79C8 48 00 01 B8 */ b lbl_801CBF20
lbl_801CBD6C:
/* 801CBD6C 001C79CC 38 C1 00 11 */ addi r6, r1, 0x11
/* 801CBD70 001C79D0 38 A0 00 00 */ li r5, 0
/* 801CBD74 001C79D4 7C C6 22 14 */ add r6, r6, r4
/* 801CBD78 001C79D8 38 60 00 30 */ li r3, 0x30
/* 801CBD7C 001C79DC 48 00 00 0C */ b lbl_801CBD88
lbl_801CBD80:
/* 801CBD80 001C79E0 9C 7F FF FF */ stbu r3, -1(r31)
/* 801CBD84 001C79E4 38 A5 00 01 */ addi r5, r5, 1
lbl_801CBD88:
/* 801CBD88 001C79E8 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801CBD8C 001C79EC 7C 08 00 50 */ subf r0, r8, r0
/* 801CBD90 001C79F0 7C 05 00 00 */ cmpw r5, r0
/* 801CBD94 001C79F4 41 80 FF EC */ blt lbl_801CBD80
/* 801CBD98 001C79F8 38 60 00 00 */ li r3, 0
/* 801CBD9C 001C79FC 48 00 00 10 */ b lbl_801CBDAC
lbl_801CBDA0:
/* 801CBDA0 001C7A00 8C 06 FF FF */ lbzu r0, -1(r6)
/* 801CBDA4 001C7A04 38 63 00 01 */ addi r3, r3, 1
/* 801CBDA8 001C7A08 9C 1F FF FF */ stbu r0, -1(r31)
lbl_801CBDAC:
/* 801CBDAC 001C7A0C 7C 03 40 00 */ cmpw r3, r8
/* 801CBDB0 001C7A10 40 80 00 10 */ bge lbl_801CBDC0
/* 801CBDB4 001C7A14 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CBDB8 001C7A18 7C 03 00 00 */ cmpw r3, r0
/* 801CBDBC 001C7A1C 41 80 FF E4 */ blt lbl_801CBDA0
lbl_801CBDC0:
/* 801CBDC0 001C7A20 7C 03 40 00 */ cmpw r3, r8
/* 801CBDC4 001C7A24 7C 63 40 50 */ subf r3, r3, r8
/* 801CBDC8 001C7A28 38 80 00 30 */ li r4, 0x30
/* 801CBDCC 001C7A2C 40 80 00 48 */ bge lbl_801CBE14
/* 801CBDD0 001C7A30 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 801CBDD4 001C7A34 7C 09 03 A6 */ mtctr r0
/* 801CBDD8 001C7A38 41 82 00 30 */ beq lbl_801CBE08
lbl_801CBDDC:
/* 801CBDDC 001C7A3C 98 9F FF FF */ stb r4, -1(r31)
/* 801CBDE0 001C7A40 98 9F FF FE */ stb r4, -2(r31)
/* 801CBDE4 001C7A44 98 9F FF FD */ stb r4, -3(r31)
/* 801CBDE8 001C7A48 98 9F FF FC */ stb r4, -4(r31)
/* 801CBDEC 001C7A4C 98 9F FF FB */ stb r4, -5(r31)
/* 801CBDF0 001C7A50 98 9F FF FA */ stb r4, -6(r31)
/* 801CBDF4 001C7A54 98 9F FF F9 */ stb r4, -7(r31)
/* 801CBDF8 001C7A58 9C 9F FF F8 */ stbu r4, -8(r31)
/* 801CBDFC 001C7A5C 42 00 FF E0 */ bdnz lbl_801CBDDC
/* 801CBE00 001C7A60 70 63 00 07 */ andi. r3, r3, 7
/* 801CBE04 001C7A64 41 82 00 10 */ beq lbl_801CBE14
lbl_801CBE08:
/* 801CBE08 001C7A68 7C 69 03 A6 */ mtctr r3
lbl_801CBE0C:
/* 801CBE0C 001C7A6C 9C 9F FF FF */ stbu r4, -1(r31)
/* 801CBE10 001C7A70 42 00 FF FC */ bdnz lbl_801CBE0C
lbl_801CBE14:
/* 801CBE14 001C7A74 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801CBE18 001C7A78 2C 00 00 00 */ cmpwi r0, 0
/* 801CBE1C 001C7A7C 40 82 00 10 */ bne lbl_801CBE2C
/* 801CBE20 001C7A80 88 1D 00 03 */ lbz r0, 3(r29)
/* 801CBE24 001C7A84 2C 00 00 00 */ cmpwi r0, 0
/* 801CBE28 001C7A88 41 82 00 08 */ beq lbl_801CBE30
lbl_801CBE2C:
/* 801CBE2C 001C7A8C 9F DF FF FF */ stbu r30, -1(r31)
lbl_801CBE30:
/* 801CBE30 001C7A90 2C 07 00 00 */ cmpwi r7, 0
/* 801CBE34 001C7A94 41 82 00 A0 */ beq lbl_801CBED4
/* 801CBE38 001C7A98 38 80 00 00 */ li r4, 0
/* 801CBE3C 001C7A9C 38 60 00 30 */ li r3, 0x30
/* 801CBE40 001C7AA0 48 00 00 0C */ b lbl_801CBE4C
lbl_801CBE44:
/* 801CBE44 001C7AA4 9C 7F FF FF */ stbu r3, -1(r31)
/* 801CBE48 001C7AA8 38 84 00 01 */ addi r4, r4, 1
lbl_801CBE4C:
/* 801CBE4C 001C7AAC 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801CBE50 001C7AB0 7C 00 38 50 */ subf r0, r0, r7
/* 801CBE54 001C7AB4 7C 04 00 00 */ cmpw r4, r0
/* 801CBE58 001C7AB8 41 80 FF EC */ blt lbl_801CBE44
/* 801CBE5C 001C7ABC 7C 04 38 00 */ cmpw r4, r7
/* 801CBE60 001C7AC0 7C 64 38 50 */ subf r3, r4, r7
/* 801CBE64 001C7AC4 40 80 00 78 */ bge lbl_801CBEDC
/* 801CBE68 001C7AC8 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 801CBE6C 001C7ACC 7C 09 03 A6 */ mtctr r0
/* 801CBE70 001C7AD0 41 82 00 50 */ beq lbl_801CBEC0
lbl_801CBE74:
/* 801CBE74 001C7AD4 88 06 FF FF */ lbz r0, -1(r6)
/* 801CBE78 001C7AD8 98 1F FF FF */ stb r0, -1(r31)
/* 801CBE7C 001C7ADC 88 06 FF FE */ lbz r0, -2(r6)
/* 801CBE80 001C7AE0 98 1F FF FE */ stb r0, -2(r31)
/* 801CBE84 001C7AE4 88 06 FF FD */ lbz r0, -3(r6)
/* 801CBE88 001C7AE8 98 1F FF FD */ stb r0, -3(r31)
/* 801CBE8C 001C7AEC 88 06 FF FC */ lbz r0, -4(r6)
/* 801CBE90 001C7AF0 98 1F FF FC */ stb r0, -4(r31)
/* 801CBE94 001C7AF4 88 06 FF FB */ lbz r0, -5(r6)
/* 801CBE98 001C7AF8 98 1F FF FB */ stb r0, -5(r31)
/* 801CBE9C 001C7AFC 88 06 FF FA */ lbz r0, -6(r6)
/* 801CBEA0 001C7B00 98 1F FF FA */ stb r0, -6(r31)
/* 801CBEA4 001C7B04 88 06 FF F9 */ lbz r0, -7(r6)
/* 801CBEA8 001C7B08 98 1F FF F9 */ stb r0, -7(r31)
/* 801CBEAC 001C7B0C 8C 06 FF F8 */ lbzu r0, -8(r6)
/* 801CBEB0 001C7B10 9C 1F FF F8 */ stbu r0, -8(r31)
/* 801CBEB4 001C7B14 42 00 FF C0 */ bdnz lbl_801CBE74
/* 801CBEB8 001C7B18 70 63 00 07 */ andi. r3, r3, 7
/* 801CBEBC 001C7B1C 41 82 00 20 */ beq lbl_801CBEDC
lbl_801CBEC0:
/* 801CBEC0 001C7B20 7C 69 03 A6 */ mtctr r3
lbl_801CBEC4:
/* 801CBEC4 001C7B24 8C 06 FF FF */ lbzu r0, -1(r6)
/* 801CBEC8 001C7B28 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBECC 001C7B2C 42 00 FF F8 */ bdnz lbl_801CBEC4
/* 801CBED0 001C7B30 48 00 00 0C */ b lbl_801CBEDC
lbl_801CBED4:
/* 801CBED4 001C7B34 38 00 00 30 */ li r0, 0x30
/* 801CBED8 001C7B38 9C 1F FF FF */ stbu r0, -1(r31)
lbl_801CBEDC:
/* 801CBEDC 001C7B3C 88 01 00 0C */ lbz r0, 0xc(r1)
/* 801CBEE0 001C7B40 7C 00 07 75 */ extsb. r0, r0
/* 801CBEE4 001C7B44 41 82 00 10 */ beq lbl_801CBEF4
/* 801CBEE8 001C7B48 38 00 00 2D */ li r0, 0x2d
/* 801CBEEC 001C7B4C 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBEF0 001C7B50 48 00 00 2C */ b lbl_801CBF1C
lbl_801CBEF4:
/* 801CBEF4 001C7B54 88 1D 00 01 */ lbz r0, 1(r29)
/* 801CBEF8 001C7B58 28 00 00 01 */ cmplwi r0, 1
/* 801CBEFC 001C7B5C 40 82 00 10 */ bne lbl_801CBF0C
/* 801CBF00 001C7B60 38 00 00 2B */ li r0, 0x2b
/* 801CBF04 001C7B64 9C 1F FF FF */ stbu r0, -1(r31)
/* 801CBF08 001C7B68 48 00 00 14 */ b lbl_801CBF1C
lbl_801CBF0C:
/* 801CBF0C 001C7B6C 28 00 00 02 */ cmplwi r0, 2
/* 801CBF10 001C7B70 40 82 00 0C */ bne lbl_801CBF1C
/* 801CBF14 001C7B74 38 00 00 20 */ li r0, 0x20
/* 801CBF18 001C7B78 9C 1F FF FF */ stbu r0, -1(r31)
lbl_801CBF1C:
/* 801CBF1C 001C7B7C 7F E3 FB 78 */ mr r3, r31
lbl_801CBF20:
/* 801CBF20 001C7B80 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CBF24 001C7B84 CB E1 00 48 */ lfd f31, 0x48(r1)
/* 801CBF28 001C7B88 83 E1 00 44 */ lwz r31, 0x44(r1)
/* 801CBF2C 001C7B8C 83 C1 00 40 */ lwz r30, 0x40(r1)
/* 801CBF30 001C7B90 83 A1 00 3C */ lwz r29, 0x3c(r1)
/* 801CBF34 001C7B94 83 81 00 38 */ lwz r28, 0x38(r1)
/* 801CBF38 001C7B98 7C 08 03 A6 */ mtlr r0
/* 801CBF3C 001C7B9C 38 21 00 50 */ addi r1, r1, 0x50
/* 801CBF40 001C7BA0 4E 80 00 20 */ blr
.global func_801CBF44
func_801CBF44:
/* 801CBF44 001C7BA4 94 21 FD 40 */ stwu r1, -0x2c0(r1)
/* 801CBF48 001C7BA8 7C 08 02 A6 */ mflr r0
/* 801CBF4C 001C7BAC 90 01 02 C4 */ stw r0, 0x2c4(r1)
/* 801CBF50 001C7BB0 BE 01 02 80 */ stmw r16, 0x280(r1)
/* 801CBF54 001C7BB4 3A 00 00 20 */ li r16, 0x20
/* 801CBF58 001C7BB8 3F A0 80 40 */ lis r29, lbl_803FCCC0@ha
/* 801CBF5C 001C7BBC 7C 71 1B 78 */ mr r17, r3
/* 801CBF60 001C7BC0 7C 92 23 78 */ mr r18, r4
/* 801CBF64 001C7BC4 7C B7 2B 78 */ mr r23, r5
/* 801CBF68 001C7BC8 7C D3 33 78 */ mr r19, r6
/* 801CBF6C 001C7BCC 3B BD CC C0 */ addi r29, r29, lbl_803FCCC0@l
/* 801CBF70 001C7BD0 3B 81 02 7F */ addi r28, r1, 0x27f
/* 801CBF74 001C7BD4 3B 20 00 00 */ li r25, 0
/* 801CBF78 001C7BD8 3B E0 00 25 */ li r31, 0x25
/* 801CBF7C 001C7BDC 3F C0 80 42 */ lis r30, 0x8042
/* 801CBF80 001C7BE0 9A 01 00 09 */ stb r16, 9(r1)
/* 801CBF84 001C7BE4 48 00 07 F8 */ b lbl_801CC77C
lbl_801CBF88:
/* 801CBF88 001C7BE8 7E E3 BB 78 */ mr r3, r23
/* 801CBF8C 001C7BEC 38 80 00 25 */ li r4, 0x25
/* 801CBF90 001C7BF0 48 00 26 19 */ bl func_801CE5A8
/* 801CBF94 001C7BF4 2C 03 00 00 */ cmpwi r3, 0
/* 801CBF98 001C7BF8 7C 78 1B 78 */ mr r24, r3
/* 801CBF9C 001C7BFC 40 82 00 40 */ bne lbl_801CBFDC
/* 801CBFA0 001C7C00 7E E3 BB 78 */ mr r3, r23
/* 801CBFA4 001C7C04 4B FF AB C1 */ bl func_801C6B64
/* 801CBFA8 001C7C08 2C 03 00 00 */ cmpwi r3, 0
/* 801CBFAC 001C7C0C 7C 65 1B 78 */ mr r5, r3
/* 801CBFB0 001C7C10 7F 39 1A 14 */ add r25, r25, r3
/* 801CBFB4 001C7C14 41 82 07 D4 */ beq lbl_801CC788
/* 801CBFB8 001C7C18 7E 2C 8B 78 */ mr r12, r17
/* 801CBFBC 001C7C1C 7E 43 93 78 */ mr r3, r18
/* 801CBFC0 001C7C20 7E E4 BB 78 */ mr r4, r23
/* 801CBFC4 001C7C24 7D 89 03 A6 */ mtctr r12
/* 801CBFC8 001C7C28 4E 80 04 21 */ bctrl
/* 801CBFCC 001C7C2C 2C 03 00 00 */ cmpwi r3, 0
/* 801CBFD0 001C7C30 40 82 07 B8 */ bne lbl_801CC788
/* 801CBFD4 001C7C34 38 60 FF FF */ li r3, -1
/* 801CBFD8 001C7C38 48 00 07 B4 */ b lbl_801CC78C
lbl_801CBFDC:
/* 801CBFDC 001C7C3C 7C B7 18 51 */ subf. r5, r23, r3
/* 801CBFE0 001C7C40 7F 39 2A 14 */ add r25, r25, r5
/* 801CBFE4 001C7C44 41 82 00 28 */ beq lbl_801CC00C
/* 801CBFE8 001C7C48 7E 2C 8B 78 */ mr r12, r17
/* 801CBFEC 001C7C4C 7E 43 93 78 */ mr r3, r18
/* 801CBFF0 001C7C50 7E E4 BB 78 */ mr r4, r23
/* 801CBFF4 001C7C54 7D 89 03 A6 */ mtctr r12
/* 801CBFF8 001C7C58 4E 80 04 21 */ bctrl
/* 801CBFFC 001C7C5C 2C 03 00 00 */ cmpwi r3, 0
/* 801CC000 001C7C60 40 82 00 0C */ bne lbl_801CC00C
/* 801CC004 001C7C64 38 60 FF FF */ li r3, -1
/* 801CC008 001C7C68 48 00 07 84 */ b lbl_801CC78C
lbl_801CC00C:
/* 801CC00C 001C7C6C 7F 03 C3 78 */ mr r3, r24
/* 801CC010 001C7C70 7E 64 9B 78 */ mr r4, r19
/* 801CC014 001C7C74 38 A1 00 70 */ addi r5, r1, 0x70
/* 801CC018 001C7C78 4B FF E7 A9 */ bl func_801CA7C0
/* 801CC01C 001C7C7C 88 01 00 75 */ lbz r0, 0x75(r1)
/* 801CC020 001C7C80 7C 77 1B 78 */ mr r23, r3
/* 801CC024 001C7C84 2C 00 00 68 */ cmpwi r0, 0x68
/* 801CC028 001C7C88 41 82 05 D4 */ beq lbl_801CC5FC
/* 801CC02C 001C7C8C 40 80 00 60 */ bge lbl_801CC08C
/* 801CC030 001C7C90 2C 00 00 58 */ cmpwi r0, 0x58
/* 801CC034 001C7C94 41 82 02 10 */ beq lbl_801CC244
/* 801CC038 001C7C98 40 80 00 30 */ bge lbl_801CC068
/* 801CC03C 001C7C9C 2C 00 00 41 */ cmpwi r0, 0x41
/* 801CC040 001C7CA0 41 82 03 D0 */ beq lbl_801CC410
/* 801CC044 001C7CA4 40 80 00 10 */ bge lbl_801CC054
/* 801CC048 001C7CA8 2C 00 00 25 */ cmpwi r0, 0x25
/* 801CC04C 001C7CAC 41 82 05 A0 */ beq lbl_801CC5EC
/* 801CC050 001C7CB0 48 00 05 AC */ b lbl_801CC5FC
lbl_801CC054:
/* 801CC054 001C7CB4 2C 00 00 48 */ cmpwi r0, 0x48
/* 801CC058 001C7CB8 40 80 05 A4 */ bge lbl_801CC5FC
/* 801CC05C 001C7CBC 2C 00 00 45 */ cmpwi r0, 0x45
/* 801CC060 001C7CC0 40 80 03 40 */ bge lbl_801CC3A0
/* 801CC064 001C7CC4 48 00 05 98 */ b lbl_801CC5FC
lbl_801CC068:
/* 801CC068 001C7CC8 2C 00 00 63 */ cmpwi r0, 0x63
/* 801CC06C 001C7CCC 41 82 05 60 */ beq lbl_801CC5CC
/* 801CC070 001C7CD0 40 80 00 10 */ bge lbl_801CC080
/* 801CC074 001C7CD4 2C 00 00 61 */ cmpwi r0, 0x61
/* 801CC078 001C7CD8 41 82 03 98 */ beq lbl_801CC410
/* 801CC07C 001C7CDC 48 00 05 80 */ b lbl_801CC5FC
lbl_801CC080:
/* 801CC080 001C7CE0 2C 00 00 65 */ cmpwi r0, 0x65
/* 801CC084 001C7CE4 40 80 03 1C */ bge lbl_801CC3A0
/* 801CC088 001C7CE8 48 00 00 60 */ b lbl_801CC0E8
lbl_801CC08C:
/* 801CC08C 001C7CEC 2C 00 00 74 */ cmpwi r0, 0x74
/* 801CC090 001C7CF0 41 82 05 6C */ beq lbl_801CC5FC
/* 801CC094 001C7CF4 40 80 00 30 */ bge lbl_801CC0C4
/* 801CC098 001C7CF8 2C 00 00 6F */ cmpwi r0, 0x6f
/* 801CC09C 001C7CFC 41 82 01 A8 */ beq lbl_801CC244
/* 801CC0A0 001C7D00 40 80 00 18 */ bge lbl_801CC0B8
/* 801CC0A4 001C7D04 2C 00 00 6E */ cmpwi r0, 0x6e
/* 801CC0A8 001C7D08 40 80 04 AC */ bge lbl_801CC554
/* 801CC0AC 001C7D0C 2C 00 00 6A */ cmpwi r0, 0x6a
/* 801CC0B0 001C7D10 40 80 05 4C */ bge lbl_801CC5FC
/* 801CC0B4 001C7D14 48 00 00 34 */ b lbl_801CC0E8
lbl_801CC0B8:
/* 801CC0B8 001C7D18 2C 00 00 73 */ cmpwi r0, 0x73
/* 801CC0BC 001C7D1C 40 80 03 C4 */ bge lbl_801CC480
/* 801CC0C0 001C7D20 48 00 05 3C */ b lbl_801CC5FC
lbl_801CC0C4:
/* 801CC0C4 001C7D24 2C 00 00 78 */ cmpwi r0, 0x78
/* 801CC0C8 001C7D28 41 82 01 7C */ beq lbl_801CC244
/* 801CC0CC 001C7D2C 40 80 00 10 */ bge lbl_801CC0DC
/* 801CC0D0 001C7D30 2C 00 00 76 */ cmpwi r0, 0x76
/* 801CC0D4 001C7D34 40 80 05 28 */ bge lbl_801CC5FC
/* 801CC0D8 001C7D38 48 00 01 6C */ b lbl_801CC244
lbl_801CC0DC:
/* 801CC0DC 001C7D3C 2C 00 00 FF */ cmpwi r0, 0xff
/* 801CC0E0 001C7D40 41 82 05 1C */ beq lbl_801CC5FC
/* 801CC0E4 001C7D44 48 00 05 18 */ b lbl_801CC5FC
lbl_801CC0E8:
/* 801CC0E8 001C7D48 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC0EC 001C7D4C 28 00 00 03 */ cmplwi r0, 3
/* 801CC0F0 001C7D50 40 82 00 18 */ bne lbl_801CC108
/* 801CC0F4 001C7D54 7E 63 9B 78 */ mr r3, r19
/* 801CC0F8 001C7D58 38 80 00 01 */ li r4, 1
/* 801CC0FC 001C7D5C 4B FF AA 85 */ bl func_801C6B80
/* 801CC100 001C7D60 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CC104 001C7D64 48 00 00 8C */ b lbl_801CC190
lbl_801CC108:
/* 801CC108 001C7D68 28 00 00 04 */ cmplwi r0, 4
/* 801CC10C 001C7D6C 40 82 00 1C */ bne lbl_801CC128
/* 801CC110 001C7D70 7E 63 9B 78 */ mr r3, r19
/* 801CC114 001C7D74 38 80 00 02 */ li r4, 2
/* 801CC118 001C7D78 4B FF AA 69 */ bl func_801C6B80
/* 801CC11C 001C7D7C 82 A3 00 00 */ lwz r21, 0(r3)
/* 801CC120 001C7D80 82 83 00 04 */ lwz r20, 4(r3)
/* 801CC124 001C7D84 48 00 00 6C */ b lbl_801CC190
lbl_801CC128:
/* 801CC128 001C7D88 28 00 00 06 */ cmplwi r0, 6
/* 801CC12C 001C7D8C 40 82 00 1C */ bne lbl_801CC148
/* 801CC130 001C7D90 7E 63 9B 78 */ mr r3, r19
/* 801CC134 001C7D94 38 80 00 02 */ li r4, 2
/* 801CC138 001C7D98 4B FF AA 49 */ bl func_801C6B80
/* 801CC13C 001C7D9C 82 A3 00 00 */ lwz r21, 0(r3)
/* 801CC140 001C7DA0 82 83 00 04 */ lwz r20, 4(r3)
/* 801CC144 001C7DA4 48 00 00 4C */ b lbl_801CC190
lbl_801CC148:
/* 801CC148 001C7DA8 28 00 00 07 */ cmplwi r0, 7
/* 801CC14C 001C7DAC 40 82 00 18 */ bne lbl_801CC164
/* 801CC150 001C7DB0 7E 63 9B 78 */ mr r3, r19
/* 801CC154 001C7DB4 38 80 00 01 */ li r4, 1
/* 801CC158 001C7DB8 4B FF AA 29 */ bl func_801C6B80
/* 801CC15C 001C7DBC 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CC160 001C7DC0 48 00 00 30 */ b lbl_801CC190
lbl_801CC164:
/* 801CC164 001C7DC4 28 00 00 08 */ cmplwi r0, 8
/* 801CC168 001C7DC8 40 82 00 18 */ bne lbl_801CC180
/* 801CC16C 001C7DCC 7E 63 9B 78 */ mr r3, r19
/* 801CC170 001C7DD0 38 80 00 01 */ li r4, 1
/* 801CC174 001C7DD4 4B FF AA 0D */ bl func_801C6B80
/* 801CC178 001C7DD8 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CC17C 001C7DDC 48 00 00 14 */ b lbl_801CC190
lbl_801CC180:
/* 801CC180 001C7DE0 7E 63 9B 78 */ mr r3, r19
/* 801CC184 001C7DE4 38 80 00 01 */ li r4, 1
/* 801CC188 001C7DE8 4B FF A9 F9 */ bl func_801C6B80
/* 801CC18C 001C7DEC 82 C3 00 00 */ lwz r22, 0(r3)
lbl_801CC190:
/* 801CC190 001C7DF0 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC194 001C7DF4 28 00 00 02 */ cmplwi r0, 2
/* 801CC198 001C7DF8 40 82 00 08 */ bne lbl_801CC1A0
/* 801CC19C 001C7DFC 7E D6 07 34 */ extsh r22, r22
lbl_801CC1A0:
/* 801CC1A0 001C7E00 28 00 00 01 */ cmplwi r0, 1
/* 801CC1A4 001C7E04 40 82 00 08 */ bne lbl_801CC1AC
/* 801CC1A8 001C7E08 7E D6 07 74 */ extsb r22, r22
lbl_801CC1AC:
/* 801CC1AC 001C7E0C 28 00 00 04 */ cmplwi r0, 4
/* 801CC1B0 001C7E10 41 82 00 0C */ beq lbl_801CC1BC
/* 801CC1B4 001C7E14 28 00 00 06 */ cmplwi r0, 6
/* 801CC1B8 001C7E18 40 82 00 48 */ bne lbl_801CC200
lbl_801CC1BC:
/* 801CC1BC 001C7E1C 81 21 00 70 */ lwz r9, 0x70(r1)
/* 801CC1C0 001C7E20 7E 84 A3 78 */ mr r4, r20
/* 801CC1C4 001C7E24 81 01 00 74 */ lwz r8, 0x74(r1)
/* 801CC1C8 001C7E28 7E A3 AB 78 */ mr r3, r21
/* 801CC1CC 001C7E2C 80 E1 00 78 */ lwz r7, 0x78(r1)
/* 801CC1D0 001C7E30 38 A1 02 80 */ addi r5, r1, 0x280
/* 801CC1D4 001C7E34 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC1D8 001C7E38 38 C1 00 60 */ addi r6, r1, 0x60
/* 801CC1DC 001C7E3C 91 21 00 60 */ stw r9, 0x60(r1)
/* 801CC1E0 001C7E40 91 01 00 64 */ stw r8, 0x64(r1)
/* 801CC1E4 001C7E44 90 E1 00 68 */ stw r7, 0x68(r1)
/* 801CC1E8 001C7E48 90 01 00 6C */ stw r0, 0x6c(r1)
/* 801CC1EC 001C7E4C 4B FF ED F9 */ bl func_801CAFE4
/* 801CC1F0 001C7E50 2C 03 00 00 */ cmpwi r3, 0
/* 801CC1F4 001C7E54 7C 7A 1B 78 */ mr r26, r3
/* 801CC1F8 001C7E58 41 82 04 04 */ beq lbl_801CC5FC
/* 801CC1FC 001C7E5C 48 00 00 40 */ b lbl_801CC23C
lbl_801CC200:
/* 801CC200 001C7E60 81 01 00 70 */ lwz r8, 0x70(r1)
/* 801CC204 001C7E64 7E C3 B3 78 */ mr r3, r22
/* 801CC208 001C7E68 80 E1 00 74 */ lwz r7, 0x74(r1)
/* 801CC20C 001C7E6C 38 81 02 80 */ addi r4, r1, 0x280
/* 801CC210 001C7E70 80 C1 00 78 */ lwz r6, 0x78(r1)
/* 801CC214 001C7E74 38 A1 00 50 */ addi r5, r1, 0x50
/* 801CC218 001C7E78 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC21C 001C7E7C 91 01 00 50 */ stw r8, 0x50(r1)
/* 801CC220 001C7E80 90 E1 00 54 */ stw r7, 0x54(r1)
/* 801CC224 001C7E84 90 C1 00 58 */ stw r6, 0x58(r1)
/* 801CC228 001C7E88 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801CC22C 001C7E8C 4B FF EB 91 */ bl func_801CADBC
/* 801CC230 001C7E90 2C 03 00 00 */ cmpwi r3, 0
/* 801CC234 001C7E94 7C 7A 1B 78 */ mr r26, r3
/* 801CC238 001C7E98 41 82 03 C4 */ beq lbl_801CC5FC
lbl_801CC23C:
/* 801CC23C 001C7E9C 7F 7A E0 50 */ subf r27, r26, r28
/* 801CC240 001C7EA0 48 00 04 00 */ b lbl_801CC640
lbl_801CC244:
/* 801CC244 001C7EA4 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC248 001C7EA8 28 00 00 03 */ cmplwi r0, 3
/* 801CC24C 001C7EAC 40 82 00 18 */ bne lbl_801CC264
/* 801CC250 001C7EB0 7E 63 9B 78 */ mr r3, r19
/* 801CC254 001C7EB4 38 80 00 01 */ li r4, 1
/* 801CC258 001C7EB8 4B FF A9 29 */ bl func_801C6B80
/* 801CC25C 001C7EBC 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CC260 001C7EC0 48 00 00 8C */ b lbl_801CC2EC
lbl_801CC264:
/* 801CC264 001C7EC4 28 00 00 04 */ cmplwi r0, 4
/* 801CC268 001C7EC8 40 82 00 1C */ bne lbl_801CC284
/* 801CC26C 001C7ECC 7E 63 9B 78 */ mr r3, r19
/* 801CC270 001C7ED0 38 80 00 02 */ li r4, 2
/* 801CC274 001C7ED4 4B FF A9 0D */ bl func_801C6B80
/* 801CC278 001C7ED8 82 A3 00 00 */ lwz r21, 0(r3)
/* 801CC27C 001C7EDC 82 83 00 04 */ lwz r20, 4(r3)
/* 801CC280 001C7EE0 48 00 00 6C */ b lbl_801CC2EC
lbl_801CC284:
/* 801CC284 001C7EE4 28 00 00 06 */ cmplwi r0, 6
/* 801CC288 001C7EE8 40 82 00 1C */ bne lbl_801CC2A4
/* 801CC28C 001C7EEC 7E 63 9B 78 */ mr r3, r19
/* 801CC290 001C7EF0 38 80 00 02 */ li r4, 2
/* 801CC294 001C7EF4 4B FF A8 ED */ bl func_801C6B80
/* 801CC298 001C7EF8 82 A3 00 00 */ lwz r21, 0(r3)
/* 801CC29C 001C7EFC 82 83 00 04 */ lwz r20, 4(r3)
/* 801CC2A0 001C7F00 48 00 00 4C */ b lbl_801CC2EC
lbl_801CC2A4:
/* 801CC2A4 001C7F04 28 00 00 07 */ cmplwi r0, 7
/* 801CC2A8 001C7F08 40 82 00 18 */ bne lbl_801CC2C0
/* 801CC2AC 001C7F0C 7E 63 9B 78 */ mr r3, r19
/* 801CC2B0 001C7F10 38 80 00 01 */ li r4, 1
/* 801CC2B4 001C7F14 4B FF A8 CD */ bl func_801C6B80
/* 801CC2B8 001C7F18 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CC2BC 001C7F1C 48 00 00 30 */ b lbl_801CC2EC
lbl_801CC2C0:
/* 801CC2C0 001C7F20 28 00 00 08 */ cmplwi r0, 8
/* 801CC2C4 001C7F24 40 82 00 18 */ bne lbl_801CC2DC
/* 801CC2C8 001C7F28 7E 63 9B 78 */ mr r3, r19
/* 801CC2CC 001C7F2C 38 80 00 01 */ li r4, 1
/* 801CC2D0 001C7F30 4B FF A8 B1 */ bl func_801C6B80
/* 801CC2D4 001C7F34 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CC2D8 001C7F38 48 00 00 14 */ b lbl_801CC2EC
lbl_801CC2DC:
/* 801CC2DC 001C7F3C 7E 63 9B 78 */ mr r3, r19
/* 801CC2E0 001C7F40 38 80 00 01 */ li r4, 1
/* 801CC2E4 001C7F44 4B FF A8 9D */ bl func_801C6B80
/* 801CC2E8 001C7F48 82 C3 00 00 */ lwz r22, 0(r3)
lbl_801CC2EC:
/* 801CC2EC 001C7F4C 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC2F0 001C7F50 28 00 00 02 */ cmplwi r0, 2
/* 801CC2F4 001C7F54 40 82 00 08 */ bne lbl_801CC2FC
/* 801CC2F8 001C7F58 56 D6 04 3E */ clrlwi r22, r22, 0x10
lbl_801CC2FC:
/* 801CC2FC 001C7F5C 28 00 00 01 */ cmplwi r0, 1
/* 801CC300 001C7F60 40 82 00 08 */ bne lbl_801CC308
/* 801CC304 001C7F64 56 D6 06 3E */ clrlwi r22, r22, 0x18
lbl_801CC308:
/* 801CC308 001C7F68 28 00 00 04 */ cmplwi r0, 4
/* 801CC30C 001C7F6C 41 82 00 0C */ beq lbl_801CC318
/* 801CC310 001C7F70 28 00 00 06 */ cmplwi r0, 6
/* 801CC314 001C7F74 40 82 00 48 */ bne lbl_801CC35C
lbl_801CC318:
/* 801CC318 001C7F78 81 21 00 70 */ lwz r9, 0x70(r1)
/* 801CC31C 001C7F7C 7E 84 A3 78 */ mr r4, r20
/* 801CC320 001C7F80 81 01 00 74 */ lwz r8, 0x74(r1)
/* 801CC324 001C7F84 7E A3 AB 78 */ mr r3, r21
/* 801CC328 001C7F88 80 E1 00 78 */ lwz r7, 0x78(r1)
/* 801CC32C 001C7F8C 38 A1 02 80 */ addi r5, r1, 0x280
/* 801CC330 001C7F90 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC334 001C7F94 38 C1 00 40 */ addi r6, r1, 0x40
/* 801CC338 001C7F98 91 21 00 40 */ stw r9, 0x40(r1)
/* 801CC33C 001C7F9C 91 01 00 44 */ stw r8, 0x44(r1)
/* 801CC340 001C7FA0 90 E1 00 48 */ stw r7, 0x48(r1)
/* 801CC344 001C7FA4 90 01 00 4C */ stw r0, 0x4c(r1)
/* 801CC348 001C7FA8 4B FF EC 9D */ bl func_801CAFE4
/* 801CC34C 001C7FAC 2C 03 00 00 */ cmpwi r3, 0
/* 801CC350 001C7FB0 7C 7A 1B 78 */ mr r26, r3
/* 801CC354 001C7FB4 41 82 02 A8 */ beq lbl_801CC5FC
/* 801CC358 001C7FB8 48 00 00 40 */ b lbl_801CC398
lbl_801CC35C:
/* 801CC35C 001C7FBC 81 01 00 70 */ lwz r8, 0x70(r1)
/* 801CC360 001C7FC0 7E C3 B3 78 */ mr r3, r22
/* 801CC364 001C7FC4 80 E1 00 74 */ lwz r7, 0x74(r1)
/* 801CC368 001C7FC8 38 81 02 80 */ addi r4, r1, 0x280
/* 801CC36C 001C7FCC 80 C1 00 78 */ lwz r6, 0x78(r1)
/* 801CC370 001C7FD0 38 A1 00 30 */ addi r5, r1, 0x30
/* 801CC374 001C7FD4 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC378 001C7FD8 91 01 00 30 */ stw r8, 0x30(r1)
/* 801CC37C 001C7FDC 90 E1 00 34 */ stw r7, 0x34(r1)
/* 801CC380 001C7FE0 90 C1 00 38 */ stw r6, 0x38(r1)
/* 801CC384 001C7FE4 90 01 00 3C */ stw r0, 0x3c(r1)
/* 801CC388 001C7FE8 4B FF EA 35 */ bl func_801CADBC
/* 801CC38C 001C7FEC 2C 03 00 00 */ cmpwi r3, 0
/* 801CC390 001C7FF0 7C 7A 1B 78 */ mr r26, r3
/* 801CC394 001C7FF4 41 82 02 68 */ beq lbl_801CC5FC
lbl_801CC398:
/* 801CC398 001C7FF8 7F 7A E0 50 */ subf r27, r26, r28
/* 801CC39C 001C7FFC 48 00 02 A4 */ b lbl_801CC640
lbl_801CC3A0:
/* 801CC3A0 001C8000 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC3A4 001C8004 28 00 00 09 */ cmplwi r0, 9
/* 801CC3A8 001C8008 40 82 00 18 */ bne lbl_801CC3C0
/* 801CC3AC 001C800C 7E 63 9B 78 */ mr r3, r19
/* 801CC3B0 001C8010 38 80 00 03 */ li r4, 3
/* 801CC3B4 001C8014 4B FF A7 CD */ bl func_801C6B80
/* 801CC3B8 001C8018 C8 23 00 00 */ lfd f1, 0(r3)
/* 801CC3BC 001C801C 48 00 00 14 */ b lbl_801CC3D0
lbl_801CC3C0:
/* 801CC3C0 001C8020 7E 63 9B 78 */ mr r3, r19
/* 801CC3C4 001C8024 38 80 00 03 */ li r4, 3
/* 801CC3C8 001C8028 4B FF A7 B9 */ bl func_801C6B80
/* 801CC3CC 001C802C C8 23 00 00 */ lfd f1, 0(r3)
lbl_801CC3D0:
/* 801CC3D0 001C8030 80 E1 00 70 */ lwz r7, 0x70(r1)
/* 801CC3D4 001C8034 38 61 02 80 */ addi r3, r1, 0x280
/* 801CC3D8 001C8038 80 C1 00 74 */ lwz r6, 0x74(r1)
/* 801CC3DC 001C803C 38 81 00 20 */ addi r4, r1, 0x20
/* 801CC3E0 001C8040 80 A1 00 78 */ lwz r5, 0x78(r1)
/* 801CC3E4 001C8044 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC3E8 001C8048 90 E1 00 20 */ stw r7, 0x20(r1)
/* 801CC3EC 001C804C 90 C1 00 24 */ stw r6, 0x24(r1)
/* 801CC3F0 001C8050 90 A1 00 28 */ stw r5, 0x28(r1)
/* 801CC3F4 001C8054 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801CC3F8 001C8058 4B FF F3 7D */ bl func_801CB774
/* 801CC3FC 001C805C 2C 03 00 00 */ cmpwi r3, 0
/* 801CC400 001C8060 7C 7A 1B 78 */ mr r26, r3
/* 801CC404 001C8064 41 82 01 F8 */ beq lbl_801CC5FC
/* 801CC408 001C8068 7F 63 E0 50 */ subf r27, r3, r28
/* 801CC40C 001C806C 48 00 02 34 */ b lbl_801CC640
lbl_801CC410:
/* 801CC410 001C8070 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC414 001C8074 28 00 00 09 */ cmplwi r0, 9
/* 801CC418 001C8078 40 82 00 18 */ bne lbl_801CC430
/* 801CC41C 001C807C 7E 63 9B 78 */ mr r3, r19
/* 801CC420 001C8080 38 80 00 03 */ li r4, 3
/* 801CC424 001C8084 4B FF A7 5D */ bl func_801C6B80
/* 801CC428 001C8088 C8 23 00 00 */ lfd f1, 0(r3)
/* 801CC42C 001C808C 48 00 00 14 */ b lbl_801CC440
lbl_801CC430:
/* 801CC430 001C8090 7E 63 9B 78 */ mr r3, r19
/* 801CC434 001C8094 38 80 00 03 */ li r4, 3
/* 801CC438 001C8098 4B FF A7 49 */ bl func_801C6B80
/* 801CC43C 001C809C C8 23 00 00 */ lfd f1, 0(r3)
lbl_801CC440:
/* 801CC440 001C80A0 80 E1 00 70 */ lwz r7, 0x70(r1)
/* 801CC444 001C80A4 38 61 02 80 */ addi r3, r1, 0x280
/* 801CC448 001C80A8 80 C1 00 74 */ lwz r6, 0x74(r1)
/* 801CC44C 001C80AC 38 81 00 10 */ addi r4, r1, 0x10
/* 801CC450 001C80B0 80 A1 00 78 */ lwz r5, 0x78(r1)
/* 801CC454 001C80B4 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC458 001C80B8 90 E1 00 10 */ stw r7, 0x10(r1)
/* 801CC45C 001C80BC 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801CC460 001C80C0 90 A1 00 18 */ stw r5, 0x18(r1)
/* 801CC464 001C80C4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801CC468 001C80C8 4B FF EE 1D */ bl func_801CB284
/* 801CC46C 001C80CC 2C 03 00 00 */ cmpwi r3, 0
/* 801CC470 001C80D0 7C 7A 1B 78 */ mr r26, r3
/* 801CC474 001C80D4 41 82 01 88 */ beq lbl_801CC5FC
/* 801CC478 001C80D8 7F 63 E0 50 */ subf r27, r3, r28
/* 801CC47C 001C80DC 48 00 01 C4 */ b lbl_801CC640
lbl_801CC480:
/* 801CC480 001C80E0 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC484 001C80E4 28 00 00 05 */ cmplwi r0, 5
/* 801CC488 001C80E8 40 82 00 3C */ bne lbl_801CC4C4
/* 801CC48C 001C80EC 7E 63 9B 78 */ mr r3, r19
/* 801CC490 001C80F0 38 80 00 01 */ li r4, 1
/* 801CC494 001C80F4 4B FF A6 ED */ bl func_801C6B80
/* 801CC498 001C80F8 80 83 00 00 */ lwz r4, 0(r3)
/* 801CC49C 001C80FC 2C 04 00 00 */ cmpwi r4, 0
/* 801CC4A0 001C8100 40 82 00 08 */ bne lbl_801CC4A8
/* 801CC4A4 001C8104 38 8D 83 E0 */ addi r4, r13, lbl_8063D6A0-_SDA_BASE_
lbl_801CC4A8:
/* 801CC4A8 001C8108 38 61 00 80 */ addi r3, r1, 0x80
/* 801CC4AC 001C810C 38 A0 02 00 */ li r5, 0x200
/* 801CC4B0 001C8110 4B FF DD 0D */ bl func_801CA1BC
/* 801CC4B4 001C8114 2C 03 00 00 */ cmpwi r3, 0
/* 801CC4B8 001C8118 41 80 01 44 */ blt lbl_801CC5FC
/* 801CC4BC 001C811C 3B 41 00 80 */ addi r26, r1, 0x80
/* 801CC4C0 001C8120 48 00 00 14 */ b lbl_801CC4D4
lbl_801CC4C4:
/* 801CC4C4 001C8124 7E 63 9B 78 */ mr r3, r19
/* 801CC4C8 001C8128 38 80 00 01 */ li r4, 1
/* 801CC4CC 001C812C 4B FF A6 B5 */ bl func_801C6B80
/* 801CC4D0 001C8130 83 43 00 00 */ lwz r26, 0(r3)
lbl_801CC4D4:
/* 801CC4D4 001C8134 2C 1A 00 00 */ cmpwi r26, 0
/* 801CC4D8 001C8138 40 82 00 08 */ bne lbl_801CC4E0
/* 801CC4DC 001C813C 3B 5D 00 2A */ addi r26, r29, 0x2a
lbl_801CC4E0:
/* 801CC4E0 001C8140 88 01 00 73 */ lbz r0, 0x73(r1)
/* 801CC4E4 001C8144 2C 00 00 00 */ cmpwi r0, 0
/* 801CC4E8 001C8148 41 82 00 2C */ beq lbl_801CC514
/* 801CC4EC 001C814C 88 01 00 72 */ lbz r0, 0x72(r1)
/* 801CC4F0 001C8150 8B 7A 00 00 */ lbz r27, 0(r26)
/* 801CC4F4 001C8154 3B 5A 00 01 */ addi r26, r26, 1
/* 801CC4F8 001C8158 2C 00 00 00 */ cmpwi r0, 0
/* 801CC4FC 001C815C 41 82 01 44 */ beq lbl_801CC640
/* 801CC500 001C8160 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 801CC504 001C8164 7C 1B 00 00 */ cmpw r27, r0
/* 801CC508 001C8168 40 81 01 38 */ ble lbl_801CC640
/* 801CC50C 001C816C 7C 1B 03 78 */ mr r27, r0
/* 801CC510 001C8170 48 00 01 30 */ b lbl_801CC640
lbl_801CC514:
/* 801CC514 001C8174 88 01 00 72 */ lbz r0, 0x72(r1)
/* 801CC518 001C8178 2C 00 00 00 */ cmpwi r0, 0
/* 801CC51C 001C817C 41 82 00 28 */ beq lbl_801CC544
/* 801CC520 001C8180 83 61 00 7C */ lwz r27, 0x7c(r1)
/* 801CC524 001C8184 7F 43 D3 78 */ mr r3, r26
/* 801CC528 001C8188 38 80 00 00 */ li r4, 0
/* 801CC52C 001C818C 7F 65 DB 78 */ mr r5, r27
/* 801CC530 001C8190 4B FF DE 11 */ bl memchr
/* 801CC534 001C8194 2C 03 00 00 */ cmpwi r3, 0
/* 801CC538 001C8198 41 82 01 08 */ beq lbl_801CC640
/* 801CC53C 001C819C 7F 7A 18 50 */ subf r27, r26, r3
/* 801CC540 001C81A0 48 00 01 00 */ b lbl_801CC640
lbl_801CC544:
/* 801CC544 001C81A4 7F 43 D3 78 */ mr r3, r26
/* 801CC548 001C81A8 4B FF A6 1D */ bl func_801C6B64
/* 801CC54C 001C81AC 7C 7B 1B 78 */ mr r27, r3
/* 801CC550 001C81B0 48 00 00 F0 */ b lbl_801CC640
lbl_801CC554:
/* 801CC554 001C81B4 7E 63 9B 78 */ mr r3, r19
/* 801CC558 001C81B8 38 80 00 01 */ li r4, 1
/* 801CC55C 001C81BC 4B FF A6 25 */ bl func_801C6B80
/* 801CC560 001C81C0 88 01 00 74 */ lbz r0, 0x74(r1)
/* 801CC564 001C81C4 80 83 00 00 */ lwz r4, 0(r3)
/* 801CC568 001C81C8 28 00 00 08 */ cmplwi r0, 8
/* 801CC56C 001C81CC 41 81 02 10 */ bgt lbl_801CC77C
/* 801CC570 001C81D0 38 7E 2F BC */ addi r3, r30, 0x2fbc
/* 801CC574 001C81D4 54 00 10 3A */ slwi r0, r0, 2
/* 801CC578 001C81D8 7C 63 00 2E */ lwzx r3, r3, r0
/* 801CC57C 001C81DC 7C 69 03 A6 */ mtctr r3
/* 801CC580 001C81E0 4E 80 04 20 */ bctr
/* 801CC584 001C81E4 93 24 00 00 */ stw r25, 0(r4)
/* 801CC588 001C81E8 48 00 01 F4 */ b lbl_801CC77C
/* 801CC58C 001C81EC B3 24 00 00 */ sth r25, 0(r4)
/* 801CC590 001C81F0 48 00 01 EC */ b lbl_801CC77C
/* 801CC594 001C81F4 93 24 00 00 */ stw r25, 0(r4)
/* 801CC598 001C81F8 48 00 01 E4 */ b lbl_801CC77C
/* 801CC59C 001C81FC 93 24 00 04 */ stw r25, 4(r4)
/* 801CC5A0 001C8200 7F 20 FE 70 */ srawi r0, r25, 0x1f
/* 801CC5A4 001C8204 90 04 00 00 */ stw r0, 0(r4)
/* 801CC5A8 001C8208 48 00 01 D4 */ b lbl_801CC77C
/* 801CC5AC 001C820C 93 24 00 00 */ stw r25, 0(r4)
/* 801CC5B0 001C8210 48 00 01 CC */ b lbl_801CC77C
/* 801CC5B4 001C8214 93 24 00 00 */ stw r25, 0(r4)
/* 801CC5B8 001C8218 48 00 01 C4 */ b lbl_801CC77C
/* 801CC5BC 001C821C 93 24 00 04 */ stw r25, 4(r4)
/* 801CC5C0 001C8220 7F 20 FE 70 */ srawi r0, r25, 0x1f
/* 801CC5C4 001C8224 90 04 00 00 */ stw r0, 0(r4)
/* 801CC5C8 001C8228 48 00 01 B4 */ b lbl_801CC77C
lbl_801CC5CC:
/* 801CC5CC 001C822C 7E 63 9B 78 */ mr r3, r19
/* 801CC5D0 001C8230 3B 41 00 80 */ addi r26, r1, 0x80
/* 801CC5D4 001C8234 38 80 00 01 */ li r4, 1
/* 801CC5D8 001C8238 4B FF A5 A9 */ bl func_801C6B80
/* 801CC5DC 001C823C 80 03 00 00 */ lwz r0, 0(r3)
/* 801CC5E0 001C8240 3B 60 00 01 */ li r27, 1
/* 801CC5E4 001C8244 98 01 00 80 */ stb r0, 0x80(r1)
/* 801CC5E8 001C8248 48 00 00 58 */ b lbl_801CC640
lbl_801CC5EC:
/* 801CC5EC 001C824C 9B E1 00 80 */ stb r31, 0x80(r1)
/* 801CC5F0 001C8250 3B 41 00 80 */ addi r26, r1, 0x80
/* 801CC5F4 001C8254 3B 60 00 01 */ li r27, 1
/* 801CC5F8 001C8258 48 00 00 48 */ b lbl_801CC640
lbl_801CC5FC:
/* 801CC5FC 001C825C 7F 03 C3 78 */ mr r3, r24
/* 801CC600 001C8260 4B FF A5 65 */ bl func_801C6B64
/* 801CC604 001C8264 2C 03 00 00 */ cmpwi r3, 0
/* 801CC608 001C8268 7C 65 1B 78 */ mr r5, r3
/* 801CC60C 001C826C 7F 39 1A 14 */ add r25, r25, r3
/* 801CC610 001C8270 41 82 00 28 */ beq lbl_801CC638
/* 801CC614 001C8274 7E 2C 8B 78 */ mr r12, r17
/* 801CC618 001C8278 7E 43 93 78 */ mr r3, r18
/* 801CC61C 001C827C 7F 04 C3 78 */ mr r4, r24
/* 801CC620 001C8280 7D 89 03 A6 */ mtctr r12
/* 801CC624 001C8284 4E 80 04 21 */ bctrl
/* 801CC628 001C8288 2C 03 00 00 */ cmpwi r3, 0
/* 801CC62C 001C828C 40 82 00 0C */ bne lbl_801CC638
/* 801CC630 001C8290 38 60 FF FF */ li r3, -1
/* 801CC634 001C8294 48 00 01 58 */ b lbl_801CC78C
lbl_801CC638:
/* 801CC638 001C8298 7F 23 CB 78 */ mr r3, r25
/* 801CC63C 001C829C 48 00 01 50 */ b lbl_801CC78C
lbl_801CC640:
/* 801CC640 001C82A0 88 01 00 70 */ lbz r0, 0x70(r1)
/* 801CC644 001C82A4 7F 78 DB 78 */ mr r24, r27
/* 801CC648 001C82A8 2C 00 00 00 */ cmpwi r0, 0
/* 801CC64C 001C82AC 41 82 00 B0 */ beq lbl_801CC6FC
/* 801CC650 001C82B0 28 00 00 02 */ cmplwi r0, 2
/* 801CC654 001C82B4 38 60 00 20 */ li r3, 0x20
/* 801CC658 001C82B8 40 82 00 08 */ bne lbl_801CC660
/* 801CC65C 001C82BC 38 60 00 30 */ li r3, 0x30
lbl_801CC660:
/* 801CC660 001C82C0 98 61 00 09 */ stb r3, 9(r1)
/* 801CC664 001C82C4 88 1A 00 00 */ lbz r0, 0(r26)
/* 801CC668 001C82C8 7C 00 07 74 */ extsb r0, r0
/* 801CC66C 001C82CC 2C 00 00 2B */ cmpwi r0, 0x2b
/* 801CC670 001C82D0 41 82 00 14 */ beq lbl_801CC684
/* 801CC674 001C82D4 2C 00 00 2D */ cmpwi r0, 0x2d
/* 801CC678 001C82D8 41 82 00 0C */ beq lbl_801CC684
/* 801CC67C 001C82DC 2C 00 00 20 */ cmpwi r0, 0x20
/* 801CC680 001C82E0 40 82 00 70 */ bne lbl_801CC6F0
lbl_801CC684:
/* 801CC684 001C82E4 7C 60 07 74 */ extsb r0, r3
/* 801CC688 001C82E8 2C 00 00 30 */ cmpwi r0, 0x30
/* 801CC68C 001C82EC 40 82 00 64 */ bne lbl_801CC6F0
/* 801CC690 001C82F0 7E 2C 8B 78 */ mr r12, r17
/* 801CC694 001C82F4 7E 43 93 78 */ mr r3, r18
/* 801CC698 001C82F8 7F 44 D3 78 */ mr r4, r26
/* 801CC69C 001C82FC 38 A0 00 01 */ li r5, 1
/* 801CC6A0 001C8300 7D 89 03 A6 */ mtctr r12
/* 801CC6A4 001C8304 4E 80 04 21 */ bctrl
/* 801CC6A8 001C8308 2C 03 00 00 */ cmpwi r3, 0
/* 801CC6AC 001C830C 40 82 00 0C */ bne lbl_801CC6B8
/* 801CC6B0 001C8310 38 60 FF FF */ li r3, -1
/* 801CC6B4 001C8314 48 00 00 D8 */ b lbl_801CC78C
lbl_801CC6B8:
/* 801CC6B8 001C8318 3B 5A 00 01 */ addi r26, r26, 1
/* 801CC6BC 001C831C 3B 7B FF FF */ addi r27, r27, -1
/* 801CC6C0 001C8320 48 00 00 30 */ b lbl_801CC6F0
lbl_801CC6C4:
/* 801CC6C4 001C8324 7E 2C 8B 78 */ mr r12, r17
/* 801CC6C8 001C8328 7E 43 93 78 */ mr r3, r18
/* 801CC6CC 001C832C 38 81 00 09 */ addi r4, r1, 9
/* 801CC6D0 001C8330 38 A0 00 01 */ li r5, 1
/* 801CC6D4 001C8334 7D 89 03 A6 */ mtctr r12
/* 801CC6D8 001C8338 4E 80 04 21 */ bctrl
/* 801CC6DC 001C833C 2C 03 00 00 */ cmpwi r3, 0
/* 801CC6E0 001C8340 40 82 00 0C */ bne lbl_801CC6EC
/* 801CC6E4 001C8344 38 60 FF FF */ li r3, -1
/* 801CC6E8 001C8348 48 00 00 A4 */ b lbl_801CC78C
lbl_801CC6EC:
/* 801CC6EC 001C834C 3B 18 00 01 */ addi r24, r24, 1
lbl_801CC6F0:
/* 801CC6F0 001C8350 80 01 00 78 */ lwz r0, 0x78(r1)
/* 801CC6F4 001C8354 7C 18 00 00 */ cmpw r24, r0
/* 801CC6F8 001C8358 41 80 FF CC */ blt lbl_801CC6C4
lbl_801CC6FC:
/* 801CC6FC 001C835C 2C 1B 00 00 */ cmpwi r27, 0
/* 801CC700 001C8360 41 82 00 2C */ beq lbl_801CC72C
/* 801CC704 001C8364 7E 2C 8B 78 */ mr r12, r17
/* 801CC708 001C8368 7E 43 93 78 */ mr r3, r18
/* 801CC70C 001C836C 7F 44 D3 78 */ mr r4, r26
/* 801CC710 001C8370 7F 65 DB 78 */ mr r5, r27
/* 801CC714 001C8374 7D 89 03 A6 */ mtctr r12
/* 801CC718 001C8378 4E 80 04 21 */ bctrl
/* 801CC71C 001C837C 2C 03 00 00 */ cmpwi r3, 0
/* 801CC720 001C8380 40 82 00 0C */ bne lbl_801CC72C
/* 801CC724 001C8384 38 60 FF FF */ li r3, -1
/* 801CC728 001C8388 48 00 00 64 */ b lbl_801CC78C
lbl_801CC72C:
/* 801CC72C 001C838C 88 01 00 70 */ lbz r0, 0x70(r1)
/* 801CC730 001C8390 2C 00 00 00 */ cmpwi r0, 0
/* 801CC734 001C8394 40 82 00 44 */ bne lbl_801CC778
/* 801CC738 001C8398 48 00 00 34 */ b lbl_801CC76C
lbl_801CC73C:
/* 801CC73C 001C839C 7E 2C 8B 78 */ mr r12, r17
/* 801CC740 001C83A0 7E 43 93 78 */ mr r3, r18
/* 801CC744 001C83A4 9A 01 00 08 */ stb r16, 8(r1)
/* 801CC748 001C83A8 38 81 00 08 */ addi r4, r1, 8
/* 801CC74C 001C83AC 38 A0 00 01 */ li r5, 1
/* 801CC750 001C83B0 7D 89 03 A6 */ mtctr r12
/* 801CC754 001C83B4 4E 80 04 21 */ bctrl
/* 801CC758 001C83B8 2C 03 00 00 */ cmpwi r3, 0
/* 801CC75C 001C83BC 40 82 00 0C */ bne lbl_801CC768
/* 801CC760 001C83C0 38 60 FF FF */ li r3, -1
/* 801CC764 001C83C4 48 00 00 28 */ b lbl_801CC78C
lbl_801CC768:
/* 801CC768 001C83C8 3B 18 00 01 */ addi r24, r24, 1
lbl_801CC76C:
/* 801CC76C 001C83CC 80 01 00 78 */ lwz r0, 0x78(r1)
/* 801CC770 001C83D0 7C 18 00 00 */ cmpw r24, r0
/* 801CC774 001C83D4 41 80 FF C8 */ blt lbl_801CC73C
lbl_801CC778:
/* 801CC778 001C83D8 7F 39 C2 14 */ add r25, r25, r24
lbl_801CC77C:
/* 801CC77C 001C83DC 88 17 00 00 */ lbz r0, 0(r23)
/* 801CC780 001C83E0 7C 00 07 75 */ extsb. r0, r0
/* 801CC784 001C83E4 40 82 F8 04 */ bne lbl_801CBF88
lbl_801CC788:
/* 801CC788 001C83E8 7F 23 CB 78 */ mr r3, r25
lbl_801CC78C:
/* 801CC78C 001C83EC BA 01 02 80 */ lmw r16, 0x280(r1)
/* 801CC790 001C83F0 80 01 02 C4 */ lwz r0, 0x2c4(r1)
/* 801CC794 001C83F4 7C 08 03 A6 */ mtlr r0
/* 801CC798 001C83F8 38 21 02 C0 */ addi r1, r1, 0x2c0
/* 801CC79C 001C83FC 4E 80 00 20 */ blr
lbl_801CC7A0:
/* 801CC7A0 001C8400 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801CC7A4 001C8404 7C 08 02 A6 */ mflr r0
/* 801CC7A8 001C8408 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CC7AC 001C840C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801CC7B0 001C8410 7C BF 2B 78 */ mr r31, r5
/* 801CC7B4 001C8414 93 C1 00 08 */ stw r30, 8(r1)
/* 801CC7B8 001C8418 7C 7E 1B 78 */ mr r30, r3
/* 801CC7BC 001C841C 7C 83 23 78 */ mr r3, r4
/* 801CC7C0 001C8420 38 80 00 01 */ li r4, 1
/* 801CC7C4 001C8424 7F C6 F3 78 */ mr r6, r30
/* 801CC7C8 001C8428 4B FF D1 01 */ bl func_801C98C8
/* 801CC7CC 001C842C 7C 1F 18 40 */ cmplw r31, r3
/* 801CC7D0 001C8430 40 82 00 08 */ bne lbl_801CC7D8
/* 801CC7D4 001C8434 48 00 00 08 */ b lbl_801CC7DC
lbl_801CC7D8:
/* 801CC7D8 001C8438 3B C0 00 00 */ li r30, 0
lbl_801CC7DC:
/* 801CC7DC 001C843C 7F C3 F3 78 */ mr r3, r30
/* 801CC7E0 001C8440 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801CC7E4 001C8444 83 C1 00 08 */ lwz r30, 8(r1)
/* 801CC7E8 001C8448 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CC7EC 001C844C 7C 08 03 A6 */ mtlr r0
/* 801CC7F0 001C8450 38 21 00 10 */ addi r1, r1, 0x10
/* 801CC7F4 001C8454 4E 80 00 20 */ blr
lbl_801CC7F8:
/* 801CC7F8 001C8458 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801CC7FC 001C845C 7C 08 02 A6 */ mflr r0
/* 801CC800 001C8460 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CC804 001C8464 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801CC808 001C8468 93 C1 00 08 */ stw r30, 8(r1)
/* 801CC80C 001C846C 7C 7E 1B 78 */ mr r30, r3
/* 801CC810 001C8470 80 C3 00 08 */ lwz r6, 8(r3)
/* 801CC814 001C8474 80 E3 00 04 */ lwz r7, 4(r3)
/* 801CC818 001C8478 7C 06 2A 14 */ add r0, r6, r5
/* 801CC81C 001C847C 7C 00 38 40 */ cmplw r0, r7
/* 801CC820 001C8480 7F E6 38 50 */ subf r31, r6, r7
/* 801CC824 001C8484 41 81 00 08 */ bgt lbl_801CC82C
/* 801CC828 001C8488 7C BF 2B 78 */ mr r31, r5
lbl_801CC82C:
/* 801CC82C 001C848C 80 03 00 00 */ lwz r0, 0(r3)
/* 801CC830 001C8490 7F E5 FB 78 */ mr r5, r31
/* 801CC834 001C8494 7C 60 32 14 */ add r3, r0, r6
/* 801CC838 001C8498 4B E3 77 C9 */ bl memcpy
/* 801CC83C 001C849C 80 1E 00 08 */ lwz r0, 8(r30)
/* 801CC840 001C84A0 38 60 00 01 */ li r3, 1
/* 801CC844 001C84A4 7C 00 FA 14 */ add r0, r0, r31
/* 801CC848 001C84A8 90 1E 00 08 */ stw r0, 8(r30)
/* 801CC84C 001C84AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801CC850 001C84B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 801CC854 001C84B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CC858 001C84B8 7C 08 03 A6 */ mtlr r0
/* 801CC85C 001C84BC 38 21 00 10 */ addi r1, r1, 0x10
/* 801CC860 001C84C0 4E 80 00 20 */ blr
.global func_801CC864
func_801CC864:
/* 801CC864 001C84C4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801CC868 001C84C8 7C 08 02 A6 */ mflr r0
/* 801CC86C 001C84CC 90 01 00 84 */ stw r0, 0x84(r1)
/* 801CC870 001C84D0 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 801CC874 001C84D4 93 C1 00 78 */ stw r30, 0x78(r1)
/* 801CC878 001C84D8 7C 7E 1B 78 */ mr r30, r3
/* 801CC87C 001C84DC 40 86 00 24 */ bne cr1, lbl_801CC8A0
/* 801CC880 001C84E0 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 801CC884 001C84E4 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 801CC888 001C84E8 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 801CC88C 001C84EC D8 81 00 40 */ stfd f4, 0x40(r1)
/* 801CC890 001C84F0 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 801CC894 001C84F4 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 801CC898 001C84F8 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 801CC89C 001C84FC D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_801CC8A0:
/* 801CC8A0 001C8500 3F E0 80 42 */ lis r31, lbl_804228F0@ha
/* 801CC8A4 001C8504 90 81 00 0C */ stw r4, 0xc(r1)
/* 801CC8A8 001C8508 3B FF 28 F0 */ addi r31, r31, lbl_804228F0@l
/* 801CC8AC 001C850C 38 80 FF FF */ li r4, -1
/* 801CC8B0 001C8510 90 61 00 08 */ stw r3, 8(r1)
/* 801CC8B4 001C8514 38 7F 00 50 */ addi r3, r31, 0x50
/* 801CC8B8 001C8518 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801CC8BC 001C851C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801CC8C0 001C8520 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801CC8C4 001C8524 91 01 00 1C */ stw r8, 0x1c(r1)
/* 801CC8C8 001C8528 91 21 00 20 */ stw r9, 0x20(r1)
/* 801CC8CC 001C852C 91 41 00 24 */ stw r10, 0x24(r1)
/* 801CC8D0 001C8530 48 00 3F 95 */ bl func_801D0864
/* 801CC8D4 001C8534 2C 03 00 00 */ cmpwi r3, 0
/* 801CC8D8 001C8538 41 80 00 0C */ blt lbl_801CC8E4
/* 801CC8DC 001C853C 38 60 FF FF */ li r3, -1
/* 801CC8E0 001C8540 48 00 00 34 */ b lbl_801CC914
lbl_801CC8E4:
/* 801CC8E4 001C8544 38 81 00 88 */ addi r4, r1, 0x88
/* 801CC8E8 001C8548 38 01 00 08 */ addi r0, r1, 8
/* 801CC8EC 001C854C 3C A0 01 00 */ lis r5, 0x100
/* 801CC8F0 001C8550 3C 60 80 1D */ lis r3, lbl_801CC7A0@ha
/* 801CC8F4 001C8554 90 A1 00 68 */ stw r5, 0x68(r1)
/* 801CC8F8 001C8558 38 C1 00 68 */ addi r6, r1, 0x68
/* 801CC8FC 001C855C 7F C5 F3 78 */ mr r5, r30
/* 801CC900 001C8560 38 63 C7 A0 */ addi r3, r3, lbl_801CC7A0@l
/* 801CC904 001C8564 90 81 00 6C */ stw r4, 0x6c(r1)
/* 801CC908 001C8568 38 9F 00 50 */ addi r4, r31, 0x50
/* 801CC90C 001C856C 90 01 00 70 */ stw r0, 0x70(r1)
/* 801CC910 001C8570 4B FF F6 35 */ bl func_801CBF44
lbl_801CC914:
/* 801CC914 001C8574 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801CC918 001C8578 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 801CC91C 001C857C 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 801CC920 001C8580 7C 08 03 A6 */ mtlr r0
/* 801CC924 001C8584 38 21 00 80 */ addi r1, r1, 0x80
/* 801CC928 001C8588 4E 80 00 20 */ blr
.global func_801CC92C
func_801CC92C:
/* 801CC92C 001C858C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801CC930 001C8590 7C 08 02 A6 */ mflr r0
/* 801CC934 001C8594 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CC938 001C8598 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801CC93C 001C859C 3F E0 80 42 */ lis r31, lbl_804228F0@ha
/* 801CC940 001C85A0 3B FF 28 F0 */ addi r31, r31, lbl_804228F0@l
/* 801CC944 001C85A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801CC948 001C85A8 7C 9E 23 78 */ mr r30, r4
/* 801CC94C 001C85AC 38 80 FF FF */ li r4, -1
/* 801CC950 001C85B0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801CC954 001C85B4 7C 7D 1B 78 */ mr r29, r3
/* 801CC958 001C85B8 38 7F 00 50 */ addi r3, r31, 0x50
/* 801CC95C 001C85BC 48 00 3F 09 */ bl func_801D0864
/* 801CC960 001C85C0 2C 03 00 00 */ cmpwi r3, 0
/* 801CC964 001C85C4 41 80 00 0C */ blt lbl_801CC970
/* 801CC968 001C85C8 38 60 FF FF */ li r3, -1
/* 801CC96C 001C85CC 48 00 00 1C */ b lbl_801CC988
lbl_801CC970:
/* 801CC970 001C85D0 3C 60 80 1D */ lis r3, lbl_801CC7A0@ha
/* 801CC974 001C85D4 7F A5 EB 78 */ mr r5, r29
/* 801CC978 001C85D8 7F C6 F3 78 */ mr r6, r30
/* 801CC97C 001C85DC 38 9F 00 50 */ addi r4, r31, 0x50
/* 801CC980 001C85E0 38 63 C7 A0 */ addi r3, r3, lbl_801CC7A0@l
/* 801CC984 001C85E4 4B FF F5 C1 */ bl func_801CBF44
lbl_801CC988:
/* 801CC988 001C85E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801CC98C 001C85EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801CC990 001C85F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801CC994 001C85F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801CC998 001C85F8 7C 08 03 A6 */ mtlr r0
/* 801CC99C 001C85FC 38 21 00 20 */ addi r1, r1, 0x20
/* 801CC9A0 001C8600 4E 80 00 20 */ blr
.global func_801CC9A4
func_801CC9A4:
/* 801CC9A4 001C8604 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801CC9A8 001C8608 7C 08 02 A6 */ mflr r0
/* 801CC9AC 001C860C 7C A6 2B 78 */ mr r6, r5
/* 801CC9B0 001C8610 7C 85 23 78 */ mr r5, r4
/* 801CC9B4 001C8614 90 01 00 34 */ stw r0, 0x34(r1)
/* 801CC9B8 001C8618 3C E0 80 1D */ lis r7, lbl_801CC7F8@ha
/* 801CC9BC 001C861C 38 81 00 08 */ addi r4, r1, 8
/* 801CC9C0 001C8620 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801CC9C4 001C8624 3B E0 00 00 */ li r31, 0
/* 801CC9C8 001C8628 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801CC9CC 001C862C 3B C0 FF FF */ li r30, -1
/* 801CC9D0 001C8630 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801CC9D4 001C8634 7C 7D 1B 78 */ mr r29, r3
/* 801CC9D8 001C8638 90 61 00 08 */ stw r3, 8(r1)
/* 801CC9DC 001C863C 38 67 C7 F8 */ addi r3, r7, lbl_801CC7F8@l
/* 801CC9E0 001C8640 93 C1 00 0C */ stw r30, 0xc(r1)
/* 801CC9E4 001C8644 93 E1 00 10 */ stw r31, 0x10(r1)
/* 801CC9E8 001C8648 4B FF F5 5D */ bl func_801CBF44
/* 801CC9EC 001C864C 2C 1D 00 00 */ cmpwi r29, 0
/* 801CC9F0 001C8650 41 82 00 18 */ beq lbl_801CCA08
/* 801CC9F4 001C8654 7C 03 F0 40 */ cmplw r3, r30
/* 801CC9F8 001C8658 40 80 00 0C */ bge lbl_801CCA04
/* 801CC9FC 001C865C 7F FD 19 AE */ stbx r31, r29, r3
/* 801CCA00 001C8660 48 00 00 08 */ b lbl_801CCA08
lbl_801CCA04:
/* 801CCA04 001C8664 9B FD FF FE */ stb r31, -2(r29)
lbl_801CCA08:
/* 801CCA08 001C8668 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801CCA0C 001C866C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801CCA10 001C8670 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801CCA14 001C8674 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801CCA18 001C8678 7C 08 03 A6 */ mtlr r0
/* 801CCA1C 001C867C 38 21 00 30 */ addi r1, r1, 0x30
/* 801CCA20 001C8680 4E 80 00 20 */ blr
.global func_801CCA24
func_801CCA24:
/* 801CCA24 001C8684 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801CCA28 001C8688 7C 08 02 A6 */ mflr r0
/* 801CCA2C 001C868C 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801CCA30 001C8690 BF 61 00 8C */ stmw r27, 0x8c(r1)
/* 801CCA34 001C8694 7C 7B 1B 78 */ mr r27, r3
/* 801CCA38 001C8698 7C 9C 23 78 */ mr r28, r4
/* 801CCA3C 001C869C 40 86 00 24 */ bne cr1, lbl_801CCA60
/* 801CCA40 001C86A0 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 801CCA44 001C86A4 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 801CCA48 001C86A8 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 801CCA4C 001C86AC D8 81 00 40 */ stfd f4, 0x40(r1)
/* 801CCA50 001C86B0 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 801CCA54 001C86B4 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 801CCA58 001C86B8 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 801CCA5C 001C86BC D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_801CCA60:
/* 801CCA60 001C86C0 39 81 00 A8 */ addi r12, r1, 0xa8
/* 801CCA64 001C86C4 38 01 00 08 */ addi r0, r1, 8
/* 801CCA68 001C86C8 3F C0 03 00 */ lis r30, 0x300
/* 801CCA6C 001C86CC 3B E0 00 00 */ li r31, 0
/* 801CCA70 001C86D0 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801CCA74 001C86D4 3B A1 00 74 */ addi r29, r1, 0x74
/* 801CCA78 001C86D8 3D 60 80 1D */ lis r11, lbl_801CC7F8@ha
/* 801CCA7C 001C86DC 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801CCA80 001C86E0 7F A6 EB 78 */ mr r6, r29
/* 801CCA84 001C86E4 90 61 00 08 */ stw r3, 8(r1)
/* 801CCA88 001C86E8 90 61 00 68 */ stw r3, 0x68(r1)
/* 801CCA8C 001C86EC 38 6B C7 F8 */ addi r3, r11, lbl_801CC7F8@l
/* 801CCA90 001C86F0 90 81 00 0C */ stw r4, 0xc(r1)
/* 801CCA94 001C86F4 90 81 00 6C */ stw r4, 0x6c(r1)
/* 801CCA98 001C86F8 38 81 00 68 */ addi r4, r1, 0x68
/* 801CCA9C 001C86FC 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801CCAA0 001C8700 91 01 00 1C */ stw r8, 0x1c(r1)
/* 801CCAA4 001C8704 91 21 00 20 */ stw r9, 0x20(r1)
/* 801CCAA8 001C8708 91 41 00 24 */ stw r10, 0x24(r1)
/* 801CCAAC 001C870C 93 C1 00 74 */ stw r30, 0x74(r1)
/* 801CCAB0 001C8710 91 81 00 78 */ stw r12, 0x78(r1)
/* 801CCAB4 001C8714 90 01 00 7C */ stw r0, 0x7c(r1)
/* 801CCAB8 001C8718 93 E1 00 70 */ stw r31, 0x70(r1)
/* 801CCABC 001C871C 4B FF F4 89 */ bl func_801CBF44
/* 801CCAC0 001C8720 2C 1B 00 00 */ cmpwi r27, 0
/* 801CCAC4 001C8724 41 82 00 24 */ beq lbl_801CCAE8
/* 801CCAC8 001C8728 7C 03 E0 40 */ cmplw r3, r28
/* 801CCACC 001C872C 40 80 00 0C */ bge lbl_801CCAD8
/* 801CCAD0 001C8730 7F FB 19 AE */ stbx r31, r27, r3
/* 801CCAD4 001C8734 48 00 00 14 */ b lbl_801CCAE8
lbl_801CCAD8:
/* 801CCAD8 001C8738 2C 1C 00 00 */ cmpwi r28, 0
/* 801CCADC 001C873C 41 82 00 0C */ beq lbl_801CCAE8
/* 801CCAE0 001C8740 7C 9B E2 14 */ add r4, r27, r28
/* 801CCAE4 001C8744 9B E4 FF FF */ stb r31, -1(r4)
lbl_801CCAE8:
/* 801CCAE8 001C8748 BB 61 00 8C */ lmw r27, 0x8c(r1)
/* 801CCAEC 001C874C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801CCAF0 001C8750 7C 08 03 A6 */ mtlr r0
/* 801CCAF4 001C8754 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801CCAF8 001C8758 4E 80 00 20 */ blr
.global func_801CCAFC
func_801CCAFC:
/* 801CCAFC 001C875C 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801CCB00 001C8760 7C 08 02 A6 */ mflr r0
/* 801CCB04 001C8764 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801CCB08 001C8768 BF 61 00 8C */ stmw r27, 0x8c(r1)
/* 801CCB0C 001C876C 7C 7B 1B 78 */ mr r27, r3
/* 801CCB10 001C8770 40 86 00 24 */ bne cr1, lbl_801CCB34
/* 801CCB14 001C8774 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 801CCB18 001C8778 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 801CCB1C 001C877C D8 61 00 38 */ stfd f3, 0x38(r1)
/* 801CCB20 001C8780 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 801CCB24 001C8784 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 801CCB28 001C8788 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 801CCB2C 001C878C D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 801CCB30 001C8790 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_801CCB34:
/* 801CCB34 001C8794 39 81 00 A8 */ addi r12, r1, 0xa8
/* 801CCB38 001C8798 38 01 00 08 */ addi r0, r1, 8
/* 801CCB3C 001C879C 3F A0 02 00 */ lis r29, 0x200
/* 801CCB40 001C87A0 3B C0 FF FF */ li r30, -1
/* 801CCB44 001C87A4 3B E0 00 00 */ li r31, 0
/* 801CCB48 001C87A8 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801CCB4C 001C87AC 3B 81 00 74 */ addi r28, r1, 0x74
/* 801CCB50 001C87B0 3D 60 80 1D */ lis r11, lbl_801CC7F8@ha
/* 801CCB54 001C87B4 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801CCB58 001C87B8 7C 85 23 78 */ mr r5, r4
/* 801CCB5C 001C87BC 7F 86 E3 78 */ mr r6, r28
/* 801CCB60 001C87C0 90 81 00 0C */ stw r4, 0xc(r1)
/* 801CCB64 001C87C4 38 81 00 68 */ addi r4, r1, 0x68
/* 801CCB68 001C87C8 90 61 00 08 */ stw r3, 8(r1)
/* 801CCB6C 001C87CC 90 61 00 68 */ stw r3, 0x68(r1)
/* 801CCB70 001C87D0 38 6B C7 F8 */ addi r3, r11, lbl_801CC7F8@l
/* 801CCB74 001C87D4 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801CCB78 001C87D8 91 01 00 1C */ stw r8, 0x1c(r1)
/* 801CCB7C 001C87DC 91 21 00 20 */ stw r9, 0x20(r1)
/* 801CCB80 001C87E0 91 41 00 24 */ stw r10, 0x24(r1)
/* 801CCB84 001C87E4 93 A1 00 74 */ stw r29, 0x74(r1)
/* 801CCB88 001C87E8 91 81 00 78 */ stw r12, 0x78(r1)
/* 801CCB8C 001C87EC 90 01 00 7C */ stw r0, 0x7c(r1)
/* 801CCB90 001C87F0 93 C1 00 6C */ stw r30, 0x6c(r1)
/* 801CCB94 001C87F4 93 E1 00 70 */ stw r31, 0x70(r1)
/* 801CCB98 001C87F8 4B FF F3 AD */ bl func_801CBF44
/* 801CCB9C 001C87FC 2C 1B 00 00 */ cmpwi r27, 0
/* 801CCBA0 001C8800 41 82 00 18 */ beq lbl_801CCBB8
/* 801CCBA4 001C8804 7C 03 F0 40 */ cmplw r3, r30
/* 801CCBA8 001C8808 40 80 00 0C */ bge lbl_801CCBB4
/* 801CCBAC 001C880C 7F FB 19 AE */ stbx r31, r27, r3
/* 801CCBB0 001C8810 48 00 00 08 */ b lbl_801CCBB8
lbl_801CCBB4:
/* 801CCBB4 001C8814 9B FB FF FE */ stb r31, -2(r27)
lbl_801CCBB8:
/* 801CCBB8 001C8818 BB 61 00 8C */ lmw r27, 0x8c(r1)
/* 801CCBBC 001C881C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801CCBC0 001C8820 7C 08 03 A6 */ mtlr r0
/* 801CCBC4 001C8824 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801CCBC8 001C8828 4E 80 00 20 */ blr
.global qsort
qsort:
/* 801CCBCC 001C882C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801CCBD0 001C8830 7C 08 02 A6 */ mflr r0
/* 801CCBD4 001C8834 28 04 00 02 */ cmplwi r4, 2
/* 801CCBD8 001C8838 90 01 00 44 */ stw r0, 0x44(r1)
/* 801CCBDC 001C883C BE 61 00 0C */ stmw r19, 0xc(r1)
/* 801CCBE0 001C8840 7C 7B 1B 78 */ mr r27, r3
/* 801CCBE4 001C8844 7C BC 2B 78 */ mr r28, r5
/* 801CCBE8 001C8848 7C DD 33 78 */ mr r29, r6
/* 801CCBEC 001C884C 41 80 01 3C */ blt lbl_801CCD28
/* 801CCBF0 001C8850 54 87 F8 7E */ srwi r7, r4, 1
/* 801CCBF4 001C8854 54 A0 08 3C */ slwi r0, r5, 1
/* 801CCBF8 001C8858 3B E7 00 01 */ addi r31, r7, 1
/* 801CCBFC 001C885C 38 C4 FF FF */ addi r6, r4, -1
/* 801CCC00 001C8860 38 FF FF FF */ addi r7, r31, -1
/* 801CCC04 001C8864 7C 9E 23 78 */ mr r30, r4
/* 801CCC08 001C8868 7C 85 39 D6 */ mullw r4, r5, r7
/* 801CCC0C 001C886C 7F 20 28 50 */ subf r25, r0, r5
/* 801CCC10 001C8870 7C 05 31 D6 */ mullw r0, r5, r6
/* 801CCC14 001C8874 7E E3 22 14 */ add r23, r3, r4
/* 801CCC18 001C8878 7F 5F 29 D6 */ mullw r26, r31, r5
/* 801CCC1C 001C887C 7E C3 02 14 */ add r22, r3, r0
lbl_801CCC20:
/* 801CCC20 001C8880 28 1F 00 01 */ cmplwi r31, 1
/* 801CCC24 001C8884 40 81 00 14 */ ble lbl_801CCC38
/* 801CCC28 001C8888 7F 5C D0 50 */ subf r26, r28, r26
/* 801CCC2C 001C888C 7E FC B8 50 */ subf r23, r28, r23
/* 801CCC30 001C8890 3B FF FF FF */ addi r31, r31, -1
/* 801CCC34 001C8894 48 00 00 40 */ b lbl_801CCC74
lbl_801CCC38:
/* 801CCC38 001C8898 38 76 FF FF */ addi r3, r22, -1
/* 801CCC3C 001C889C 38 97 FF FF */ addi r4, r23, -1
/* 801CCC40 001C88A0 38 BC 00 01 */ addi r5, r28, 1
/* 801CCC44 001C88A4 48 00 00 18 */ b lbl_801CCC5C
lbl_801CCC48:
/* 801CCC48 001C88A8 88 C4 00 01 */ lbz r6, 1(r4)
/* 801CCC4C 001C88AC 88 03 00 01 */ lbz r0, 1(r3)
/* 801CCC50 001C88B0 7C C6 07 74 */ extsb r6, r6
/* 801CCC54 001C88B4 9C 04 00 01 */ stbu r0, 1(r4)
/* 801CCC58 001C88B8 9C C3 00 01 */ stbu r6, 1(r3)
lbl_801CCC5C:
/* 801CCC5C 001C88BC 34 A5 FF FF */ addic. r5, r5, -1
/* 801CCC60 001C88C0 40 82 FF E8 */ bne lbl_801CCC48
/* 801CCC64 001C88C4 3B DE FF FF */ addi r30, r30, -1
/* 801CCC68 001C88C8 28 1E 00 01 */ cmplwi r30, 1
/* 801CCC6C 001C88CC 41 82 00 BC */ beq lbl_801CCD28
/* 801CCC70 001C88D0 7E DC B0 50 */ subf r22, r28, r22
lbl_801CCC74:
/* 801CCC74 001C88D4 7C 1A CA 14 */ add r0, r26, r25
/* 801CCC78 001C88D8 7F F8 FB 78 */ mr r24, r31
/* 801CCC7C 001C88DC 7E 9B 02 14 */ add r20, r27, r0
/* 801CCC80 001C88E0 48 00 00 98 */ b lbl_801CCD18
lbl_801CCC84:
/* 801CCC84 001C88E4 57 18 08 3C */ slwi r24, r24, 1
/* 801CCC88 001C88E8 7E 95 A3 78 */ mr r21, r20
/* 801CCC8C 001C88EC 38 18 FF FF */ addi r0, r24, -1
/* 801CCC90 001C88F0 7C 1C 01 D6 */ mullw r0, r28, r0
/* 801CCC94 001C88F4 7C 18 F0 40 */ cmplw r24, r30
/* 801CCC98 001C88F8 7E 9B 02 14 */ add r20, r27, r0
/* 801CCC9C 001C88FC 40 80 00 2C */ bge lbl_801CCCC8
/* 801CCCA0 001C8900 7E 74 E2 14 */ add r19, r20, r28
/* 801CCCA4 001C8904 7F AC EB 78 */ mr r12, r29
/* 801CCCA8 001C8908 7E 83 A3 78 */ mr r3, r20
/* 801CCCAC 001C890C 7E 64 9B 78 */ mr r4, r19
/* 801CCCB0 001C8910 7D 89 03 A6 */ mtctr r12
/* 801CCCB4 001C8914 4E 80 04 21 */ bctrl
/* 801CCCB8 001C8918 2C 03 00 00 */ cmpwi r3, 0
/* 801CCCBC 001C891C 40 80 00 0C */ bge lbl_801CCCC8
/* 801CCCC0 001C8920 7E 74 9B 78 */ mr r20, r19
/* 801CCCC4 001C8924 3B 18 00 01 */ addi r24, r24, 1
lbl_801CCCC8:
/* 801CCCC8 001C8928 7F AC EB 78 */ mr r12, r29
/* 801CCCCC 001C892C 7E A3 AB 78 */ mr r3, r21
/* 801CCCD0 001C8930 7E 84 A3 78 */ mr r4, r20
/* 801CCCD4 001C8934 7D 89 03 A6 */ mtctr r12
/* 801CCCD8 001C8938 4E 80 04 21 */ bctrl
/* 801CCCDC 001C893C 2C 03 00 00 */ cmpwi r3, 0
/* 801CCCE0 001C8940 40 80 FF 40 */ bge lbl_801CCC20
/* 801CCCE4 001C8944 38 74 FF FF */ addi r3, r20, -1
/* 801CCCE8 001C8948 38 95 FF FF */ addi r4, r21, -1
/* 801CCCEC 001C894C 38 BC 00 01 */ addi r5, r28, 1
/* 801CCCF0 001C8950 48 00 00 20 */ b lbl_801CCD10
lbl_801CCCF4:
/* 801CCCF4 001C8954 88 C4 00 01 */ lbz r6, 1(r4)
/* 801CCCF8 001C8958 88 03 00 01 */ lbz r0, 1(r3)
/* 801CCCFC 001C895C 7C C6 07 74 */ extsb r6, r6
/* 801CCD00 001C8960 98 04 00 01 */ stb r0, 1(r4)
/* 801CCD04 001C8964 38 84 00 01 */ addi r4, r4, 1
/* 801CCD08 001C8968 98 C3 00 01 */ stb r6, 1(r3)
/* 801CCD0C 001C896C 38 63 00 01 */ addi r3, r3, 1
lbl_801CCD10:
/* 801CCD10 001C8970 34 A5 FF FF */ addic. r5, r5, -1
/* 801CCD14 001C8974 40 82 FF E0 */ bne lbl_801CCCF4
lbl_801CCD18:
/* 801CCD18 001C8978 57 00 08 3C */ slwi r0, r24, 1
/* 801CCD1C 001C897C 7C 00 F0 40 */ cmplw r0, r30
/* 801CCD20 001C8980 40 81 FF 64 */ ble lbl_801CCC84
/* 801CCD24 001C8984 4B FF FE FC */ b lbl_801CCC20
lbl_801CCD28:
/* 801CCD28 001C8988 BA 61 00 0C */ lmw r19, 0xc(r1)
/* 801CCD2C 001C898C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801CCD30 001C8990 7C 08 03 A6 */ mtlr r0
/* 801CCD34 001C8994 38 21 00 40 */ addi r1, r1, 0x40
/* 801CCD38 001C8998 4E 80 00 20 */ blr
.global func_801CCD3C
func_801CCD3C:
/* 801CCD3C 001C899C 3C 60 41 C6 */ lis r3, 0x41C64E6D@ha
/* 801CCD40 001C89A0 80 8D 83 E8 */ lwz r4, lbl_8063D6A8-_SDA_BASE_(r13)
/* 801CCD44 001C89A4 38 03 4E 6D */ addi r0, r3, 0x41C64E6D@l
/* 801CCD48 001C89A8 7C 64 01 D6 */ mullw r3, r4, r0
/* 801CCD4C 001C89AC 38 03 30 39 */ addi r0, r3, 0x3039
/* 801CCD50 001C89B0 90 0D 83 E8 */ stw r0, lbl_8063D6A8-_SDA_BASE_(r13)
/* 801CCD54 001C89B4 54 03 84 7E */ rlwinm r3, r0, 0x10, 0x11, 0x1f
/* 801CCD58 001C89B8 4E 80 00 20 */ blr
.global func_801CCD5C
func_801CCD5C:
/* 801CCD5C 001C89BC 90 6D 83 E8 */ stw r3, lbl_8063D6A8-_SDA_BASE_(r13)
/* 801CCD60 001C89C0 4E 80 00 20 */ blr
.global func_801CCD64
func_801CCD64:
/* 801CCD64 001C89C4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801CCD68 001C89C8 3C C0 80 40 */ lis r6, lbl_80400004@ha
/* 801CCD6C 001C89CC 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CCD70 001C89D0 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 801CCD74 001C89D4 7C A5 07 74 */ extsb r5, r5
/* 801CCD78 001C89D8 93 C1 00 38 */ stw r30, 0x38(r1)
/* 801CCD7C 001C89DC 2C 05 00 25 */ cmpwi r5, 0x25
/* 801CCD80 001C89E0 84 06 CC F0 */ lwzu r0, -0x3310(r6)
/* 801CCD84 001C89E4 83 C6 00 04 */ lwz r30, lbl_80400004@l(r6)
/* 801CCD88 001C89E8 83 E6 00 08 */ lwz r31, 8(r6)
/* 801CCD8C 001C89EC 81 86 00 0C */ lwz r12, 0xc(r6)
/* 801CCD90 001C89F0 81 66 00 10 */ lwz r11, 0x10(r6)
/* 801CCD94 001C89F4 81 46 00 14 */ lwz r10, 0x14(r6)
/* 801CCD98 001C89F8 81 26 00 18 */ lwz r9, 0x18(r6)
/* 801CCD9C 001C89FC 81 06 00 1C */ lwz r8, 0x1c(r6)
/* 801CCDA0 001C8A00 80 E6 00 20 */ lwz r7, 0x20(r6)
/* 801CCDA4 001C8A04 80 C6 00 24 */ lwz r6, 0x24(r6)
/* 801CCDA8 001C8A08 90 01 00 08 */ stw r0, 8(r1)
/* 801CCDAC 001C8A0C 93 C1 00 0C */ stw r30, 0xc(r1)
/* 801CCDB0 001C8A10 93 E1 00 10 */ stw r31, 0x10(r1)
/* 801CCDB4 001C8A14 91 81 00 14 */ stw r12, 0x14(r1)
/* 801CCDB8 001C8A18 91 61 00 18 */ stw r11, 0x18(r1)
/* 801CCDBC 001C8A1C 91 41 00 1C */ stw r10, 0x1c(r1)
/* 801CCDC0 001C8A20 91 21 00 20 */ stw r9, 0x20(r1)
/* 801CCDC4 001C8A24 91 01 00 24 */ stw r8, 0x24(r1)
/* 801CCDC8 001C8A28 90 E1 00 28 */ stw r7, 0x28(r1)
/* 801CCDCC 001C8A2C 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 801CCDD0 001C8A30 40 82 00 3C */ bne lbl_801CCE0C
/* 801CCDD4 001C8A34 98 A1 00 0B */ stb r5, 0xb(r1)
/* 801CCDD8 001C8A38 38 63 00 01 */ addi r3, r3, 1
/* 801CCDDC 001C8A3C 80 01 00 08 */ lwz r0, 8(r1)
/* 801CCDE0 001C8A40 90 04 00 00 */ stw r0, 0(r4)
/* 801CCDE4 001C8A44 93 C4 00 04 */ stw r30, 4(r4)
/* 801CCDE8 001C8A48 93 E4 00 08 */ stw r31, 8(r4)
/* 801CCDEC 001C8A4C 91 84 00 0C */ stw r12, 0xc(r4)
/* 801CCDF0 001C8A50 91 64 00 10 */ stw r11, 0x10(r4)
/* 801CCDF4 001C8A54 91 44 00 14 */ stw r10, 0x14(r4)
/* 801CCDF8 001C8A58 91 24 00 18 */ stw r9, 0x18(r4)
/* 801CCDFC 001C8A5C 91 04 00 1C */ stw r8, 0x1c(r4)
/* 801CCE00 001C8A60 90 E4 00 20 */ stw r7, 0x20(r4)
/* 801CCE04 001C8A64 90 C4 00 24 */ stw r6, 0x24(r4)
/* 801CCE08 001C8A68 48 00 06 00 */ b lbl_801CD408
lbl_801CCE0C:
/* 801CCE0C 001C8A6C 2C 05 00 2A */ cmpwi r5, 0x2a
/* 801CCE10 001C8A70 40 82 00 14 */ bne lbl_801CCE24
/* 801CCE14 001C8A74 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CCE18 001C8A78 38 00 00 01 */ li r0, 1
/* 801CCE1C 001C8A7C 98 01 00 08 */ stb r0, 8(r1)
/* 801CCE20 001C8A80 7C A5 07 74 */ extsb r5, r5
lbl_801CCE24:
/* 801CCE24 001C8A84 2C 05 00 00 */ cmpwi r5, 0
/* 801CCE28 001C8A88 38 00 00 00 */ li r0, 0
/* 801CCE2C 001C8A8C 41 80 00 0C */ blt lbl_801CCE38
/* 801CCE30 001C8A90 2C 05 01 00 */ cmpwi r5, 0x100
/* 801CCE34 001C8A94 41 80 00 08 */ blt lbl_801CCE3C
lbl_801CCE38:
/* 801CCE38 001C8A98 38 00 00 01 */ li r0, 1
lbl_801CCE3C:
/* 801CCE3C 001C8A9C 2C 00 00 00 */ cmpwi r0, 0
/* 801CCE40 001C8AA0 41 82 00 0C */ beq lbl_801CCE4C
/* 801CCE44 001C8AA4 38 00 00 00 */ li r0, 0
/* 801CCE48 001C8AA8 48 00 00 20 */ b lbl_801CCE68
lbl_801CCE4C:
/* 801CCE4C 001C8AAC 3C C0 80 42 */ lis r6, lbl_80422D48@ha
/* 801CCE50 001C8AB0 54 A0 08 3C */ slwi r0, r5, 1
/* 801CCE54 001C8AB4 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l
/* 801CCE58 001C8AB8 80 C6 00 38 */ lwz r6, 0x38(r6)
/* 801CCE5C 001C8ABC 80 C6 00 08 */ lwz r6, 8(r6)
/* 801CCE60 001C8AC0 7C 06 02 2E */ lhzx r0, r6, r0
/* 801CCE64 001C8AC4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CCE68:
/* 801CCE68 001C8AC8 2C 00 00 00 */ cmpwi r0, 0
/* 801CCE6C 001C8ACC 41 82 00 E0 */ beq lbl_801CCF4C
/* 801CCE70 001C8AD0 3C C0 80 42 */ lis r6, lbl_80422D48@ha
/* 801CCE74 001C8AD4 38 00 00 00 */ li r0, 0
/* 801CCE78 001C8AD8 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l
/* 801CCE7C 001C8ADC 90 01 00 0C */ stw r0, 0xc(r1)
/* 801CCE80 001C8AE0 80 E6 00 38 */ lwz r7, 0x38(r6)
lbl_801CCE84:
/* 801CCE84 001C8AE4 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 801CCE88 001C8AE8 38 00 00 00 */ li r0, 0
/* 801CCE8C 001C8AEC 1C C6 00 0A */ mulli r6, r6, 0xa
/* 801CCE90 001C8AF0 7C C5 32 14 */ add r6, r5, r6
/* 801CCE94 001C8AF4 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CCE98 001C8AF8 38 C6 FF D0 */ addi r6, r6, -48
/* 801CCE9C 001C8AFC 7C A5 07 75 */ extsb. r5, r5
/* 801CCEA0 001C8B00 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801CCEA4 001C8B04 41 80 00 0C */ blt lbl_801CCEB0
/* 801CCEA8 001C8B08 2C 05 01 00 */ cmpwi r5, 0x100
/* 801CCEAC 001C8B0C 41 80 00 08 */ blt lbl_801CCEB4
lbl_801CCEB0:
/* 801CCEB0 001C8B10 38 00 00 01 */ li r0, 1
lbl_801CCEB4:
/* 801CCEB4 001C8B14 2C 00 00 00 */ cmpwi r0, 0
/* 801CCEB8 001C8B18 41 82 00 0C */ beq lbl_801CCEC4
/* 801CCEBC 001C8B1C 38 00 00 00 */ li r0, 0
/* 801CCEC0 001C8B20 48 00 00 14 */ b lbl_801CCED4
lbl_801CCEC4:
/* 801CCEC4 001C8B24 80 C7 00 08 */ lwz r6, 8(r7)
/* 801CCEC8 001C8B28 54 A0 08 3C */ slwi r0, r5, 1
/* 801CCECC 001C8B2C 7C 06 02 2E */ lhzx r0, r6, r0
/* 801CCED0 001C8B30 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CCED4:
/* 801CCED4 001C8B34 2C 00 00 00 */ cmpwi r0, 0
/* 801CCED8 001C8B38 40 82 FF AC */ bne lbl_801CCE84
/* 801CCEDC 001C8B3C 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 801CCEE0 001C8B40 2C 06 00 00 */ cmpwi r6, 0
/* 801CCEE4 001C8B44 40 82 00 60 */ bne lbl_801CCF44
/* 801CCEE8 001C8B48 38 00 00 FF */ li r0, 0xff
/* 801CCEEC 001C8B4C 38 63 00 01 */ addi r3, r3, 1
/* 801CCEF0 001C8B50 98 01 00 0B */ stb r0, 0xb(r1)
/* 801CCEF4 001C8B54 80 01 00 08 */ lwz r0, 8(r1)
/* 801CCEF8 001C8B58 90 04 00 00 */ stw r0, 0(r4)
/* 801CCEFC 001C8B5C 90 C4 00 04 */ stw r6, 4(r4)
/* 801CCF00 001C8B60 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 801CCF04 001C8B64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CCF08 001C8B68 90 A4 00 08 */ stw r5, 8(r4)
/* 801CCF0C 001C8B6C 90 04 00 0C */ stw r0, 0xc(r4)
/* 801CCF10 001C8B70 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 801CCF14 001C8B74 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801CCF18 001C8B78 90 A4 00 10 */ stw r5, 0x10(r4)
/* 801CCF1C 001C8B7C 90 04 00 14 */ stw r0, 0x14(r4)
/* 801CCF20 001C8B80 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 801CCF24 001C8B84 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801CCF28 001C8B88 90 A4 00 18 */ stw r5, 0x18(r4)
/* 801CCF2C 001C8B8C 90 04 00 1C */ stw r0, 0x1c(r4)
/* 801CCF30 001C8B90 80 A1 00 28 */ lwz r5, 0x28(r1)
/* 801CCF34 001C8B94 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 801CCF38 001C8B98 90 A4 00 20 */ stw r5, 0x20(r4)
/* 801CCF3C 001C8B9C 90 04 00 24 */ stw r0, 0x24(r4)
/* 801CCF40 001C8BA0 48 00 04 C8 */ b lbl_801CD408
lbl_801CCF44:
/* 801CCF44 001C8BA4 38 00 00 01 */ li r0, 1
/* 801CCF48 001C8BA8 98 01 00 09 */ stb r0, 9(r1)
lbl_801CCF4C:
/* 801CCF4C 001C8BAC 2C 05 00 6B */ cmpwi r5, 0x6b
/* 801CCF50 001C8BB0 38 E0 00 01 */ li r7, 1
/* 801CCF54 001C8BB4 41 82 00 D8 */ beq lbl_801CD02C
/* 801CCF58 001C8BB8 40 80 00 28 */ bge lbl_801CCF80
/* 801CCF5C 001C8BBC 2C 05 00 68 */ cmpwi r5, 0x68
/* 801CCF60 001C8BC0 41 82 00 44 */ beq lbl_801CCFA4
/* 801CCF64 001C8BC4 40 80 00 10 */ bge lbl_801CCF74
/* 801CCF68 001C8BC8 2C 05 00 4C */ cmpwi r5, 0x4c
/* 801CCF6C 001C8BCC 41 82 00 90 */ beq lbl_801CCFFC
/* 801CCF70 001C8BD0 48 00 00 BC */ b lbl_801CD02C
lbl_801CCF74:
/* 801CCF74 001C8BD4 2C 05 00 6A */ cmpwi r5, 0x6a
/* 801CCF78 001C8BD8 40 80 00 90 */ bge lbl_801CD008
/* 801CCF7C 001C8BDC 48 00 00 B0 */ b lbl_801CD02C
lbl_801CCF80:
/* 801CCF80 001C8BE0 2C 05 00 74 */ cmpwi r5, 0x74
/* 801CCF84 001C8BE4 41 82 00 9C */ beq lbl_801CD020
/* 801CCF88 001C8BE8 40 80 00 10 */ bge lbl_801CCF98
/* 801CCF8C 001C8BEC 2C 05 00 6D */ cmpwi r5, 0x6d
/* 801CCF90 001C8BF0 40 80 00 9C */ bge lbl_801CD02C
/* 801CCF94 001C8BF4 48 00 00 3C */ b lbl_801CCFD0
lbl_801CCF98:
/* 801CCF98 001C8BF8 2C 05 00 7A */ cmpwi r5, 0x7a
/* 801CCF9C 001C8BFC 41 82 00 78 */ beq lbl_801CD014
/* 801CCFA0 001C8C00 48 00 00 8C */ b lbl_801CD02C
lbl_801CCFA4:
/* 801CCFA4 001C8C04 88 03 00 01 */ lbz r0, 1(r3)
/* 801CCFA8 001C8C08 38 C0 00 02 */ li r6, 2
/* 801CCFAC 001C8C0C 98 C1 00 0A */ stb r6, 0xa(r1)
/* 801CCFB0 001C8C10 7C 06 07 74 */ extsb r6, r0
/* 801CCFB4 001C8C14 2C 06 00 68 */ cmpwi r6, 0x68
/* 801CCFB8 001C8C18 40 82 00 78 */ bne lbl_801CD030
/* 801CCFBC 001C8C1C 38 00 00 01 */ li r0, 1
/* 801CCFC0 001C8C20 7C C5 33 78 */ mr r5, r6
/* 801CCFC4 001C8C24 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CCFC8 001C8C28 38 63 00 01 */ addi r3, r3, 1
/* 801CCFCC 001C8C2C 48 00 00 64 */ b lbl_801CD030
lbl_801CCFD0:
/* 801CCFD0 001C8C30 88 03 00 01 */ lbz r0, 1(r3)
/* 801CCFD4 001C8C34 38 C0 00 03 */ li r6, 3
/* 801CCFD8 001C8C38 98 C1 00 0A */ stb r6, 0xa(r1)
/* 801CCFDC 001C8C3C 7C 06 07 74 */ extsb r6, r0
/* 801CCFE0 001C8C40 2C 06 00 6C */ cmpwi r6, 0x6c
/* 801CCFE4 001C8C44 40 82 00 4C */ bne lbl_801CD030
/* 801CCFE8 001C8C48 38 00 00 07 */ li r0, 7
/* 801CCFEC 001C8C4C 7C C5 33 78 */ mr r5, r6
/* 801CCFF0 001C8C50 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CCFF4 001C8C54 38 63 00 01 */ addi r3, r3, 1
/* 801CCFF8 001C8C58 48 00 00 38 */ b lbl_801CD030
lbl_801CCFFC:
/* 801CCFFC 001C8C5C 38 00 00 09 */ li r0, 9
/* 801CD000 001C8C60 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD004 001C8C64 48 00 00 2C */ b lbl_801CD030
lbl_801CD008:
/* 801CD008 001C8C68 38 00 00 04 */ li r0, 4
/* 801CD00C 001C8C6C 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD010 001C8C70 48 00 00 20 */ b lbl_801CD030
lbl_801CD014:
/* 801CD014 001C8C74 38 00 00 05 */ li r0, 5
/* 801CD018 001C8C78 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD01C 001C8C7C 48 00 00 14 */ b lbl_801CD030
lbl_801CD020:
/* 801CD020 001C8C80 38 00 00 06 */ li r0, 6
/* 801CD024 001C8C84 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD028 001C8C88 48 00 00 08 */ b lbl_801CD030
lbl_801CD02C:
/* 801CD02C 001C8C8C 38 E0 00 00 */ li r7, 0
lbl_801CD030:
/* 801CD030 001C8C90 2C 07 00 00 */ cmpwi r7, 0
/* 801CD034 001C8C94 41 82 00 0C */ beq lbl_801CD040
/* 801CD038 001C8C98 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CD03C 001C8C9C 7C A5 07 74 */ extsb r5, r5
lbl_801CD040:
/* 801CD040 001C8CA0 38 05 FF BF */ addi r0, r5, -65
/* 801CD044 001C8CA4 98 A1 00 0B */ stb r5, 0xb(r1)
/* 801CD048 001C8CA8 28 00 00 37 */ cmplwi r0, 0x37
/* 801CD04C 001C8CAC 41 81 03 60 */ bgt lbl_801CD3AC
/* 801CD050 001C8CB0 3C A0 80 42 */ lis r5, lbl_80422FE0@ha
/* 801CD054 001C8CB4 54 00 10 3A */ slwi r0, r0, 2
/* 801CD058 001C8CB8 38 A5 2F E0 */ addi r5, r5, lbl_80422FE0@l
/* 801CD05C 001C8CBC 7C A5 00 2E */ lwzx r5, r5, r0
/* 801CD060 001C8CC0 7C A9 03 A6 */ mtctr r5
/* 801CD064 001C8CC4 4E 80 04 20 */ bctr
/* 801CD068 001C8CC8 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CD06C 001C8CCC 28 00 00 09 */ cmplwi r0, 9
/* 801CD070 001C8CD0 40 82 03 44 */ bne lbl_801CD3B4
/* 801CD074 001C8CD4 38 00 00 FF */ li r0, 0xff
/* 801CD078 001C8CD8 98 01 00 0B */ stb r0, 0xb(r1)
/* 801CD07C 001C8CDC 48 00 03 38 */ b lbl_801CD3B4
/* 801CD080 001C8CE0 88 A1 00 0A */ lbz r5, 0xa(r1)
/* 801CD084 001C8CE4 28 05 00 01 */ cmplwi r5, 1
/* 801CD088 001C8CE8 41 82 00 1C */ beq lbl_801CD0A4
/* 801CD08C 001C8CEC 28 05 00 02 */ cmplwi r5, 2
/* 801CD090 001C8CF0 41 82 00 14 */ beq lbl_801CD0A4
/* 801CD094 001C8CF4 38 05 00 FC */ addi r0, r5, 0xfc
/* 801CD098 001C8CF8 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CD09C 001C8CFC 28 00 00 03 */ cmplwi r0, 3
/* 801CD0A0 001C8D00 41 81 00 10 */ bgt lbl_801CD0B0
lbl_801CD0A4:
/* 801CD0A4 001C8D04 38 00 00 FF */ li r0, 0xff
/* 801CD0A8 001C8D08 98 01 00 0B */ stb r0, 0xb(r1)
/* 801CD0AC 001C8D0C 48 00 03 08 */ b lbl_801CD3B4
lbl_801CD0B0:
/* 801CD0B0 001C8D10 28 05 00 03 */ cmplwi r5, 3
/* 801CD0B4 001C8D14 40 82 03 00 */ bne lbl_801CD3B4
/* 801CD0B8 001C8D18 38 00 00 08 */ li r0, 8
/* 801CD0BC 001C8D1C 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD0C0 001C8D20 48 00 02 F4 */ b lbl_801CD3B4
/* 801CD0C4 001C8D24 38 A0 00 03 */ li r5, 3
/* 801CD0C8 001C8D28 38 00 00 78 */ li r0, 0x78
/* 801CD0CC 001C8D2C 98 A1 00 0A */ stb r5, 0xa(r1)
/* 801CD0D0 001C8D30 98 01 00 0B */ stb r0, 0xb(r1)
/* 801CD0D4 001C8D34 48 00 02 E0 */ b lbl_801CD3B4
/* 801CD0D8 001C8D38 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CD0DC 001C8D3C 28 00 00 03 */ cmplwi r0, 3
/* 801CD0E0 001C8D40 40 82 00 10 */ bne lbl_801CD0F0
/* 801CD0E4 001C8D44 38 00 00 0A */ li r0, 0xa
/* 801CD0E8 001C8D48 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD0EC 001C8D4C 48 00 02 C8 */ b lbl_801CD3B4
lbl_801CD0F0:
/* 801CD0F0 001C8D50 2C 00 00 00 */ cmpwi r0, 0
/* 801CD0F4 001C8D54 41 82 02 C0 */ beq lbl_801CD3B4
/* 801CD0F8 001C8D58 38 00 00 FF */ li r0, 0xff
/* 801CD0FC 001C8D5C 98 01 00 0B */ stb r0, 0xb(r1)
/* 801CD100 001C8D60 48 00 02 B4 */ b lbl_801CD3B4
/* 801CD104 001C8D64 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CD108 001C8D68 28 00 00 03 */ cmplwi r0, 3
/* 801CD10C 001C8D6C 40 82 00 10 */ bne lbl_801CD11C
/* 801CD110 001C8D70 38 00 00 0A */ li r0, 0xa
/* 801CD114 001C8D74 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD118 001C8D78 48 00 00 14 */ b lbl_801CD12C
lbl_801CD11C:
/* 801CD11C 001C8D7C 2C 00 00 00 */ cmpwi r0, 0
/* 801CD120 001C8D80 41 82 00 0C */ beq lbl_801CD12C
/* 801CD124 001C8D84 38 00 00 FF */ li r0, 0xff
/* 801CD128 001C8D88 98 01 00 0B */ stb r0, 0xb(r1)
lbl_801CD12C:
/* 801CD12C 001C8D8C 38 C0 00 FF */ li r6, 0xff
/* 801CD130 001C8D90 38 A0 00 C1 */ li r5, 0xc1
/* 801CD134 001C8D94 38 00 00 FE */ li r0, 0xfe
/* 801CD138 001C8D98 98 C1 00 10 */ stb r6, 0x10(r1)
/* 801CD13C 001C8D9C 98 C1 00 12 */ stb r6, 0x12(r1)
/* 801CD140 001C8DA0 98 C1 00 13 */ stb r6, 0x13(r1)
/* 801CD144 001C8DA4 98 C1 00 15 */ stb r6, 0x15(r1)
/* 801CD148 001C8DA8 98 C1 00 16 */ stb r6, 0x16(r1)
/* 801CD14C 001C8DAC 98 C1 00 17 */ stb r6, 0x17(r1)
/* 801CD150 001C8DB0 98 C1 00 18 */ stb r6, 0x18(r1)
/* 801CD154 001C8DB4 98 C1 00 19 */ stb r6, 0x19(r1)
/* 801CD158 001C8DB8 98 C1 00 1A */ stb r6, 0x1a(r1)
/* 801CD15C 001C8DBC 98 C1 00 1B */ stb r6, 0x1b(r1)
/* 801CD160 001C8DC0 98 C1 00 1C */ stb r6, 0x1c(r1)
/* 801CD164 001C8DC4 98 C1 00 1D */ stb r6, 0x1d(r1)
/* 801CD168 001C8DC8 98 C1 00 1E */ stb r6, 0x1e(r1)
/* 801CD16C 001C8DCC 98 C1 00 1F */ stb r6, 0x1f(r1)
/* 801CD170 001C8DD0 98 C1 00 20 */ stb r6, 0x20(r1)
/* 801CD174 001C8DD4 98 C1 00 21 */ stb r6, 0x21(r1)
/* 801CD178 001C8DD8 98 C1 00 22 */ stb r6, 0x22(r1)
/* 801CD17C 001C8DDC 98 C1 00 23 */ stb r6, 0x23(r1)
/* 801CD180 001C8DE0 98 C1 00 24 */ stb r6, 0x24(r1)
/* 801CD184 001C8DE4 98 C1 00 25 */ stb r6, 0x25(r1)
/* 801CD188 001C8DE8 98 C1 00 26 */ stb r6, 0x26(r1)
/* 801CD18C 001C8DEC 98 C1 00 27 */ stb r6, 0x27(r1)
/* 801CD190 001C8DF0 98 C1 00 28 */ stb r6, 0x28(r1)
/* 801CD194 001C8DF4 98 C1 00 29 */ stb r6, 0x29(r1)
/* 801CD198 001C8DF8 98 C1 00 2A */ stb r6, 0x2a(r1)
/* 801CD19C 001C8DFC 98 C1 00 2B */ stb r6, 0x2b(r1)
/* 801CD1A0 001C8E00 98 C1 00 2C */ stb r6, 0x2c(r1)
/* 801CD1A4 001C8E04 98 C1 00 2D */ stb r6, 0x2d(r1)
/* 801CD1A8 001C8E08 98 C1 00 2E */ stb r6, 0x2e(r1)
/* 801CD1AC 001C8E0C 98 C1 00 2F */ stb r6, 0x2f(r1)
/* 801CD1B0 001C8E10 98 A1 00 11 */ stb r5, 0x11(r1)
/* 801CD1B4 001C8E14 98 01 00 14 */ stb r0, 0x14(r1)
/* 801CD1B8 001C8E18 48 00 01 FC */ b lbl_801CD3B4
/* 801CD1BC 001C8E1C 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801CD1C0 001C8E20 28 00 00 03 */ cmplwi r0, 3
/* 801CD1C4 001C8E24 40 82 00 10 */ bne lbl_801CD1D4
/* 801CD1C8 001C8E28 38 00 00 0A */ li r0, 0xa
/* 801CD1CC 001C8E2C 98 01 00 0A */ stb r0, 0xa(r1)
/* 801CD1D0 001C8E30 48 00 00 14 */ b lbl_801CD1E4
lbl_801CD1D4:
/* 801CD1D4 001C8E34 2C 00 00 00 */ cmpwi r0, 0
/* 801CD1D8 001C8E38 41 82 00 0C */ beq lbl_801CD1E4
/* 801CD1DC 001C8E3C 38 00 00 FF */ li r0, 0xff
/* 801CD1E0 001C8E40 98 01 00 0B */ stb r0, 0xb(r1)
lbl_801CD1E4:
/* 801CD1E4 001C8E44 8D 43 00 01 */ lbzu r10, 1(r3)
/* 801CD1E8 001C8E48 39 60 00 00 */ li r11, 0
/* 801CD1EC 001C8E4C 7D 4A 07 74 */ extsb r10, r10
/* 801CD1F0 001C8E50 2C 0A 00 5E */ cmpwi r10, 0x5e
/* 801CD1F4 001C8E54 40 82 00 10 */ bne lbl_801CD204
/* 801CD1F8 001C8E58 8D 43 00 01 */ lbzu r10, 1(r3)
/* 801CD1FC 001C8E5C 39 60 00 01 */ li r11, 1
/* 801CD200 001C8E60 7D 4A 07 74 */ extsb r10, r10
lbl_801CD204:
/* 801CD204 001C8E64 2C 0A 00 5D */ cmpwi r10, 0x5d
/* 801CD208 001C8E68 40 82 00 18 */ bne lbl_801CD220
/* 801CD20C 001C8E6C 88 01 00 1B */ lbz r0, 0x1b(r1)
/* 801CD210 001C8E70 8D 43 00 01 */ lbzu r10, 1(r3)
/* 801CD214 001C8E74 60 00 00 20 */ ori r0, r0, 0x20
/* 801CD218 001C8E78 98 01 00 1B */ stb r0, 0x1b(r1)
/* 801CD21C 001C8E7C 7D 4A 07 74 */ extsb r10, r10
lbl_801CD220:
/* 801CD220 001C8E80 39 01 00 08 */ addi r8, r1, 8
/* 801CD224 001C8E84 38 A0 00 01 */ li r5, 1
/* 801CD228 001C8E88 48 00 00 80 */ b lbl_801CD2A8
lbl_801CD22C:
/* 801CD22C 001C8E8C 55 46 EE FE */ rlwinm r6, r10, 0x1d, 0x1b, 0x1f
/* 801CD230 001C8E90 88 03 00 01 */ lbz r0, 1(r3)
/* 801CD234 001C8E94 7D 28 32 14 */ add r9, r8, r6
/* 801CD238 001C8E98 55 46 07 7E */ clrlwi r6, r10, 0x1d
/* 801CD23C 001C8E9C 88 E9 00 08 */ lbz r7, 8(r9)
/* 801CD240 001C8EA0 7C A6 30 30 */ slw r6, r5, r6
/* 801CD244 001C8EA4 2C 00 00 2D */ cmpwi r0, 0x2d
/* 801CD248 001C8EA8 7C E6 33 78 */ or r6, r7, r6
/* 801CD24C 001C8EAC 98 C9 00 08 */ stb r6, 8(r9)
/* 801CD250 001C8EB0 40 82 00 50 */ bne lbl_801CD2A0
/* 801CD254 001C8EB4 89 23 00 02 */ lbz r9, 2(r3)
/* 801CD258 001C8EB8 7D 29 07 75 */ extsb. r9, r9
/* 801CD25C 001C8EBC 41 82 00 44 */ beq lbl_801CD2A0
/* 801CD260 001C8EC0 2C 09 00 5D */ cmpwi r9, 0x5d
/* 801CD264 001C8EC4 41 82 00 3C */ beq lbl_801CD2A0
/* 801CD268 001C8EC8 48 00 00 20 */ b lbl_801CD288
lbl_801CD26C:
/* 801CD26C 001C8ECC 55 46 EE FE */ rlwinm r6, r10, 0x1d, 0x1b, 0x1f
/* 801CD270 001C8ED0 55 40 07 7E */ clrlwi r0, r10, 0x1d
/* 801CD274 001C8ED4 7C E8 32 14 */ add r7, r8, r6
/* 801CD278 001C8ED8 88 C7 00 08 */ lbz r6, 8(r7)
/* 801CD27C 001C8EDC 7C A0 00 30 */ slw r0, r5, r0
/* 801CD280 001C8EE0 7C C0 03 78 */ or r0, r6, r0
/* 801CD284 001C8EE4 98 07 00 08 */ stb r0, 8(r7)
lbl_801CD288:
/* 801CD288 001C8EE8 39 4A 00 01 */ addi r10, r10, 1
/* 801CD28C 001C8EEC 7C 0A 48 00 */ cmpw r10, r9
/* 801CD290 001C8EF0 40 81 FF DC */ ble lbl_801CD26C
/* 801CD294 001C8EF4 8D 43 00 03 */ lbzu r10, 3(r3)
/* 801CD298 001C8EF8 7D 4A 07 74 */ extsb r10, r10
/* 801CD29C 001C8EFC 48 00 00 0C */ b lbl_801CD2A8
lbl_801CD2A0:
/* 801CD2A0 001C8F00 8D 43 00 01 */ lbzu r10, 1(r3)
/* 801CD2A4 001C8F04 7D 4A 07 74 */ extsb r10, r10
lbl_801CD2A8:
/* 801CD2A8 001C8F08 2C 0A 00 00 */ cmpwi r10, 0
/* 801CD2AC 001C8F0C 41 82 00 0C */ beq lbl_801CD2B8
/* 801CD2B0 001C8F10 2C 0A 00 5D */ cmpwi r10, 0x5d
/* 801CD2B4 001C8F14 40 82 FF 78 */ bne lbl_801CD22C
lbl_801CD2B8:
/* 801CD2B8 001C8F18 2C 0A 00 00 */ cmpwi r10, 0
/* 801CD2BC 001C8F1C 40 82 00 10 */ bne lbl_801CD2CC
/* 801CD2C0 001C8F20 38 00 00 FF */ li r0, 0xff
/* 801CD2C4 001C8F24 98 01 00 0B */ stb r0, 0xb(r1)
/* 801CD2C8 001C8F28 48 00 00 EC */ b lbl_801CD3B4
lbl_801CD2CC:
/* 801CD2CC 001C8F2C 2C 0B 00 00 */ cmpwi r11, 0
/* 801CD2D0 001C8F30 41 82 00 E4 */ beq lbl_801CD3B4
/* 801CD2D4 001C8F34 38 00 00 02 */ li r0, 2
/* 801CD2D8 001C8F38 38 A1 00 10 */ addi r5, r1, 0x10
/* 801CD2DC 001C8F3C 7C 09 03 A6 */ mtctr r0
lbl_801CD2E0:
/* 801CD2E0 001C8F40 88 05 00 00 */ lbz r0, 0(r5)
/* 801CD2E4 001C8F44 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD2E8 001C8F48 98 05 00 00 */ stb r0, 0(r5)
/* 801CD2EC 001C8F4C 88 05 00 01 */ lbz r0, 1(r5)
/* 801CD2F0 001C8F50 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD2F4 001C8F54 98 05 00 01 */ stb r0, 1(r5)
/* 801CD2F8 001C8F58 88 05 00 02 */ lbz r0, 2(r5)
/* 801CD2FC 001C8F5C 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD300 001C8F60 98 05 00 02 */ stb r0, 2(r5)
/* 801CD304 001C8F64 88 05 00 03 */ lbz r0, 3(r5)
/* 801CD308 001C8F68 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD30C 001C8F6C 98 05 00 03 */ stb r0, 3(r5)
/* 801CD310 001C8F70 88 05 00 04 */ lbz r0, 4(r5)
/* 801CD314 001C8F74 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD318 001C8F78 98 05 00 04 */ stb r0, 4(r5)
/* 801CD31C 001C8F7C 88 05 00 05 */ lbz r0, 5(r5)
/* 801CD320 001C8F80 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD324 001C8F84 98 05 00 05 */ stb r0, 5(r5)
/* 801CD328 001C8F88 88 05 00 06 */ lbz r0, 6(r5)
/* 801CD32C 001C8F8C 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD330 001C8F90 98 05 00 06 */ stb r0, 6(r5)
/* 801CD334 001C8F94 88 05 00 07 */ lbz r0, 7(r5)
/* 801CD338 001C8F98 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD33C 001C8F9C 98 05 00 07 */ stb r0, 7(r5)
/* 801CD340 001C8FA0 88 05 00 08 */ lbz r0, 8(r5)
/* 801CD344 001C8FA4 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD348 001C8FA8 98 05 00 08 */ stb r0, 8(r5)
/* 801CD34C 001C8FAC 88 05 00 09 */ lbz r0, 9(r5)
/* 801CD350 001C8FB0 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD354 001C8FB4 98 05 00 09 */ stb r0, 9(r5)
/* 801CD358 001C8FB8 88 05 00 0A */ lbz r0, 0xa(r5)
/* 801CD35C 001C8FBC 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD360 001C8FC0 98 05 00 0A */ stb r0, 0xa(r5)
/* 801CD364 001C8FC4 88 05 00 0B */ lbz r0, 0xb(r5)
/* 801CD368 001C8FC8 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD36C 001C8FCC 98 05 00 0B */ stb r0, 0xb(r5)
/* 801CD370 001C8FD0 88 05 00 0C */ lbz r0, 0xc(r5)
/* 801CD374 001C8FD4 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD378 001C8FD8 98 05 00 0C */ stb r0, 0xc(r5)
/* 801CD37C 001C8FDC 88 05 00 0D */ lbz r0, 0xd(r5)
/* 801CD380 001C8FE0 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD384 001C8FE4 98 05 00 0D */ stb r0, 0xd(r5)
/* 801CD388 001C8FE8 88 05 00 0E */ lbz r0, 0xe(r5)
/* 801CD38C 001C8FEC 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD390 001C8FF0 98 05 00 0E */ stb r0, 0xe(r5)
/* 801CD394 001C8FF4 88 05 00 0F */ lbz r0, 0xf(r5)
/* 801CD398 001C8FF8 7C 00 00 F8 */ nor r0, r0, r0
/* 801CD39C 001C8FFC 98 05 00 0F */ stb r0, 0xf(r5)
/* 801CD3A0 001C9000 38 A5 00 10 */ addi r5, r5, 0x10
/* 801CD3A4 001C9004 42 00 FF 3C */ bdnz lbl_801CD2E0
/* 801CD3A8 001C9008 48 00 00 0C */ b lbl_801CD3B4
lbl_801CD3AC:
/* 801CD3AC 001C900C 38 00 00 FF */ li r0, 0xff
/* 801CD3B0 001C9010 98 01 00 0B */ stb r0, 0xb(r1)
lbl_801CD3B4:
/* 801CD3B4 001C9014 80 A1 00 08 */ lwz r5, 8(r1)
/* 801CD3B8 001C9018 38 63 00 01 */ addi r3, r3, 1
/* 801CD3BC 001C901C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801CD3C0 001C9020 90 A4 00 00 */ stw r5, 0(r4)
/* 801CD3C4 001C9024 90 04 00 04 */ stw r0, 4(r4)
/* 801CD3C8 001C9028 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 801CD3CC 001C902C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CD3D0 001C9030 90 A4 00 08 */ stw r5, 8(r4)
/* 801CD3D4 001C9034 90 04 00 0C */ stw r0, 0xc(r4)
/* 801CD3D8 001C9038 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 801CD3DC 001C903C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801CD3E0 001C9040 90 A4 00 10 */ stw r5, 0x10(r4)
/* 801CD3E4 001C9044 90 04 00 14 */ stw r0, 0x14(r4)
/* 801CD3E8 001C9048 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 801CD3EC 001C904C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801CD3F0 001C9050 90 A4 00 18 */ stw r5, 0x18(r4)
/* 801CD3F4 001C9054 90 04 00 1C */ stw r0, 0x1c(r4)
/* 801CD3F8 001C9058 80 A1 00 28 */ lwz r5, 0x28(r1)
/* 801CD3FC 001C905C 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 801CD400 001C9060 90 A4 00 20 */ stw r5, 0x20(r4)
/* 801CD404 001C9064 90 04 00 24 */ stw r0, 0x24(r4)
lbl_801CD408:
/* 801CD408 001C9068 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 801CD40C 001C906C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 801CD410 001C9070 38 21 00 40 */ addi r1, r1, 0x40
/* 801CD414 001C9074 4E 80 00 20 */ blr
.global func_801CD418
func_801CD418:
/* 801CD418 001C9078 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 801CD41C 001C907C 7C 08 02 A6 */ mflr r0
/* 801CD420 001C9080 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 801CD424 001C9084 39 61 00 B0 */ addi r11, r1, 0xb0
/* 801CD428 001C9088 4B FF 9C D1 */ bl func_801C70F8
/* 801CD42C 001C908C 38 00 00 00 */ li r0, 0
/* 801CD430 001C9090 3D 00 80 42 */ lis r8, lbl_80422D48@ha
/* 801CD434 001C9094 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801CD438 001C9098 38 00 00 00 */ li r0, 0
/* 801CD43C 001C909C 7C 7A 1B 78 */ mr r26, r3
/* 801CD440 001C90A0 7C 9B 23 78 */ mr r27, r4
/* 801CD444 001C90A4 90 C1 00 08 */ stw r6, 8(r1)
/* 801CD448 001C90A8 7C B1 2B 78 */ mr r17, r5
/* 801CD44C 001C90AC 7C FC 3B 78 */ mr r28, r7
/* 801CD450 001C90B0 3B 21 00 20 */ addi r25, r1, 0x20
/* 801CD454 001C90B4 90 01 00 58 */ stw r0, 0x58(r1)
/* 801CD458 001C90B8 3A E8 2D 48 */ addi r23, r8, lbl_80422D48@l
/* 801CD45C 001C90BC 3B A0 00 00 */ li r29, 0
/* 801CD460 001C90C0 3A A0 00 00 */ li r21, 0
/* 801CD464 001C90C4 3A 80 00 00 */ li r20, 0
/* 801CD468 001C90C8 3A 60 00 00 */ li r19, 0
/* 801CD46C 001C90CC 3B 00 00 01 */ li r24, 1
/* 801CD470 001C90D0 48 00 0C B0 */ b lbl_801CE120
lbl_801CD474:
/* 801CD474 001C90D4 2C 16 00 00 */ cmpwi r22, 0
/* 801CD478 001C90D8 38 00 00 00 */ li r0, 0
/* 801CD47C 001C90DC 41 80 00 0C */ blt lbl_801CD488
/* 801CD480 001C90E0 2C 16 01 00 */ cmpwi r22, 0x100
/* 801CD484 001C90E4 41 80 00 08 */ blt lbl_801CD48C
lbl_801CD488:
/* 801CD488 001C90E8 38 00 00 01 */ li r0, 1
lbl_801CD48C:
/* 801CD48C 001C90EC 2C 00 00 00 */ cmpwi r0, 0
/* 801CD490 001C90F0 41 82 00 0C */ beq lbl_801CD49C
/* 801CD494 001C90F4 38 00 00 00 */ li r0, 0
/* 801CD498 001C90F8 48 00 00 18 */ b lbl_801CD4B0
lbl_801CD49C:
/* 801CD49C 001C90FC 80 77 00 38 */ lwz r3, 0x38(r23)
/* 801CD4A0 001C9100 56 C0 08 3C */ slwi r0, r22, 1
/* 801CD4A4 001C9104 80 63 00 08 */ lwz r3, 8(r3)
/* 801CD4A8 001C9108 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CD4AC 001C910C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CD4B0:
/* 801CD4B0 001C9110 2C 00 00 00 */ cmpwi r0, 0
/* 801CD4B4 001C9114 41 82 00 DC */ beq lbl_801CD590
/* 801CD4B8 001C9118 80 97 00 38 */ lwz r4, 0x38(r23)
lbl_801CD4BC:
/* 801CD4BC 001C911C 8C 71 00 01 */ lbzu r3, 1(r17)
/* 801CD4C0 001C9120 38 00 00 00 */ li r0, 0
/* 801CD4C4 001C9124 7C 65 07 75 */ extsb. r5, r3
/* 801CD4C8 001C9128 41 80 00 0C */ blt lbl_801CD4D4
/* 801CD4CC 001C912C 2C 05 01 00 */ cmpwi r5, 0x100
/* 801CD4D0 001C9130 41 80 00 08 */ blt lbl_801CD4D8
lbl_801CD4D4:
/* 801CD4D4 001C9134 38 00 00 01 */ li r0, 1
lbl_801CD4D8:
/* 801CD4D8 001C9138 2C 00 00 00 */ cmpwi r0, 0
/* 801CD4DC 001C913C 41 82 00 0C */ beq lbl_801CD4E8
/* 801CD4E0 001C9140 38 00 00 00 */ li r0, 0
/* 801CD4E4 001C9144 48 00 00 14 */ b lbl_801CD4F8
lbl_801CD4E8:
/* 801CD4E8 001C9148 80 64 00 08 */ lwz r3, 8(r4)
/* 801CD4EC 001C914C 54 A0 08 3C */ slwi r0, r5, 1
/* 801CD4F0 001C9150 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CD4F4 001C9154 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CD4F8:
/* 801CD4F8 001C9158 2C 00 00 00 */ cmpwi r0, 0
/* 801CD4FC 001C915C 40 82 FF C0 */ bne lbl_801CD4BC
/* 801CD500 001C9160 2C 1D 00 00 */ cmpwi r29, 0
/* 801CD504 001C9164 40 82 0C 1C */ bne lbl_801CE120
/* 801CD508 001C9168 48 00 00 08 */ b lbl_801CD510
lbl_801CD50C:
/* 801CD50C 001C916C 3A B5 00 01 */ addi r21, r21, 1
lbl_801CD510:
/* 801CD510 001C9170 7F 4C D3 78 */ mr r12, r26
/* 801CD514 001C9174 7F 63 DB 78 */ mr r3, r27
/* 801CD518 001C9178 38 80 00 00 */ li r4, 0
/* 801CD51C 001C917C 38 A0 00 00 */ li r5, 0
/* 801CD520 001C9180 7D 89 03 A6 */ mtctr r12
/* 801CD524 001C9184 4E 80 04 21 */ bctrl
/* 801CD528 001C9188 7C 65 07 75 */ extsb. r5, r3
/* 801CD52C 001C918C 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CD530 001C9190 38 00 00 00 */ li r0, 0
/* 801CD534 001C9194 41 80 00 0C */ blt lbl_801CD540
/* 801CD538 001C9198 2C 05 01 00 */ cmpwi r5, 0x100
/* 801CD53C 001C919C 41 80 00 08 */ blt lbl_801CD544
lbl_801CD540:
/* 801CD540 001C91A0 38 00 00 01 */ li r0, 1
lbl_801CD544:
/* 801CD544 001C91A4 2C 00 00 00 */ cmpwi r0, 0
/* 801CD548 001C91A8 41 82 00 0C */ beq lbl_801CD554
/* 801CD54C 001C91AC 38 00 00 00 */ li r0, 0
/* 801CD550 001C91B0 48 00 00 18 */ b lbl_801CD568
lbl_801CD554:
/* 801CD554 001C91B4 80 97 00 38 */ lwz r4, 0x38(r23)
/* 801CD558 001C91B8 54 A0 08 3C */ slwi r0, r5, 1
/* 801CD55C 001C91BC 80 84 00 08 */ lwz r4, 8(r4)
/* 801CD560 001C91C0 7C 04 02 2E */ lhzx r0, r4, r0
/* 801CD564 001C91C4 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CD568:
/* 801CD568 001C91C8 2C 00 00 00 */ cmpwi r0, 0
/* 801CD56C 001C91CC 40 82 FF A0 */ bne lbl_801CD50C
/* 801CD570 001C91D0 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 801CD574 001C91D4 7F 4C D3 78 */ mr r12, r26
/* 801CD578 001C91D8 7F 63 DB 78 */ mr r3, r27
/* 801CD57C 001C91DC 38 A0 00 01 */ li r5, 1
/* 801CD580 001C91E0 7C 84 07 74 */ extsb r4, r4
/* 801CD584 001C91E4 7D 89 03 A6 */ mtctr r12
/* 801CD588 001C91E8 4E 80 04 21 */ bctrl
/* 801CD58C 001C91EC 48 00 0B 94 */ b lbl_801CE120
lbl_801CD590:
/* 801CD590 001C91F0 2C 16 00 25 */ cmpwi r22, 0x25
/* 801CD594 001C91F4 41 82 00 74 */ beq lbl_801CD608
/* 801CD598 001C91F8 2C 1D 00 00 */ cmpwi r29, 0
/* 801CD59C 001C91FC 40 82 00 6C */ bne lbl_801CD608
/* 801CD5A0 001C9200 7F 4C D3 78 */ mr r12, r26
/* 801CD5A4 001C9204 7F 63 DB 78 */ mr r3, r27
/* 801CD5A8 001C9208 38 80 00 00 */ li r4, 0
/* 801CD5AC 001C920C 38 A0 00 00 */ li r5, 0
/* 801CD5B0 001C9210 7D 89 03 A6 */ mtctr r12
/* 801CD5B4 001C9214 4E 80 04 21 */ bctrl
/* 801CD5B8 001C9218 7C 64 07 74 */ extsb r4, r3
/* 801CD5BC 001C921C 56 C0 06 3E */ clrlwi r0, r22, 0x18
/* 801CD5C0 001C9220 7C 00 20 00 */ cmpw r0, r4
/* 801CD5C4 001C9224 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CD5C8 001C9228 41 82 00 34 */ beq lbl_801CD5FC
/* 801CD5CC 001C922C 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 801CD5D0 001C9230 7F 4C D3 78 */ mr r12, r26
/* 801CD5D4 001C9234 7F 63 DB 78 */ mr r3, r27
/* 801CD5D8 001C9238 38 A0 00 01 */ li r5, 1
/* 801CD5DC 001C923C 7C 84 07 74 */ extsb r4, r4
/* 801CD5E0 001C9240 7D 89 03 A6 */ mtctr r12
/* 801CD5E4 001C9244 4E 80 04 21 */ bctrl
/* 801CD5E8 001C9248 2C 1C 00 00 */ cmpwi r28, 0
/* 801CD5EC 001C924C 41 82 0B 40 */ beq lbl_801CE12C
/* 801CD5F0 001C9250 3B A0 00 01 */ li r29, 1
/* 801CD5F4 001C9254 3A 31 00 01 */ addi r17, r17, 1
/* 801CD5F8 001C9258 48 00 0B 28 */ b lbl_801CE120
lbl_801CD5FC:
/* 801CD5FC 001C925C 3A B5 00 01 */ addi r21, r21, 1
/* 801CD600 001C9260 3A 31 00 01 */ addi r17, r17, 1
/* 801CD604 001C9264 48 00 0B 1C */ b lbl_801CE120
lbl_801CD608:
/* 801CD608 001C9268 7E 23 8B 78 */ mr r3, r17
/* 801CD60C 001C926C 38 81 00 20 */ addi r4, r1, 0x20
/* 801CD610 001C9270 4B FF F7 55 */ bl func_801CCD64
/* 801CD614 001C9274 88 01 00 20 */ lbz r0, 0x20(r1)
/* 801CD618 001C9278 7C 71 1B 78 */ mr r17, r3
/* 801CD61C 001C927C 2C 00 00 00 */ cmpwi r0, 0
/* 801CD620 001C9280 40 82 00 24 */ bne lbl_801CD644
/* 801CD624 001C9284 88 01 00 23 */ lbz r0, 0x23(r1)
/* 801CD628 001C9288 28 00 00 25 */ cmplwi r0, 0x25
/* 801CD62C 001C928C 41 82 00 18 */ beq lbl_801CD644
/* 801CD630 001C9290 80 61 00 08 */ lwz r3, 8(r1)
/* 801CD634 001C9294 38 80 00 01 */ li r4, 1
/* 801CD638 001C9298 4B FF 95 49 */ bl func_801C6B80
/* 801CD63C 001C929C 82 C3 00 00 */ lwz r22, 0(r3)
/* 801CD640 001C92A0 48 00 00 08 */ b lbl_801CD648
lbl_801CD644:
/* 801CD644 001C92A4 3A C0 00 00 */ li r22, 0
lbl_801CD648:
/* 801CD648 001C92A8 88 01 00 23 */ lbz r0, 0x23(r1)
/* 801CD64C 001C92AC 28 00 00 6E */ cmplwi r0, 0x6e
/* 801CD650 001C92B0 41 82 00 38 */ beq lbl_801CD688
/* 801CD654 001C92B4 2C 1D 00 00 */ cmpwi r29, 0
/* 801CD658 001C92B8 40 82 00 30 */ bne lbl_801CD688
/* 801CD65C 001C92BC 7F 4C D3 78 */ mr r12, r26
/* 801CD660 001C92C0 7F 63 DB 78 */ mr r3, r27
/* 801CD664 001C92C4 38 80 00 00 */ li r4, 0
/* 801CD668 001C92C8 38 A0 00 02 */ li r5, 2
/* 801CD66C 001C92CC 7D 89 03 A6 */ mtctr r12
/* 801CD670 001C92D0 4E 80 04 21 */ bctrl
/* 801CD674 001C92D4 2C 03 00 00 */ cmpwi r3, 0
/* 801CD678 001C92D8 41 82 00 10 */ beq lbl_801CD688
/* 801CD67C 001C92DC 2C 1C 00 00 */ cmpwi r28, 0
/* 801CD680 001C92E0 41 82 0A AC */ beq lbl_801CE12C
/* 801CD684 001C92E4 3B A0 00 01 */ li r29, 1
lbl_801CD688:
/* 801CD688 001C92E8 88 01 00 23 */ lbz r0, 0x23(r1)
/* 801CD68C 001C92EC 2C 00 00 64 */ cmpwi r0, 0x64
/* 801CD690 001C92F0 41 82 00 C4 */ beq lbl_801CD754
/* 801CD694 001C92F4 40 80 00 60 */ bge lbl_801CD6F4
/* 801CD698 001C92F8 2C 00 00 58 */ cmpwi r0, 0x58
/* 801CD69C 001C92FC 41 82 02 7C */ beq lbl_801CD918
/* 801CD6A0 001C9300 40 80 00 30 */ bge lbl_801CD6D0
/* 801CD6A4 001C9304 2C 00 00 41 */ cmpwi r0, 0x41
/* 801CD6A8 001C9308 41 82 03 F8 */ beq lbl_801CDAA0
/* 801CD6AC 001C930C 40 80 00 10 */ bge lbl_801CD6BC
/* 801CD6B0 001C9310 2C 00 00 25 */ cmpwi r0, 0x25
/* 801CD6B4 001C9314 41 82 06 48 */ beq lbl_801CDCFC
/* 801CD6B8 001C9318 48 00 0A 74 */ b lbl_801CE12C
lbl_801CD6BC:
/* 801CD6BC 001C931C 2C 00 00 48 */ cmpwi r0, 0x48
/* 801CD6C0 001C9320 40 80 0A 6C */ bge lbl_801CE12C
/* 801CD6C4 001C9324 2C 00 00 45 */ cmpwi r0, 0x45
/* 801CD6C8 001C9328 40 80 03 D8 */ bge lbl_801CDAA0
/* 801CD6CC 001C932C 48 00 0A 60 */ b lbl_801CE12C
lbl_801CD6D0:
/* 801CD6D0 001C9330 2C 00 00 61 */ cmpwi r0, 0x61
/* 801CD6D4 001C9334 41 82 03 CC */ beq lbl_801CDAA0
/* 801CD6D8 001C9338 40 80 00 10 */ bge lbl_801CD6E8
/* 801CD6DC 001C933C 2C 00 00 5B */ cmpwi r0, 0x5b
/* 801CD6E0 001C9340 41 82 07 70 */ beq lbl_801CDE50
/* 801CD6E4 001C9344 48 00 0A 48 */ b lbl_801CE12C
lbl_801CD6E8:
/* 801CD6E8 001C9348 2C 00 00 63 */ cmpwi r0, 0x63
/* 801CD6EC 001C934C 40 80 04 64 */ bge lbl_801CDB50
/* 801CD6F0 001C9350 48 00 0A 3C */ b lbl_801CE12C
lbl_801CD6F4:
/* 801CD6F4 001C9354 2C 00 00 73 */ cmpwi r0, 0x73
/* 801CD6F8 001C9358 41 82 06 B0 */ beq lbl_801CDDA8
/* 801CD6FC 001C935C 40 80 00 34 */ bge lbl_801CD730
/* 801CD700 001C9360 2C 00 00 6E */ cmpwi r0, 0x6e
/* 801CD704 001C9364 41 82 09 B4 */ beq lbl_801CE0B8
/* 801CD708 001C9368 40 80 00 1C */ bge lbl_801CD724
/* 801CD70C 001C936C 2C 00 00 69 */ cmpwi r0, 0x69
/* 801CD710 001C9370 41 82 00 4C */ beq lbl_801CD75C
/* 801CD714 001C9374 40 80 0A 18 */ bge lbl_801CE12C
/* 801CD718 001C9378 2C 00 00 68 */ cmpwi r0, 0x68
/* 801CD71C 001C937C 40 80 0A 10 */ bge lbl_801CE12C
/* 801CD720 001C9380 48 00 03 80 */ b lbl_801CDAA0
lbl_801CD724:
/* 801CD724 001C9384 2C 00 00 70 */ cmpwi r0, 0x70
/* 801CD728 001C9388 40 80 0A 04 */ bge lbl_801CE12C
/* 801CD72C 001C938C 48 00 01 DC */ b lbl_801CD908
lbl_801CD730:
/* 801CD730 001C9390 2C 00 00 78 */ cmpwi r0, 0x78
/* 801CD734 001C9394 41 82 01 E4 */ beq lbl_801CD918
/* 801CD738 001C9398 40 80 00 10 */ bge lbl_801CD748
/* 801CD73C 001C939C 2C 00 00 75 */ cmpwi r0, 0x75
/* 801CD740 001C93A0 41 82 01 D0 */ beq lbl_801CD910
/* 801CD744 001C93A4 48 00 09 E8 */ b lbl_801CE12C
lbl_801CD748:
/* 801CD748 001C93A8 2C 00 00 FF */ cmpwi r0, 0xff
/* 801CD74C 001C93AC 41 82 09 E0 */ beq lbl_801CE12C
/* 801CD750 001C93B0 48 00 09 DC */ b lbl_801CE12C
lbl_801CD754:
/* 801CD754 001C93B4 38 60 00 0A */ li r3, 0xa
/* 801CD758 001C93B8 48 00 00 08 */ b lbl_801CD760
lbl_801CD75C:
/* 801CD75C 001C93BC 38 60 00 00 */ li r3, 0
lbl_801CD760:
/* 801CD760 001C93C0 2C 1D 00 00 */ cmpwi r29, 0
/* 801CD764 001C93C4 41 82 00 1C */ beq lbl_801CD780
/* 801CD768 001C93C8 38 00 00 00 */ li r0, 0
/* 801CD76C 001C93CC 3A 00 00 00 */ li r16, 0
/* 801CD770 001C93D0 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801CD774 001C93D4 38 00 00 00 */ li r0, 0
/* 801CD778 001C93D8 90 01 00 58 */ stw r0, 0x58(r1)
/* 801CD77C 001C93DC 48 00 00 F8 */ b lbl_801CD874
lbl_801CD780:
/* 801CD780 001C93E0 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CD784 001C93E4 28 00 00 07 */ cmplwi r0, 7
/* 801CD788 001C93E8 41 82 00 0C */ beq lbl_801CD794
/* 801CD78C 001C93EC 28 00 00 04 */ cmplwi r0, 4
/* 801CD790 001C93F0 40 82 00 2C */ bne lbl_801CD7BC
lbl_801CD794:
/* 801CD794 001C93F4 80 81 00 24 */ lwz r4, 0x24(r1)
/* 801CD798 001C93F8 7F 45 D3 78 */ mr r5, r26
/* 801CD79C 001C93FC 7F 66 DB 78 */ mr r6, r27
/* 801CD7A0 001C9400 38 E1 00 18 */ addi r7, r1, 0x18
/* 801CD7A4 001C9404 39 01 00 14 */ addi r8, r1, 0x14
/* 801CD7A8 001C9408 39 21 00 10 */ addi r9, r1, 0x10
/* 801CD7AC 001C940C 48 00 29 09 */ bl func_801D00B4
/* 801CD7B0 001C9410 90 81 00 54 */ stw r4, 0x54(r1)
/* 801CD7B4 001C9414 90 61 00 50 */ stw r3, 0x50(r1)
/* 801CD7B8 001C9418 48 00 00 24 */ b lbl_801CD7DC
lbl_801CD7BC:
/* 801CD7BC 001C941C 80 81 00 24 */ lwz r4, 0x24(r1)
/* 801CD7C0 001C9420 7F 45 D3 78 */ mr r5, r26
/* 801CD7C4 001C9424 7F 66 DB 78 */ mr r6, r27
/* 801CD7C8 001C9428 38 E1 00 18 */ addi r7, r1, 0x18
/* 801CD7CC 001C942C 39 01 00 14 */ addi r8, r1, 0x14
/* 801CD7D0 001C9430 39 21 00 10 */ addi r9, r1, 0x10
/* 801CD7D4 001C9434 48 00 24 B1 */ bl func_801CFC84
/* 801CD7D8 001C9438 7C 6F 1B 78 */ mr r15, r3
lbl_801CD7DC:
/* 801CD7DC 001C943C 80 61 00 18 */ lwz r3, 0x18(r1)
/* 801CD7E0 001C9440 2C 03 00 00 */ cmpwi r3, 0
/* 801CD7E4 001C9444 40 82 00 28 */ bne lbl_801CD80C
/* 801CD7E8 001C9448 2C 1C 00 00 */ cmpwi r28, 0
/* 801CD7EC 001C944C 41 82 09 40 */ beq lbl_801CE12C
/* 801CD7F0 001C9450 38 00 00 00 */ li r0, 0
/* 801CD7F4 001C9454 3B A0 00 01 */ li r29, 1
/* 801CD7F8 001C9458 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801CD7FC 001C945C 38 00 00 00 */ li r0, 0
/* 801CD800 001C9460 3A 00 00 00 */ li r16, 0
/* 801CD804 001C9464 90 01 00 58 */ stw r0, 0x58(r1)
/* 801CD808 001C9468 48 00 00 6C */ b lbl_801CD874
lbl_801CD80C:
/* 801CD80C 001C946C 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CD810 001C9470 7E B5 1A 14 */ add r21, r21, r3
/* 801CD814 001C9474 28 00 00 07 */ cmplwi r0, 7
/* 801CD818 001C9478 41 82 00 0C */ beq lbl_801CD824
/* 801CD81C 001C947C 28 00 00 04 */ cmplwi r0, 4
/* 801CD820 001C9480 40 82 00 40 */ bne lbl_801CD860
lbl_801CD824:
/* 801CD824 001C9484 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CD828 001C9488 2C 00 00 00 */ cmpwi r0, 0
/* 801CD82C 001C948C 41 82 00 20 */ beq lbl_801CD84C
/* 801CD830 001C9490 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CD834 001C9494 20 00 00 00 */ subfic r0, r0, 0
/* 801CD838 001C9498 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801CD83C 001C949C 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801CD840 001C94A0 7C 00 01 90 */ subfze r0, r0
/* 801CD844 001C94A4 90 01 00 58 */ stw r0, 0x58(r1)
/* 801CD848 001C94A8 48 00 00 2C */ b lbl_801CD874
lbl_801CD84C:
/* 801CD84C 001C94AC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CD850 001C94B0 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801CD854 001C94B4 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801CD858 001C94B8 90 01 00 58 */ stw r0, 0x58(r1)
/* 801CD85C 001C94BC 48 00 00 18 */ b lbl_801CD874
lbl_801CD860:
/* 801CD860 001C94C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CD864 001C94C4 7D F0 7B 78 */ mr r16, r15
/* 801CD868 001C94C8 2C 00 00 00 */ cmpwi r0, 0
/* 801CD86C 001C94CC 41 82 00 08 */ beq lbl_801CD874
/* 801CD870 001C94D0 7E 0F 00 D0 */ neg r16, r15
lbl_801CD874:
/* 801CD874 001C94D4 2C 16 00 00 */ cmpwi r22, 0
/* 801CD878 001C94D8 41 82 00 88 */ beq lbl_801CD900
/* 801CD87C 001C94DC 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CD880 001C94E0 28 00 00 07 */ cmplwi r0, 7
/* 801CD884 001C94E4 41 81 00 70 */ bgt lbl_801CD8F4
/* 801CD888 001C94E8 3C 60 80 42 */ lis r3, lbl_804230E0@ha
/* 801CD88C 001C94EC 54 00 10 3A */ slwi r0, r0, 2
/* 801CD890 001C94F0 38 63 30 E0 */ addi r3, r3, lbl_804230E0@l
/* 801CD894 001C94F4 7C 63 00 2E */ lwzx r3, r3, r0
/* 801CD898 001C94F8 7C 69 03 A6 */ mtctr r3
/* 801CD89C 001C94FC 4E 80 04 20 */ bctr
/* 801CD8A0 001C9500 92 16 00 00 */ stw r16, 0(r22)
/* 801CD8A4 001C9504 48 00 00 50 */ b lbl_801CD8F4
/* 801CD8A8 001C9508 9A 16 00 00 */ stb r16, 0(r22)
/* 801CD8AC 001C950C 48 00 00 48 */ b lbl_801CD8F4
/* 801CD8B0 001C9510 B2 16 00 00 */ sth r16, 0(r22)
/* 801CD8B4 001C9514 48 00 00 40 */ b lbl_801CD8F4
/* 801CD8B8 001C9518 92 16 00 00 */ stw r16, 0(r22)
/* 801CD8BC 001C951C 48 00 00 38 */ b lbl_801CD8F4
/* 801CD8C0 001C9520 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 801CD8C4 001C9524 90 16 00 04 */ stw r0, 4(r22)
/* 801CD8C8 001C9528 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801CD8CC 001C952C 90 16 00 00 */ stw r0, 0(r22)
/* 801CD8D0 001C9530 48 00 00 24 */ b lbl_801CD8F4
/* 801CD8D4 001C9534 92 16 00 00 */ stw r16, 0(r22)
/* 801CD8D8 001C9538 48 00 00 1C */ b lbl_801CD8F4
/* 801CD8DC 001C953C 92 16 00 00 */ stw r16, 0(r22)
/* 801CD8E0 001C9540 48 00 00 14 */ b lbl_801CD8F4
/* 801CD8E4 001C9544 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 801CD8E8 001C9548 90 16 00 04 */ stw r0, 4(r22)
/* 801CD8EC 001C954C 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801CD8F0 001C9550 90 16 00 00 */ stw r0, 0(r22)
lbl_801CD8F4:
/* 801CD8F4 001C9554 2C 1D 00 00 */ cmpwi r29, 0
/* 801CD8F8 001C9558 40 82 00 08 */ bne lbl_801CD900
/* 801CD8FC 001C955C 3A 94 00 01 */ addi r20, r20, 1
lbl_801CD900:
/* 801CD900 001C9560 3A 73 00 01 */ addi r19, r19, 1
/* 801CD904 001C9564 48 00 08 1C */ b lbl_801CE120
lbl_801CD908:
/* 801CD908 001C9568 38 60 00 08 */ li r3, 8
/* 801CD90C 001C956C 48 00 00 10 */ b lbl_801CD91C
lbl_801CD910:
/* 801CD910 001C9570 38 60 00 0A */ li r3, 0xa
/* 801CD914 001C9574 48 00 00 08 */ b lbl_801CD91C
lbl_801CD918:
/* 801CD918 001C9578 38 60 00 10 */ li r3, 0x10
lbl_801CD91C:
/* 801CD91C 001C957C 2C 1D 00 00 */ cmpwi r29, 0
/* 801CD920 001C9580 41 82 00 1C */ beq lbl_801CD93C
/* 801CD924 001C9584 38 00 00 00 */ li r0, 0
/* 801CD928 001C9588 39 E0 00 00 */ li r15, 0
/* 801CD92C 001C958C 90 01 00 54 */ stw r0, 0x54(r1)
/* 801CD930 001C9590 38 00 00 00 */ li r0, 0
/* 801CD934 001C9594 90 01 00 50 */ stw r0, 0x50(r1)
/* 801CD938 001C9598 48 00 00 D4 */ b lbl_801CDA0C
lbl_801CD93C:
/* 801CD93C 001C959C 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CD940 001C95A0 28 00 00 07 */ cmplwi r0, 7
/* 801CD944 001C95A4 41 82 00 0C */ beq lbl_801CD950
/* 801CD948 001C95A8 28 00 00 04 */ cmplwi r0, 4
/* 801CD94C 001C95AC 40 82 00 2C */ bne lbl_801CD978
lbl_801CD950:
/* 801CD950 001C95B0 80 81 00 24 */ lwz r4, 0x24(r1)
/* 801CD954 001C95B4 7F 45 D3 78 */ mr r5, r26
/* 801CD958 001C95B8 7F 66 DB 78 */ mr r6, r27
/* 801CD95C 001C95BC 38 E1 00 18 */ addi r7, r1, 0x18
/* 801CD960 001C95C0 39 01 00 14 */ addi r8, r1, 0x14
/* 801CD964 001C95C4 39 21 00 10 */ addi r9, r1, 0x10
/* 801CD968 001C95C8 48 00 27 4D */ bl func_801D00B4
/* 801CD96C 001C95CC 90 81 00 54 */ stw r4, 0x54(r1)
/* 801CD970 001C95D0 90 61 00 50 */ stw r3, 0x50(r1)
/* 801CD974 001C95D4 48 00 00 24 */ b lbl_801CD998
lbl_801CD978:
/* 801CD978 001C95D8 80 81 00 24 */ lwz r4, 0x24(r1)
/* 801CD97C 001C95DC 7F 45 D3 78 */ mr r5, r26
/* 801CD980 001C95E0 7F 66 DB 78 */ mr r6, r27
/* 801CD984 001C95E4 38 E1 00 18 */ addi r7, r1, 0x18
/* 801CD988 001C95E8 39 01 00 14 */ addi r8, r1, 0x14
/* 801CD98C 001C95EC 39 21 00 10 */ addi r9, r1, 0x10
/* 801CD990 001C95F0 48 00 22 F5 */ bl func_801CFC84
/* 801CD994 001C95F4 7C 6F 1B 78 */ mr r15, r3
lbl_801CD998:
/* 801CD998 001C95F8 80 61 00 18 */ lwz r3, 0x18(r1)
/* 801CD99C 001C95FC 2C 03 00 00 */ cmpwi r3, 0
/* 801CD9A0 001C9600 40 82 00 28 */ bne lbl_801CD9C8
/* 801CD9A4 001C9604 2C 1C 00 00 */ cmpwi r28, 0
/* 801CD9A8 001C9608 41 82 07 84 */ beq lbl_801CE12C
/* 801CD9AC 001C960C 38 00 00 00 */ li r0, 0
/* 801CD9B0 001C9610 3B A0 00 01 */ li r29, 1
/* 801CD9B4 001C9614 90 01 00 54 */ stw r0, 0x54(r1)
/* 801CD9B8 001C9618 38 00 00 00 */ li r0, 0
/* 801CD9BC 001C961C 39 E0 00 00 */ li r15, 0
/* 801CD9C0 001C9620 90 01 00 50 */ stw r0, 0x50(r1)
/* 801CD9C4 001C9624 48 00 00 48 */ b lbl_801CDA0C
lbl_801CD9C8:
/* 801CD9C8 001C9628 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CD9CC 001C962C 7E B5 1A 14 */ add r21, r21, r3
/* 801CD9D0 001C9630 2C 00 00 00 */ cmpwi r0, 0
/* 801CD9D4 001C9634 41 82 00 38 */ beq lbl_801CDA0C
/* 801CD9D8 001C9638 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CD9DC 001C963C 28 00 00 07 */ cmplwi r0, 7
/* 801CD9E0 001C9640 40 82 00 1C */ bne lbl_801CD9FC
/* 801CD9E4 001C9644 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CD9E8 001C9648 20 00 00 00 */ subfic r0, r0, 0
/* 801CD9EC 001C964C 90 01 00 54 */ stw r0, 0x54(r1)
/* 801CD9F0 001C9650 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801CD9F4 001C9654 7C 00 01 90 */ subfze r0, r0
/* 801CD9F8 001C9658 90 01 00 50 */ stw r0, 0x50(r1)
lbl_801CD9FC:
/* 801CD9FC 001C965C 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CDA00 001C9660 28 00 00 07 */ cmplwi r0, 7
/* 801CDA04 001C9664 41 82 00 08 */ beq lbl_801CDA0C
/* 801CDA08 001C9668 7D EF 00 D0 */ neg r15, r15
lbl_801CDA0C:
/* 801CDA0C 001C966C 2C 16 00 00 */ cmpwi r22, 0
/* 801CDA10 001C9670 41 82 00 88 */ beq lbl_801CDA98
/* 801CDA14 001C9674 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CDA18 001C9678 28 00 00 07 */ cmplwi r0, 7
/* 801CDA1C 001C967C 41 81 00 70 */ bgt lbl_801CDA8C
/* 801CDA20 001C9680 3C 60 80 42 */ lis r3, lbl_804230C0@ha
/* 801CDA24 001C9684 54 00 10 3A */ slwi r0, r0, 2
/* 801CDA28 001C9688 38 63 30 C0 */ addi r3, r3, lbl_804230C0@l
/* 801CDA2C 001C968C 7C 63 00 2E */ lwzx r3, r3, r0
/* 801CDA30 001C9690 7C 69 03 A6 */ mtctr r3
/* 801CDA34 001C9694 4E 80 04 20 */ bctr
/* 801CDA38 001C9698 91 F6 00 00 */ stw r15, 0(r22)
/* 801CDA3C 001C969C 48 00 00 50 */ b lbl_801CDA8C
/* 801CDA40 001C96A0 99 F6 00 00 */ stb r15, 0(r22)
/* 801CDA44 001C96A4 48 00 00 48 */ b lbl_801CDA8C
/* 801CDA48 001C96A8 B1 F6 00 00 */ sth r15, 0(r22)
/* 801CDA4C 001C96AC 48 00 00 40 */ b lbl_801CDA8C
/* 801CDA50 001C96B0 91 F6 00 00 */ stw r15, 0(r22)
/* 801CDA54 001C96B4 48 00 00 38 */ b lbl_801CDA8C
/* 801CDA58 001C96B8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CDA5C 001C96BC 90 16 00 04 */ stw r0, 4(r22)
/* 801CDA60 001C96C0 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801CDA64 001C96C4 90 16 00 00 */ stw r0, 0(r22)
/* 801CDA68 001C96C8 48 00 00 24 */ b lbl_801CDA8C
/* 801CDA6C 001C96CC 91 F6 00 00 */ stw r15, 0(r22)
/* 801CDA70 001C96D0 48 00 00 1C */ b lbl_801CDA8C
/* 801CDA74 001C96D4 91 F6 00 00 */ stw r15, 0(r22)
/* 801CDA78 001C96D8 48 00 00 14 */ b lbl_801CDA8C
/* 801CDA7C 001C96DC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CDA80 001C96E0 90 16 00 04 */ stw r0, 4(r22)
/* 801CDA84 001C96E4 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801CDA88 001C96E8 90 16 00 00 */ stw r0, 0(r22)
lbl_801CDA8C:
/* 801CDA8C 001C96EC 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDA90 001C96F0 40 82 00 08 */ bne lbl_801CDA98
/* 801CDA94 001C96F4 3A 94 00 01 */ addi r20, r20, 1
lbl_801CDA98:
/* 801CDA98 001C96F8 3A 73 00 01 */ addi r19, r19, 1
/* 801CDA9C 001C96FC 48 00 06 84 */ b lbl_801CE120
lbl_801CDAA0:
/* 801CDAA0 001C9700 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDAA4 001C9704 41 82 00 10 */ beq lbl_801CDAB4
/* 801CDAA8 001C9708 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801CDAAC 001C970C C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801CDAB0 001C9710 48 00 00 44 */ b lbl_801CDAF4
lbl_801CDAB4:
/* 801CDAB4 001C9714 80 61 00 24 */ lwz r3, 0x24(r1)
/* 801CDAB8 001C9718 7F 44 D3 78 */ mr r4, r26
/* 801CDABC 001C971C 7F 65 DB 78 */ mr r5, r27
/* 801CDAC0 001C9720 38 C1 00 18 */ addi r6, r1, 0x18
/* 801CDAC4 001C9724 38 E1 00 10 */ addi r7, r1, 0x10
/* 801CDAC8 001C9728 48 00 0D 45 */ bl func_801CE80C
/* 801CDACC 001C972C 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801CDAD0 001C9730 2C 00 00 00 */ cmpwi r0, 0
/* 801CDAD4 001C9734 40 82 00 1C */ bne lbl_801CDAF0
/* 801CDAD8 001C9738 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDADC 001C973C 41 82 06 50 */ beq lbl_801CE12C
/* 801CDAE0 001C9740 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801CDAE4 001C9744 3B A0 00 01 */ li r29, 1
/* 801CDAE8 001C9748 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801CDAEC 001C974C 48 00 00 08 */ b lbl_801CDAF4
lbl_801CDAF0:
/* 801CDAF0 001C9750 7E B5 02 14 */ add r21, r21, r0
lbl_801CDAF4:
/* 801CDAF4 001C9754 2C 16 00 00 */ cmpwi r22, 0
/* 801CDAF8 001C9758 41 82 00 50 */ beq lbl_801CDB48
/* 801CDAFC 001C975C 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CDB00 001C9760 2C 00 00 08 */ cmpwi r0, 8
/* 801CDB04 001C9764 41 82 00 2C */ beq lbl_801CDB30
/* 801CDB08 001C9768 40 80 00 10 */ bge lbl_801CDB18
/* 801CDB0C 001C976C 2C 00 00 00 */ cmpwi r0, 0
/* 801CDB10 001C9770 41 82 00 14 */ beq lbl_801CDB24
/* 801CDB14 001C9774 48 00 00 28 */ b lbl_801CDB3C
lbl_801CDB18:
/* 801CDB18 001C9778 2C 00 00 0A */ cmpwi r0, 0xa
/* 801CDB1C 001C977C 40 80 00 20 */ bge lbl_801CDB3C
/* 801CDB20 001C9780 48 00 00 18 */ b lbl_801CDB38
lbl_801CDB24:
/* 801CDB24 001C9784 FC 00 08 18 */ frsp f0, f1
/* 801CDB28 001C9788 D0 16 00 00 */ stfs f0, 0(r22)
/* 801CDB2C 001C978C 48 00 00 10 */ b lbl_801CDB3C
lbl_801CDB30:
/* 801CDB30 001C9790 D8 36 00 00 */ stfd f1, 0(r22)
/* 801CDB34 001C9794 48 00 00 08 */ b lbl_801CDB3C
lbl_801CDB38:
/* 801CDB38 001C9798 D8 36 00 00 */ stfd f1, 0(r22)
lbl_801CDB3C:
/* 801CDB3C 001C979C 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDB40 001C97A0 40 82 00 08 */ bne lbl_801CDB48
/* 801CDB44 001C97A4 3A 94 00 01 */ addi r20, r20, 1
lbl_801CDB48:
/* 801CDB48 001C97A8 3A 73 00 01 */ addi r19, r19, 1
/* 801CDB4C 001C97AC 48 00 05 D4 */ b lbl_801CE120
lbl_801CDB50:
/* 801CDB50 001C97B0 88 01 00 21 */ lbz r0, 0x21(r1)
/* 801CDB54 001C97B4 2C 00 00 00 */ cmpwi r0, 0
/* 801CDB58 001C97B8 40 82 00 08 */ bne lbl_801CDB60
/* 801CDB5C 001C97BC 93 01 00 24 */ stw r24, 0x24(r1)
lbl_801CDB60:
/* 801CDB60 001C97C0 2C 16 00 00 */ cmpwi r22, 0
/* 801CDB64 001C97C4 41 82 01 2C */ beq lbl_801CDC90
/* 801CDB68 001C97C8 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDB6C 001C97CC 41 82 00 18 */ beq lbl_801CDB84
/* 801CDB70 001C97D0 80 61 00 08 */ lwz r3, 8(r1)
/* 801CDB74 001C97D4 3B E0 00 01 */ li r31, 1
/* 801CDB78 001C97D8 38 80 00 01 */ li r4, 1
/* 801CDB7C 001C97DC 4B FF 90 05 */ bl func_801C6B80
/* 801CDB80 001C97E0 83 C3 00 00 */ lwz r30, 0(r3)
lbl_801CDB84:
/* 801CDB84 001C97E4 38 00 00 00 */ li r0, 0
/* 801CDB88 001C97E8 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDB8C 001C97EC 90 01 00 18 */ stw r0, 0x18(r1)
/* 801CDB90 001C97F0 41 82 00 18 */ beq lbl_801CDBA8
/* 801CDB94 001C97F4 2C 1E 00 00 */ cmpwi r30, 0
/* 801CDB98 001C97F8 41 82 05 88 */ beq lbl_801CE120
/* 801CDB9C 001C97FC 38 00 00 00 */ li r0, 0
/* 801CDBA0 001C9800 98 16 00 00 */ stb r0, 0(r22)
/* 801CDBA4 001C9804 48 00 05 7C */ b lbl_801CE120
lbl_801CDBA8:
/* 801CDBA8 001C9808 92 C1 00 4C */ stw r22, 0x4c(r1)
/* 801CDBAC 001C980C 48 00 00 40 */ b lbl_801CDBEC
lbl_801CDBB0:
/* 801CDBB0 001C9810 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CDBB4 001C9814 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CDBB8 001C9818 28 00 00 0A */ cmplwi r0, 0xa
/* 801CDBBC 001C981C 40 82 00 1C */ bne lbl_801CDBD8
/* 801CDBC0 001C9820 7E C3 B3 78 */ mr r3, r22
/* 801CDBC4 001C9824 38 81 00 0C */ addi r4, r1, 0xc
/* 801CDBC8 001C9828 38 A0 00 01 */ li r5, 1
/* 801CDBCC 001C982C 4B FF C5 71 */ bl func_801CA13C
/* 801CDBD0 001C9830 3A D6 00 01 */ addi r22, r22, 1
/* 801CDBD4 001C9834 48 00 00 0C */ b lbl_801CDBE0
lbl_801CDBD8:
/* 801CDBD8 001C9838 98 76 00 00 */ stb r3, 0(r22)
/* 801CDBDC 001C983C 3A D6 00 01 */ addi r22, r22, 1
lbl_801CDBE0:
/* 801CDBE0 001C9840 80 61 00 18 */ lwz r3, 0x18(r1)
/* 801CDBE4 001C9844 38 03 00 01 */ addi r0, r3, 1
/* 801CDBE8 001C9848 90 01 00 18 */ stw r0, 0x18(r1)
lbl_801CDBEC:
/* 801CDBEC 001C984C 80 81 00 24 */ lwz r4, 0x24(r1)
/* 801CDBF0 001C9850 38 64 FF FF */ addi r3, r4, -1
/* 801CDBF4 001C9854 2C 04 00 00 */ cmpwi r4, 0
/* 801CDBF8 001C9858 90 61 00 24 */ stw r3, 0x24(r1)
/* 801CDBFC 001C985C 41 82 00 44 */ beq lbl_801CDC40
/* 801CDC00 001C9860 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDC04 001C9864 41 82 00 18 */ beq lbl_801CDC1C
/* 801CDC08 001C9868 7F C0 02 78 */ xor r0, r30, r0
/* 801CDC0C 001C986C 7C 00 00 34 */ cntlzw r0, r0
/* 801CDC10 001C9870 7F C0 00 30 */ slw r0, r30, r0
/* 801CDC14 001C9874 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f
/* 801CDC18 001C9878 41 82 00 28 */ beq lbl_801CDC40
lbl_801CDC1C:
/* 801CDC1C 001C987C 7F 4C D3 78 */ mr r12, r26
/* 801CDC20 001C9880 7F 63 DB 78 */ mr r3, r27
/* 801CDC24 001C9884 38 80 00 00 */ li r4, 0
/* 801CDC28 001C9888 38 A0 00 00 */ li r5, 0
/* 801CDC2C 001C988C 7D 89 03 A6 */ mtctr r12
/* 801CDC30 001C9890 4E 80 04 21 */ bctrl
/* 801CDC34 001C9894 2C 03 FF FF */ cmpwi r3, -1
/* 801CDC38 001C9898 7C 72 1B 78 */ mr r18, r3
/* 801CDC3C 001C989C 40 82 FF 74 */ bne lbl_801CDBB0
lbl_801CDC40:
/* 801CDC40 001C98A0 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801CDC44 001C98A4 9A 41 00 0C */ stb r18, 0xc(r1)
/* 801CDC48 001C98A8 2C 00 00 00 */ cmpwi r0, 0
/* 801CDC4C 001C98AC 41 82 00 14 */ beq lbl_801CDC60
/* 801CDC50 001C98B0 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDC54 001C98B4 41 82 00 30 */ beq lbl_801CDC84
/* 801CDC58 001C98B8 2C 1F 00 00 */ cmpwi r31, 0
/* 801CDC5C 001C98BC 40 82 00 28 */ bne lbl_801CDC84
lbl_801CDC60:
/* 801CDC60 001C98C0 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDC64 001C98C4 41 82 04 C8 */ beq lbl_801CE12C
/* 801CDC68 001C98C8 2C 1E 00 00 */ cmpwi r30, 0
/* 801CDC6C 001C98CC 3B A0 00 01 */ li r29, 1
/* 801CDC70 001C98D0 41 82 04 B0 */ beq lbl_801CE120
/* 801CDC74 001C98D4 80 61 00 4C */ lwz r3, 0x4c(r1)
/* 801CDC78 001C98D8 38 00 00 00 */ li r0, 0
/* 801CDC7C 001C98DC 98 03 00 00 */ stb r0, 0(r3)
/* 801CDC80 001C98E0 48 00 04 A0 */ b lbl_801CE120
lbl_801CDC84:
/* 801CDC84 001C98E4 7E B5 02 14 */ add r21, r21, r0
/* 801CDC88 001C98E8 3A 94 00 01 */ addi r20, r20, 1
/* 801CDC8C 001C98EC 48 00 00 68 */ b lbl_801CDCF4
lbl_801CDC90:
/* 801CDC90 001C98F0 38 00 00 00 */ li r0, 0
/* 801CDC94 001C98F4 90 01 00 18 */ stw r0, 0x18(r1)
/* 801CDC98 001C98F8 48 00 00 14 */ b lbl_801CDCAC
lbl_801CDC9C:
/* 801CDC9C 001C98FC 80 81 00 18 */ lwz r4, 0x18(r1)
/* 801CDCA0 001C9900 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CDCA4 001C9904 38 04 00 01 */ addi r0, r4, 1
/* 801CDCA8 001C9908 90 01 00 18 */ stw r0, 0x18(r1)
lbl_801CDCAC:
/* 801CDCAC 001C990C 80 61 00 24 */ lwz r3, 0x24(r1)
/* 801CDCB0 001C9910 38 03 FF FF */ addi r0, r3, -1
/* 801CDCB4 001C9914 2C 03 00 00 */ cmpwi r3, 0
/* 801CDCB8 001C9918 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CDCBC 001C991C 41 82 00 28 */ beq lbl_801CDCE4
/* 801CDCC0 001C9920 7F 4C D3 78 */ mr r12, r26
/* 801CDCC4 001C9924 7F 63 DB 78 */ mr r3, r27
/* 801CDCC8 001C9928 38 80 00 00 */ li r4, 0
/* 801CDCCC 001C992C 38 A0 00 00 */ li r5, 0
/* 801CDCD0 001C9930 7D 89 03 A6 */ mtctr r12
/* 801CDCD4 001C9934 4E 80 04 21 */ bctrl
/* 801CDCD8 001C9938 2C 03 FF FF */ cmpwi r3, -1
/* 801CDCDC 001C993C 7C 72 1B 78 */ mr r18, r3
/* 801CDCE0 001C9940 40 82 FF BC */ bne lbl_801CDC9C
lbl_801CDCE4:
/* 801CDCE4 001C9944 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801CDCE8 001C9948 9A 41 00 0C */ stb r18, 0xc(r1)
/* 801CDCEC 001C994C 2C 00 00 00 */ cmpwi r0, 0
/* 801CDCF0 001C9950 41 82 04 3C */ beq lbl_801CE12C
lbl_801CDCF4:
/* 801CDCF4 001C9954 3A 73 00 01 */ addi r19, r19, 1
/* 801CDCF8 001C9958 48 00 04 28 */ b lbl_801CE120
lbl_801CDCFC:
/* 801CDCFC 001C995C 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDD00 001C9960 40 82 04 20 */ bne lbl_801CE120
/* 801CDD04 001C9964 48 00 00 08 */ b lbl_801CDD0C
lbl_801CDD08:
/* 801CDD08 001C9968 3A B5 00 01 */ addi r21, r21, 1
lbl_801CDD0C:
/* 801CDD0C 001C996C 7F 4C D3 78 */ mr r12, r26
/* 801CDD10 001C9970 7F 63 DB 78 */ mr r3, r27
/* 801CDD14 001C9974 38 80 00 00 */ li r4, 0
/* 801CDD18 001C9978 38 A0 00 00 */ li r5, 0
/* 801CDD1C 001C997C 7D 89 03 A6 */ mtctr r12
/* 801CDD20 001C9980 4E 80 04 21 */ bctrl
/* 801CDD24 001C9984 7C 65 07 75 */ extsb. r5, r3
/* 801CDD28 001C9988 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CDD2C 001C998C 38 00 00 00 */ li r0, 0
/* 801CDD30 001C9990 41 80 00 0C */ blt lbl_801CDD3C
/* 801CDD34 001C9994 2C 05 01 00 */ cmpwi r5, 0x100
/* 801CDD38 001C9998 41 80 00 08 */ blt lbl_801CDD40
lbl_801CDD3C:
/* 801CDD3C 001C999C 38 00 00 01 */ li r0, 1
lbl_801CDD40:
/* 801CDD40 001C99A0 2C 00 00 00 */ cmpwi r0, 0
/* 801CDD44 001C99A4 41 82 00 0C */ beq lbl_801CDD50
/* 801CDD48 001C99A8 38 00 00 00 */ li r0, 0
/* 801CDD4C 001C99AC 48 00 00 18 */ b lbl_801CDD64
lbl_801CDD50:
/* 801CDD50 001C99B0 80 97 00 38 */ lwz r4, 0x38(r23)
/* 801CDD54 001C99B4 54 A0 08 3C */ slwi r0, r5, 1
/* 801CDD58 001C99B8 80 84 00 08 */ lwz r4, 8(r4)
/* 801CDD5C 001C99BC 7C 04 02 2E */ lhzx r0, r4, r0
/* 801CDD60 001C99C0 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CDD64:
/* 801CDD64 001C99C4 2C 00 00 00 */ cmpwi r0, 0
/* 801CDD68 001C99C8 40 82 FF A0 */ bne lbl_801CDD08
/* 801CDD6C 001C99CC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 801CDD70 001C99D0 7C 04 07 74 */ extsb r4, r0
/* 801CDD74 001C99D4 2C 04 00 25 */ cmpwi r4, 0x25
/* 801CDD78 001C99D8 41 82 00 28 */ beq lbl_801CDDA0
/* 801CDD7C 001C99DC 7F 4C D3 78 */ mr r12, r26
/* 801CDD80 001C99E0 7F 63 DB 78 */ mr r3, r27
/* 801CDD84 001C99E4 38 A0 00 01 */ li r5, 1
/* 801CDD88 001C99E8 7D 89 03 A6 */ mtctr r12
/* 801CDD8C 001C99EC 4E 80 04 21 */ bctrl
/* 801CDD90 001C99F0 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDD94 001C99F4 41 82 03 98 */ beq lbl_801CE12C
/* 801CDD98 001C99F8 3B A0 00 01 */ li r29, 1
/* 801CDD9C 001C99FC 48 00 03 84 */ b lbl_801CE120
lbl_801CDDA0:
/* 801CDDA0 001C9A00 3A B5 00 01 */ addi r21, r21, 1
/* 801CDDA4 001C9A04 48 00 03 7C */ b lbl_801CE120
lbl_801CDDA8:
/* 801CDDA8 001C9A08 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDDAC 001C9A0C 40 82 00 A4 */ bne lbl_801CDE50
/* 801CDDB0 001C9A10 7F 4C D3 78 */ mr r12, r26
/* 801CDDB4 001C9A14 7F 63 DB 78 */ mr r3, r27
/* 801CDDB8 001C9A18 38 80 00 00 */ li r4, 0
/* 801CDDBC 001C9A1C 38 A0 00 00 */ li r5, 0
/* 801CDDC0 001C9A20 7D 89 03 A6 */ mtctr r12
/* 801CDDC4 001C9A24 4E 80 04 21 */ bctrl
/* 801CDDC8 001C9A28 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CDDCC 001C9A2C 48 00 00 24 */ b lbl_801CDDF0
lbl_801CDDD0:
/* 801CDDD0 001C9A30 7F 4C D3 78 */ mr r12, r26
/* 801CDDD4 001C9A34 7F 63 DB 78 */ mr r3, r27
/* 801CDDD8 001C9A38 38 80 00 00 */ li r4, 0
/* 801CDDDC 001C9A3C 38 A0 00 00 */ li r5, 0
/* 801CDDE0 001C9A40 7D 89 03 A6 */ mtctr r12
/* 801CDDE4 001C9A44 3A B5 00 01 */ addi r21, r21, 1
/* 801CDDE8 001C9A48 4E 80 04 21 */ bctrl
/* 801CDDEC 001C9A4C 98 61 00 0C */ stb r3, 0xc(r1)
lbl_801CDDF0:
/* 801CDDF0 001C9A50 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 801CDDF4 001C9A54 38 00 00 00 */ li r0, 0
/* 801CDDF8 001C9A58 7C A4 07 75 */ extsb. r4, r5
/* 801CDDFC 001C9A5C 41 80 00 0C */ blt lbl_801CDE08
/* 801CDE00 001C9A60 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CDE04 001C9A64 41 80 00 08 */ blt lbl_801CDE0C
lbl_801CDE08:
/* 801CDE08 001C9A68 38 00 00 01 */ li r0, 1
lbl_801CDE0C:
/* 801CDE0C 001C9A6C 2C 00 00 00 */ cmpwi r0, 0
/* 801CDE10 001C9A70 41 82 00 0C */ beq lbl_801CDE1C
/* 801CDE14 001C9A74 38 00 00 00 */ li r0, 0
/* 801CDE18 001C9A78 48 00 00 18 */ b lbl_801CDE30
lbl_801CDE1C:
/* 801CDE1C 001C9A7C 80 77 00 38 */ lwz r3, 0x38(r23)
/* 801CDE20 001C9A80 54 80 08 3C */ slwi r0, r4, 1
/* 801CDE24 001C9A84 80 63 00 08 */ lwz r3, 8(r3)
/* 801CDE28 001C9A88 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CDE2C 001C9A8C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CDE30:
/* 801CDE30 001C9A90 2C 00 00 00 */ cmpwi r0, 0
/* 801CDE34 001C9A94 40 82 FF 9C */ bne lbl_801CDDD0
/* 801CDE38 001C9A98 7F 4C D3 78 */ mr r12, r26
/* 801CDE3C 001C9A9C 7C A4 07 74 */ extsb r4, r5
/* 801CDE40 001C9AA0 7F 63 DB 78 */ mr r3, r27
/* 801CDE44 001C9AA4 38 A0 00 01 */ li r5, 1
/* 801CDE48 001C9AA8 7D 89 03 A6 */ mtctr r12
/* 801CDE4C 001C9AAC 4E 80 04 21 */ bctrl
lbl_801CDE50:
/* 801CDE50 001C9AB0 2C 16 00 00 */ cmpwi r22, 0
/* 801CDE54 001C9AB4 41 82 01 90 */ beq lbl_801CDFE4
/* 801CDE58 001C9AB8 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDE5C 001C9ABC 41 82 00 1C */ beq lbl_801CDE78
/* 801CDE60 001C9AC0 80 61 00 08 */ lwz r3, 8(r1)
/* 801CDE64 001C9AC4 3B E0 00 01 */ li r31, 1
/* 801CDE68 001C9AC8 38 80 00 01 */ li r4, 1
/* 801CDE6C 001C9ACC 4B FF 8D 15 */ bl func_801C6B80
/* 801CDE70 001C9AD0 80 63 00 00 */ lwz r3, 0(r3)
/* 801CDE74 001C9AD4 3B C3 FF FF */ addi r30, r3, -1
lbl_801CDE78:
/* 801CDE78 001C9AD8 38 00 00 00 */ li r0, 0
/* 801CDE7C 001C9ADC 2C 1D 00 00 */ cmpwi r29, 0
/* 801CDE80 001C9AE0 90 01 00 18 */ stw r0, 0x18(r1)
/* 801CDE84 001C9AE4 41 82 00 18 */ beq lbl_801CDE9C
/* 801CDE88 001C9AE8 2C 1E 00 00 */ cmpwi r30, 0
/* 801CDE8C 001C9AEC 41 82 02 94 */ beq lbl_801CE120
/* 801CDE90 001C9AF0 38 00 00 00 */ li r0, 0
/* 801CDE94 001C9AF4 98 16 00 00 */ stb r0, 0(r22)
/* 801CDE98 001C9AF8 48 00 02 88 */ b lbl_801CE120
lbl_801CDE9C:
/* 801CDE9C 001C9AFC 92 C1 00 48 */ stw r22, 0x48(r1)
/* 801CDEA0 001C9B00 48 00 00 60 */ b lbl_801CDF00
lbl_801CDEA4:
/* 801CDEA4 001C9B04 54 60 EE FE */ rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 801CDEA8 001C9B08 54 65 07 7E */ clrlwi r5, r3, 0x1d
/* 801CDEAC 001C9B0C 7C 99 02 14 */ add r4, r25, r0
/* 801CDEB0 001C9B10 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CDEB4 001C9B14 88 04 00 08 */ lbz r0, 8(r4)
/* 801CDEB8 001C9B18 7F 04 28 30 */ slw r4, r24, r5
/* 801CDEBC 001C9B1C 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 801CDEC0 001C9B20 7C 80 00 39 */ and. r0, r4, r0
/* 801CDEC4 001C9B24 41 82 00 94 */ beq lbl_801CDF58
/* 801CDEC8 001C9B28 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CDECC 001C9B2C 28 00 00 0A */ cmplwi r0, 0xa
/* 801CDED0 001C9B30 40 82 00 1C */ bne lbl_801CDEEC
/* 801CDED4 001C9B34 7E C3 B3 78 */ mr r3, r22
/* 801CDED8 001C9B38 38 81 00 0C */ addi r4, r1, 0xc
/* 801CDEDC 001C9B3C 38 A0 00 01 */ li r5, 1
/* 801CDEE0 001C9B40 4B FF C2 5D */ bl func_801CA13C
/* 801CDEE4 001C9B44 3A D6 00 02 */ addi r22, r22, 2
/* 801CDEE8 001C9B48 48 00 00 0C */ b lbl_801CDEF4
lbl_801CDEEC:
/* 801CDEEC 001C9B4C 98 76 00 00 */ stb r3, 0(r22)
/* 801CDEF0 001C9B50 3A D6 00 01 */ addi r22, r22, 1
lbl_801CDEF4:
/* 801CDEF4 001C9B54 80 61 00 18 */ lwz r3, 0x18(r1)
/* 801CDEF8 001C9B58 38 03 00 01 */ addi r0, r3, 1
/* 801CDEFC 001C9B5C 90 01 00 18 */ stw r0, 0x18(r1)
lbl_801CDF00:
/* 801CDF00 001C9B60 80 81 00 24 */ lwz r4, 0x24(r1)
/* 801CDF04 001C9B64 38 64 FF FF */ addi r3, r4, -1
/* 801CDF08 001C9B68 2C 04 00 00 */ cmpwi r4, 0
/* 801CDF0C 001C9B6C 90 61 00 24 */ stw r3, 0x24(r1)
/* 801CDF10 001C9B70 41 82 00 48 */ beq lbl_801CDF58
/* 801CDF14 001C9B74 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDF18 001C9B78 41 82 00 1C */ beq lbl_801CDF34
/* 801CDF1C 001C9B7C 7C 80 F0 50 */ subf r4, r0, r30
/* 801CDF20 001C9B80 7F C3 03 38 */ orc r3, r30, r0
/* 801CDF24 001C9B84 54 80 F8 7E */ srwi r0, r4, 1
/* 801CDF28 001C9B88 7C 00 18 50 */ subf r0, r0, r3
/* 801CDF2C 001C9B8C 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f
/* 801CDF30 001C9B90 41 82 00 28 */ beq lbl_801CDF58
lbl_801CDF34:
/* 801CDF34 001C9B94 7F 4C D3 78 */ mr r12, r26
/* 801CDF38 001C9B98 7F 63 DB 78 */ mr r3, r27
/* 801CDF3C 001C9B9C 38 80 00 00 */ li r4, 0
/* 801CDF40 001C9BA0 38 A0 00 00 */ li r5, 0
/* 801CDF44 001C9BA4 7D 89 03 A6 */ mtctr r12
/* 801CDF48 001C9BA8 4E 80 04 21 */ bctrl
/* 801CDF4C 001C9BAC 2C 03 FF FF */ cmpwi r3, -1
/* 801CDF50 001C9BB0 7C 72 1B 78 */ mr r18, r3
/* 801CDF54 001C9BB4 40 82 FF 50 */ bne lbl_801CDEA4
lbl_801CDF58:
/* 801CDF58 001C9BB8 80 61 00 18 */ lwz r3, 0x18(r1)
/* 801CDF5C 001C9BBC 9A 41 00 0C */ stb r18, 0xc(r1)
/* 801CDF60 001C9BC0 2C 03 00 00 */ cmpwi r3, 0
/* 801CDF64 001C9BC4 41 82 00 14 */ beq lbl_801CDF78
/* 801CDF68 001C9BC8 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDF6C 001C9BCC 41 82 00 4C */ beq lbl_801CDFB8
/* 801CDF70 001C9BD0 2C 1F 00 00 */ cmpwi r31, 0
/* 801CDF74 001C9BD4 40 82 00 44 */ bne lbl_801CDFB8
lbl_801CDF78:
/* 801CDF78 001C9BD8 56 44 06 3E */ clrlwi r4, r18, 0x18
/* 801CDF7C 001C9BDC 7F 4C D3 78 */ mr r12, r26
/* 801CDF80 001C9BE0 7F 63 DB 78 */ mr r3, r27
/* 801CDF84 001C9BE4 38 A0 00 01 */ li r5, 1
/* 801CDF88 001C9BE8 7C 84 07 74 */ extsb r4, r4
/* 801CDF8C 001C9BEC 7D 89 03 A6 */ mtctr r12
/* 801CDF90 001C9BF0 4E 80 04 21 */ bctrl
/* 801CDF94 001C9BF4 2C 1C 00 00 */ cmpwi r28, 0
/* 801CDF98 001C9BF8 41 82 01 94 */ beq lbl_801CE12C
/* 801CDF9C 001C9BFC 2C 1E 00 00 */ cmpwi r30, 0
/* 801CDFA0 001C9C00 3B A0 00 01 */ li r29, 1
/* 801CDFA4 001C9C04 41 82 01 7C */ beq lbl_801CE120
/* 801CDFA8 001C9C08 80 61 00 48 */ lwz r3, 0x48(r1)
/* 801CDFAC 001C9C0C 38 00 00 00 */ li r0, 0
/* 801CDFB0 001C9C10 98 03 00 00 */ stb r0, 0(r3)
/* 801CDFB4 001C9C14 48 00 01 6C */ b lbl_801CE120
lbl_801CDFB8:
/* 801CDFB8 001C9C18 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CDFBC 001C9C1C 7E B5 1A 14 */ add r21, r21, r3
/* 801CDFC0 001C9C20 28 00 00 0A */ cmplwi r0, 0xa
/* 801CDFC4 001C9C24 40 82 00 10 */ bne lbl_801CDFD4
/* 801CDFC8 001C9C28 38 00 00 00 */ li r0, 0
/* 801CDFCC 001C9C2C B0 16 00 00 */ sth r0, 0(r22)
/* 801CDFD0 001C9C30 48 00 00 0C */ b lbl_801CDFDC
lbl_801CDFD4:
/* 801CDFD4 001C9C34 38 00 00 00 */ li r0, 0
/* 801CDFD8 001C9C38 98 16 00 00 */ stb r0, 0(r22)
lbl_801CDFDC:
/* 801CDFDC 001C9C3C 3A 94 00 01 */ addi r20, r20, 1
/* 801CDFE0 001C9C40 48 00 00 A8 */ b lbl_801CE088
lbl_801CDFE4:
/* 801CDFE4 001C9C44 38 00 00 00 */ li r0, 0
/* 801CDFE8 001C9C48 90 01 00 18 */ stw r0, 0x18(r1)
/* 801CDFEC 001C9C4C 48 00 00 30 */ b lbl_801CE01C
lbl_801CDFF0:
/* 801CDFF0 001C9C50 54 60 EE FE */ rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 801CDFF4 001C9C54 54 65 07 7E */ clrlwi r5, r3, 0x1d
/* 801CDFF8 001C9C58 7C 99 02 14 */ add r4, r25, r0
/* 801CDFFC 001C9C5C 98 61 00 0C */ stb r3, 0xc(r1)
/* 801CE000 001C9C60 88 04 00 08 */ lbz r0, 8(r4)
/* 801CE004 001C9C64 7F 03 28 30 */ slw r3, r24, r5
/* 801CE008 001C9C68 7C 60 00 39 */ and. r0, r3, r0
/* 801CE00C 001C9C6C 41 82 00 48 */ beq lbl_801CE054
/* 801CE010 001C9C70 80 61 00 18 */ lwz r3, 0x18(r1)
/* 801CE014 001C9C74 38 03 00 01 */ addi r0, r3, 1
/* 801CE018 001C9C78 90 01 00 18 */ stw r0, 0x18(r1)
lbl_801CE01C:
/* 801CE01C 001C9C7C 80 61 00 24 */ lwz r3, 0x24(r1)
/* 801CE020 001C9C80 38 03 FF FF */ addi r0, r3, -1
/* 801CE024 001C9C84 2C 03 00 00 */ cmpwi r3, 0
/* 801CE028 001C9C88 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CE02C 001C9C8C 41 82 00 28 */ beq lbl_801CE054
/* 801CE030 001C9C90 7F 4C D3 78 */ mr r12, r26
/* 801CE034 001C9C94 7F 63 DB 78 */ mr r3, r27
/* 801CE038 001C9C98 38 80 00 00 */ li r4, 0
/* 801CE03C 001C9C9C 38 A0 00 00 */ li r5, 0
/* 801CE040 001C9CA0 7D 89 03 A6 */ mtctr r12
/* 801CE044 001C9CA4 4E 80 04 21 */ bctrl
/* 801CE048 001C9CA8 2C 03 FF FF */ cmpwi r3, -1
/* 801CE04C 001C9CAC 7C 72 1B 78 */ mr r18, r3
/* 801CE050 001C9CB0 40 82 FF A0 */ bne lbl_801CDFF0
lbl_801CE054:
/* 801CE054 001C9CB4 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801CE058 001C9CB8 9A 41 00 0C */ stb r18, 0xc(r1)
/* 801CE05C 001C9CBC 2C 00 00 00 */ cmpwi r0, 0
/* 801CE060 001C9CC0 40 82 00 24 */ bne lbl_801CE084
/* 801CE064 001C9CC4 56 44 06 3E */ clrlwi r4, r18, 0x18
/* 801CE068 001C9CC8 7F 4C D3 78 */ mr r12, r26
/* 801CE06C 001C9CCC 7F 63 DB 78 */ mr r3, r27
/* 801CE070 001C9CD0 38 A0 00 01 */ li r5, 1
/* 801CE074 001C9CD4 7C 84 07 74 */ extsb r4, r4
/* 801CE078 001C9CD8 7D 89 03 A6 */ mtctr r12
/* 801CE07C 001C9CDC 4E 80 04 21 */ bctrl
/* 801CE080 001C9CE0 48 00 00 A0 */ b lbl_801CE120
lbl_801CE084:
/* 801CE084 001C9CE4 7E B5 02 14 */ add r21, r21, r0
lbl_801CE088:
/* 801CE088 001C9CE8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801CE08C 001C9CEC 2C 00 00 00 */ cmpwi r0, 0
/* 801CE090 001C9CF0 41 80 00 20 */ blt lbl_801CE0B0
/* 801CE094 001C9CF4 88 81 00 0C */ lbz r4, 0xc(r1)
/* 801CE098 001C9CF8 7F 4C D3 78 */ mr r12, r26
/* 801CE09C 001C9CFC 7F 63 DB 78 */ mr r3, r27
/* 801CE0A0 001C9D00 38 A0 00 01 */ li r5, 1
/* 801CE0A4 001C9D04 7C 84 07 74 */ extsb r4, r4
/* 801CE0A8 001C9D08 7D 89 03 A6 */ mtctr r12
/* 801CE0AC 001C9D0C 4E 80 04 21 */ bctrl
lbl_801CE0B0:
/* 801CE0B0 001C9D10 3A 73 00 01 */ addi r19, r19, 1
/* 801CE0B4 001C9D14 48 00 00 6C */ b lbl_801CE120
lbl_801CE0B8:
/* 801CE0B8 001C9D18 2C 16 00 00 */ cmpwi r22, 0
/* 801CE0BC 001C9D1C 41 82 00 64 */ beq lbl_801CE120
/* 801CE0C0 001C9D20 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801CE0C4 001C9D24 2C 00 00 03 */ cmpwi r0, 3
/* 801CE0C8 001C9D28 41 82 00 3C */ beq lbl_801CE104
/* 801CE0CC 001C9D2C 40 80 00 1C */ bge lbl_801CE0E8
/* 801CE0D0 001C9D30 2C 00 00 01 */ cmpwi r0, 1
/* 801CE0D4 001C9D34 41 82 00 38 */ beq lbl_801CE10C
/* 801CE0D8 001C9D38 40 80 00 24 */ bge lbl_801CE0FC
/* 801CE0DC 001C9D3C 2C 00 00 00 */ cmpwi r0, 0
/* 801CE0E0 001C9D40 40 80 00 14 */ bge lbl_801CE0F4
/* 801CE0E4 001C9D44 48 00 00 3C */ b lbl_801CE120
lbl_801CE0E8:
/* 801CE0E8 001C9D48 2C 00 00 07 */ cmpwi r0, 7
/* 801CE0EC 001C9D4C 41 82 00 28 */ beq lbl_801CE114
/* 801CE0F0 001C9D50 48 00 00 30 */ b lbl_801CE120
lbl_801CE0F4:
/* 801CE0F4 001C9D54 92 B6 00 00 */ stw r21, 0(r22)
/* 801CE0F8 001C9D58 48 00 00 28 */ b lbl_801CE120
lbl_801CE0FC:
/* 801CE0FC 001C9D5C B2 B6 00 00 */ sth r21, 0(r22)
/* 801CE100 001C9D60 48 00 00 20 */ b lbl_801CE120
lbl_801CE104:
/* 801CE104 001C9D64 92 B6 00 00 */ stw r21, 0(r22)
/* 801CE108 001C9D68 48 00 00 18 */ b lbl_801CE120
lbl_801CE10C:
/* 801CE10C 001C9D6C 9A B6 00 00 */ stb r21, 0(r22)
/* 801CE110 001C9D70 48 00 00 10 */ b lbl_801CE120
lbl_801CE114:
/* 801CE114 001C9D74 92 B6 00 04 */ stw r21, 4(r22)
/* 801CE118 001C9D78 7E A0 FE 70 */ srawi r0, r21, 0x1f
/* 801CE11C 001C9D7C 90 16 00 00 */ stw r0, 0(r22)
lbl_801CE120:
/* 801CE120 001C9D80 88 11 00 00 */ lbz r0, 0(r17)
/* 801CE124 001C9D84 7C 16 07 75 */ extsb. r22, r0
/* 801CE128 001C9D88 40 82 F3 4C */ bne lbl_801CD474
lbl_801CE12C:
/* 801CE12C 001C9D8C 7F 4C D3 78 */ mr r12, r26
/* 801CE130 001C9D90 7F 63 DB 78 */ mr r3, r27
/* 801CE134 001C9D94 38 80 00 00 */ li r4, 0
/* 801CE138 001C9D98 38 A0 00 02 */ li r5, 2
/* 801CE13C 001C9D9C 7D 89 03 A6 */ mtctr r12
/* 801CE140 001C9DA0 4E 80 04 21 */ bctrl
/* 801CE144 001C9DA4 2C 03 00 00 */ cmpwi r3, 0
/* 801CE148 001C9DA8 41 82 00 14 */ beq lbl_801CE15C
/* 801CE14C 001C9DAC 2C 13 00 00 */ cmpwi r19, 0
/* 801CE150 001C9DB0 40 82 00 0C */ bne lbl_801CE15C
/* 801CE154 001C9DB4 38 60 FF FF */ li r3, -1
/* 801CE158 001C9DB8 48 00 00 08 */ b lbl_801CE160
lbl_801CE15C:
/* 801CE15C 001C9DBC 7E 83 A3 78 */ mr r3, r20
lbl_801CE160:
/* 801CE160 001C9DC0 39 61 00 B0 */ addi r11, r1, 0xb0
/* 801CE164 001C9DC4 4B FF 8F E1 */ bl func_801C7144
/* 801CE168 001C9DC8 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 801CE16C 001C9DCC 7C 08 03 A6 */ mtlr r0
/* 801CE170 001C9DD0 38 21 00 B0 */ addi r1, r1, 0xb0
/* 801CE174 001C9DD4 4E 80 00 20 */ blr
lbl_801CE178:
/* 801CE178 001C9DD8 2C 05 00 01 */ cmpwi r5, 1
/* 801CE17C 001C9DDC 41 82 00 50 */ beq lbl_801CE1CC
/* 801CE180 001C9DE0 40 80 00 10 */ bge lbl_801CE190
/* 801CE184 001C9DE4 2C 05 00 00 */ cmpwi r5, 0
/* 801CE188 001C9DE8 40 80 00 14 */ bge lbl_801CE19C
/* 801CE18C 001C9DEC 48 00 00 74 */ b lbl_801CE200
lbl_801CE190:
/* 801CE190 001C9DF0 2C 05 00 03 */ cmpwi r5, 3
/* 801CE194 001C9DF4 40 80 00 6C */ bge lbl_801CE200
/* 801CE198 001C9DF8 48 00 00 60 */ b lbl_801CE1F8
lbl_801CE19C:
/* 801CE19C 001C9DFC 80 83 00 00 */ lwz r4, 0(r3)
/* 801CE1A0 001C9E00 88 A4 00 00 */ lbz r5, 0(r4)
/* 801CE1A4 001C9E04 7C A0 07 75 */ extsb. r0, r5
/* 801CE1A8 001C9E08 40 82 00 14 */ bne lbl_801CE1BC
/* 801CE1AC 001C9E0C 38 00 00 01 */ li r0, 1
/* 801CE1B0 001C9E10 90 03 00 04 */ stw r0, 4(r3)
/* 801CE1B4 001C9E14 38 60 FF FF */ li r3, -1
/* 801CE1B8 001C9E18 4E 80 00 20 */ blr
lbl_801CE1BC:
/* 801CE1BC 001C9E1C 38 04 00 01 */ addi r0, r4, 1
/* 801CE1C0 001C9E20 90 03 00 00 */ stw r0, 0(r3)
/* 801CE1C4 001C9E24 7C A3 2B 78 */ mr r3, r5
/* 801CE1C8 001C9E28 4E 80 00 20 */ blr
lbl_801CE1CC:
/* 801CE1CC 001C9E2C 80 03 00 04 */ lwz r0, 4(r3)
/* 801CE1D0 001C9E30 2C 00 00 00 */ cmpwi r0, 0
/* 801CE1D4 001C9E34 40 82 00 14 */ bne lbl_801CE1E8
/* 801CE1D8 001C9E38 80 A3 00 00 */ lwz r5, 0(r3)
/* 801CE1DC 001C9E3C 38 05 FF FF */ addi r0, r5, -1
/* 801CE1E0 001C9E40 90 03 00 00 */ stw r0, 0(r3)
/* 801CE1E4 001C9E44 48 00 00 0C */ b lbl_801CE1F0
lbl_801CE1E8:
/* 801CE1E8 001C9E48 38 00 00 00 */ li r0, 0
/* 801CE1EC 001C9E4C 90 03 00 04 */ stw r0, 4(r3)
lbl_801CE1F0:
/* 801CE1F0 001C9E50 7C 83 23 78 */ mr r3, r4
/* 801CE1F4 001C9E54 4E 80 00 20 */ blr
lbl_801CE1F8:
/* 801CE1F8 001C9E58 80 63 00 04 */ lwz r3, 4(r3)
/* 801CE1FC 001C9E5C 4E 80 00 20 */ blr
lbl_801CE200:
/* 801CE200 001C9E60 38 60 00 00 */ li r3, 0
/* 801CE204 001C9E64 4E 80 00 20 */ blr
.global func_801CE208
func_801CE208:
/* 801CE208 001C9E68 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801CE20C 001C9E6C 7C 08 02 A6 */ mflr r0
/* 801CE210 001C9E70 90 01 00 94 */ stw r0, 0x94(r1)
/* 801CE214 001C9E74 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 801CE218 001C9E78 40 86 00 24 */ bne cr1, lbl_801CE23C
/* 801CE21C 001C9E7C D8 21 00 28 */ stfd f1, 0x28(r1)
/* 801CE220 001C9E80 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 801CE224 001C9E84 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 801CE228 001C9E88 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 801CE22C 001C9E8C D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 801CE230 001C9E90 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 801CE234 001C9E94 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 801CE238 001C9E98 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_801CE23C:
/* 801CE23C 001C9E9C 39 61 00 98 */ addi r11, r1, 0x98
/* 801CE240 001C9EA0 38 01 00 08 */ addi r0, r1, 8
/* 801CE244 001C9EA4 3D 80 02 00 */ lis r12, 0x200
/* 801CE248 001C9EA8 2C 03 00 00 */ cmpwi r3, 0
/* 801CE24C 001C9EAC 90 61 00 08 */ stw r3, 8(r1)
/* 801CE250 001C9EB0 3B E1 00 70 */ addi r31, r1, 0x70
/* 801CE254 001C9EB4 90 81 00 0C */ stw r4, 0xc(r1)
/* 801CE258 001C9EB8 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801CE25C 001C9EBC 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801CE260 001C9EC0 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801CE264 001C9EC4 91 01 00 1C */ stw r8, 0x1c(r1)
/* 801CE268 001C9EC8 91 21 00 20 */ stw r9, 0x20(r1)
/* 801CE26C 001C9ECC 91 41 00 24 */ stw r10, 0x24(r1)
/* 801CE270 001C9ED0 91 81 00 70 */ stw r12, 0x70(r1)
/* 801CE274 001C9ED4 91 61 00 74 */ stw r11, 0x74(r1)
/* 801CE278 001C9ED8 90 01 00 78 */ stw r0, 0x78(r1)
/* 801CE27C 001C9EDC 90 61 00 68 */ stw r3, 0x68(r1)
/* 801CE280 001C9EE0 41 82 00 10 */ beq lbl_801CE290
/* 801CE284 001C9EE4 88 03 00 00 */ lbz r0, 0(r3)
/* 801CE288 001C9EE8 7C 00 07 75 */ extsb. r0, r0
/* 801CE28C 001C9EEC 40 82 00 0C */ bne lbl_801CE298
lbl_801CE290:
/* 801CE290 001C9EF0 38 60 FF FF */ li r3, -1
/* 801CE294 001C9EF4 48 00 00 28 */ b lbl_801CE2BC
lbl_801CE298:
/* 801CE298 001C9EF8 38 00 00 00 */ li r0, 0
/* 801CE29C 001C9EFC 3C 60 80 1D */ lis r3, lbl_801CE178@ha
/* 801CE2A0 001C9F00 90 01 00 6C */ stw r0, 0x6c(r1)
/* 801CE2A4 001C9F04 7C 85 23 78 */ mr r5, r4
/* 801CE2A8 001C9F08 7F E6 FB 78 */ mr r6, r31
/* 801CE2AC 001C9F0C 38 63 E1 78 */ addi r3, r3, lbl_801CE178@l
/* 801CE2B0 001C9F10 38 81 00 68 */ addi r4, r1, 0x68
/* 801CE2B4 001C9F14 38 E0 00 00 */ li r7, 0
/* 801CE2B8 001C9F18 4B FF F1 61 */ bl func_801CD418
lbl_801CE2BC:
/* 801CE2BC 001C9F1C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801CE2C0 001C9F20 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 801CE2C4 001C9F24 7C 08 03 A6 */ mtlr r0
/* 801CE2C8 001C9F28 38 21 00 90 */ addi r1, r1, 0x90
/* 801CE2CC 001C9F2C 4E 80 00 20 */ blr
.global func_801CE2D0
func_801CE2D0:
/* 801CE2D0 001C9F30 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 801CE2D4 001C9F34 54 85 07 BE */ clrlwi r5, r4, 0x1e
/* 801CE2D8 001C9F38 7C 00 28 40 */ cmplw r0, r5
/* 801CE2DC 001C9F3C 7C 67 1B 78 */ mr r7, r3
/* 801CE2E0 001C9F40 40 82 00 8C */ bne lbl_801CE36C
/* 801CE2E4 001C9F44 2C 05 00 00 */ cmpwi r5, 0
/* 801CE2E8 001C9F48 41 82 00 40 */ beq lbl_801CE328
/* 801CE2EC 001C9F4C 88 04 00 00 */ lbz r0, 0(r4)
/* 801CE2F0 001C9F50 2C 00 00 00 */ cmpwi r0, 0
/* 801CE2F4 001C9F54 98 03 00 00 */ stb r0, 0(r3)
/* 801CE2F8 001C9F58 4D 82 00 20 */ beqlr
/* 801CE2FC 001C9F5C 20 05 00 03 */ subfic r0, r5, 3
/* 801CE300 001C9F60 7C 09 03 A6 */ mtctr r0
/* 801CE304 001C9F64 2C 00 00 00 */ cmpwi r0, 0
/* 801CE308 001C9F68 41 82 00 18 */ beq lbl_801CE320
lbl_801CE30C:
/* 801CE30C 001C9F6C 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE310 001C9F70 2C 00 00 00 */ cmpwi r0, 0
/* 801CE314 001C9F74 9C 07 00 01 */ stbu r0, 1(r7)
/* 801CE318 001C9F78 4D 82 00 20 */ beqlr
/* 801CE31C 001C9F7C 42 00 FF F0 */ bdnz lbl_801CE30C
lbl_801CE320:
/* 801CE320 001C9F80 38 E7 00 01 */ addi r7, r7, 1
/* 801CE324 001C9F84 38 84 00 01 */ addi r4, r4, 1
lbl_801CE328:
/* 801CE328 001C9F88 81 04 00 00 */ lwz r8, 0(r4)
/* 801CE32C 001C9F8C 3C A0 80 81 */ lis r5, 0x80808080@ha
/* 801CE330 001C9F90 38 A5 80 80 */ addi r5, r5, 0x80808080@l
/* 801CE334 001C9F94 3C C8 FE FF */ addis r6, r8, 0xfeff
/* 801CE338 001C9F98 38 C6 FE FF */ addi r6, r6, -257
/* 801CE33C 001C9F9C 7C C6 40 78 */ andc r6, r6, r8
/* 801CE340 001C9FA0 7C C0 28 39 */ and. r0, r6, r5
/* 801CE344 001C9FA4 40 82 00 28 */ bne lbl_801CE36C
/* 801CE348 001C9FA8 38 E7 FF FC */ addi r7, r7, -4
lbl_801CE34C:
/* 801CE34C 001C9FAC 95 07 00 04 */ stwu r8, 4(r7)
/* 801CE350 001C9FB0 85 04 00 04 */ lwzu r8, 4(r4)
/* 801CE354 001C9FB4 3C C8 FE FF */ addis r6, r8, 0xfeff
/* 801CE358 001C9FB8 38 C6 FE FF */ addi r6, r6, -257
/* 801CE35C 001C9FBC 7C C6 40 78 */ andc r6, r6, r8
/* 801CE360 001C9FC0 7C C0 28 39 */ and. r0, r6, r5
/* 801CE364 001C9FC4 41 82 FF E8 */ beq lbl_801CE34C
/* 801CE368 001C9FC8 38 E7 00 04 */ addi r7, r7, 4
lbl_801CE36C:
/* 801CE36C 001C9FCC 88 04 00 00 */ lbz r0, 0(r4)
/* 801CE370 001C9FD0 2C 00 00 00 */ cmpwi r0, 0
/* 801CE374 001C9FD4 98 07 00 00 */ stb r0, 0(r7)
/* 801CE378 001C9FD8 4D 82 00 20 */ beqlr
lbl_801CE37C:
/* 801CE37C 001C9FDC 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE380 001C9FE0 2C 00 00 00 */ cmpwi r0, 0
/* 801CE384 001C9FE4 9C 07 00 01 */ stbu r0, 1(r7)
/* 801CE388 001C9FE8 40 82 FF F4 */ bne lbl_801CE37C
/* 801CE38C 001C9FEC 4E 80 00 20 */ blr
.global func_801CE390
func_801CE390:
/* 801CE390 001C9FF0 38 84 FF FF */ addi r4, r4, -1
/* 801CE394 001C9FF4 38 C3 FF FF */ addi r6, r3, -1
/* 801CE398 001C9FF8 38 A5 00 01 */ addi r5, r5, 1
/* 801CE39C 001C9FFC 48 00 00 2C */ b lbl_801CE3C8
lbl_801CE3A0:
/* 801CE3A0 001CA000 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE3A4 001CA004 2C 00 00 00 */ cmpwi r0, 0
/* 801CE3A8 001CA008 9C 06 00 01 */ stbu r0, 1(r6)
/* 801CE3AC 001CA00C 40 82 00 1C */ bne lbl_801CE3C8
/* 801CE3B0 001CA010 38 00 00 00 */ li r0, 0
/* 801CE3B4 001CA014 48 00 00 08 */ b lbl_801CE3BC
lbl_801CE3B8:
/* 801CE3B8 001CA018 9C 06 00 01 */ stbu r0, 1(r6)
lbl_801CE3BC:
/* 801CE3BC 001CA01C 34 A5 FF FF */ addic. r5, r5, -1
/* 801CE3C0 001CA020 40 82 FF F8 */ bne lbl_801CE3B8
/* 801CE3C4 001CA024 4E 80 00 20 */ blr
lbl_801CE3C8:
/* 801CE3C8 001CA028 34 A5 FF FF */ addic. r5, r5, -1
/* 801CE3CC 001CA02C 40 82 FF D4 */ bne lbl_801CE3A0
/* 801CE3D0 001CA030 4E 80 00 20 */ blr
.global func_801CE3D4
func_801CE3D4:
/* 801CE3D4 001CA034 38 84 FF FF */ addi r4, r4, -1
/* 801CE3D8 001CA038 38 A3 FF FF */ addi r5, r3, -1
lbl_801CE3DC:
/* 801CE3DC 001CA03C 8C 05 00 01 */ lbzu r0, 1(r5)
/* 801CE3E0 001CA040 2C 00 00 00 */ cmpwi r0, 0
/* 801CE3E4 001CA044 40 82 FF F8 */ bne lbl_801CE3DC
/* 801CE3E8 001CA048 38 A5 FF FF */ addi r5, r5, -1
lbl_801CE3EC:
/* 801CE3EC 001CA04C 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE3F0 001CA050 2C 00 00 00 */ cmpwi r0, 0
/* 801CE3F4 001CA054 9C 05 00 01 */ stbu r0, 1(r5)
/* 801CE3F8 001CA058 40 82 FF F4 */ bne lbl_801CE3EC
/* 801CE3FC 001CA05C 4E 80 00 20 */ blr
.global func_801CE400
func_801CE400:
/* 801CE400 001CA060 38 84 FF FF */ addi r4, r4, -1
/* 801CE404 001CA064 38 C3 FF FF */ addi r6, r3, -1
lbl_801CE408:
/* 801CE408 001CA068 8C 06 00 01 */ lbzu r0, 1(r6)
/* 801CE40C 001CA06C 2C 00 00 00 */ cmpwi r0, 0
/* 801CE410 001CA070 40 82 FF F8 */ bne lbl_801CE408
/* 801CE414 001CA074 38 C6 FF FF */ addi r6, r6, -1
/* 801CE418 001CA078 38 A5 00 01 */ addi r5, r5, 1
/* 801CE41C 001CA07C 48 00 00 1C */ b lbl_801CE438
lbl_801CE420:
/* 801CE420 001CA080 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE424 001CA084 2C 00 00 00 */ cmpwi r0, 0
/* 801CE428 001CA088 9C 06 00 01 */ stbu r0, 1(r6)
/* 801CE42C 001CA08C 40 82 00 0C */ bne lbl_801CE438
/* 801CE430 001CA090 38 C6 FF FF */ addi r6, r6, -1
/* 801CE434 001CA094 48 00 00 0C */ b lbl_801CE440
lbl_801CE438:
/* 801CE438 001CA098 34 A5 FF FF */ addic. r5, r5, -1
/* 801CE43C 001CA09C 40 82 FF E4 */ bne lbl_801CE420
lbl_801CE440:
/* 801CE440 001CA0A0 38 00 00 00 */ li r0, 0
/* 801CE444 001CA0A4 98 06 00 01 */ stb r0, 1(r6)
/* 801CE448 001CA0A8 4E 80 00 20 */ blr
.global func_801CE44C
func_801CE44C:
/* 801CE44C 001CA0AC 88 A3 00 00 */ lbz r5, 0(r3)
/* 801CE450 001CA0B0 88 04 00 00 */ lbz r0, 0(r4)
/* 801CE454 001CA0B4 7C 00 28 51 */ subf. r0, r0, r5
/* 801CE458 001CA0B8 41 82 00 0C */ beq lbl_801CE464
/* 801CE45C 001CA0BC 7C 03 03 78 */ mr r3, r0
/* 801CE460 001CA0C0 4E 80 00 20 */ blr
lbl_801CE464:
/* 801CE464 001CA0C4 54 80 07 BE */ clrlwi r0, r4, 0x1e
/* 801CE468 001CA0C8 54 66 07 BE */ clrlwi r6, r3, 0x1e
/* 801CE46C 001CA0CC 7C 00 30 40 */ cmplw r0, r6
/* 801CE470 001CA0D0 40 82 00 C0 */ bne lbl_801CE530
/* 801CE474 001CA0D4 2C 06 00 00 */ cmpwi r6, 0
/* 801CE478 001CA0D8 41 82 00 58 */ beq lbl_801CE4D0
/* 801CE47C 001CA0DC 2C 05 00 00 */ cmpwi r5, 0
/* 801CE480 001CA0E0 40 82 00 0C */ bne lbl_801CE48C
/* 801CE484 001CA0E4 38 60 00 00 */ li r3, 0
/* 801CE488 001CA0E8 4E 80 00 20 */ blr
lbl_801CE48C:
/* 801CE48C 001CA0EC 20 06 00 03 */ subfic r0, r6, 3
/* 801CE490 001CA0F0 7C 09 03 A6 */ mtctr r0
/* 801CE494 001CA0F4 2C 00 00 00 */ cmpwi r0, 0
/* 801CE498 001CA0F8 41 82 00 30 */ beq lbl_801CE4C8
lbl_801CE49C:
/* 801CE49C 001CA0FC 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CE4A0 001CA100 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE4A4 001CA104 7C 00 28 51 */ subf. r0, r0, r5
/* 801CE4A8 001CA108 41 82 00 0C */ beq lbl_801CE4B4
/* 801CE4AC 001CA10C 7C 03 03 78 */ mr r3, r0
/* 801CE4B0 001CA110 4E 80 00 20 */ blr
lbl_801CE4B4:
/* 801CE4B4 001CA114 2C 05 00 00 */ cmpwi r5, 0
/* 801CE4B8 001CA118 40 82 00 0C */ bne lbl_801CE4C4
/* 801CE4BC 001CA11C 38 60 00 00 */ li r3, 0
/* 801CE4C0 001CA120 4E 80 00 20 */ blr
lbl_801CE4C4:
/* 801CE4C4 001CA124 42 00 FF D8 */ bdnz lbl_801CE49C
lbl_801CE4C8:
/* 801CE4C8 001CA128 38 63 00 01 */ addi r3, r3, 1
/* 801CE4CC 001CA12C 38 84 00 01 */ addi r4, r4, 1
lbl_801CE4D0:
/* 801CE4D0 001CA130 80 E3 00 00 */ lwz r7, 0(r3)
/* 801CE4D4 001CA134 3C A0 80 81 */ lis r5, 0x80808080@ha
/* 801CE4D8 001CA138 38 C5 80 80 */ addi r6, r5, 0x80808080@l
/* 801CE4DC 001CA13C 81 04 00 00 */ lwz r8, 0(r4)
/* 801CE4E0 001CA140 3C A7 FE FF */ addis r5, r7, 0xfeff
/* 801CE4E4 001CA144 38 A5 FE FF */ addi r5, r5, -257
/* 801CE4E8 001CA148 7C A5 38 78 */ andc r5, r5, r7
/* 801CE4EC 001CA14C 7C A0 30 39 */ and. r0, r5, r6
/* 801CE4F0 001CA150 40 82 00 28 */ bne lbl_801CE518
/* 801CE4F4 001CA154 48 00 00 1C */ b lbl_801CE510
lbl_801CE4F8:
/* 801CE4F8 001CA158 84 E3 00 04 */ lwzu r7, 4(r3)
/* 801CE4FC 001CA15C 85 04 00 04 */ lwzu r8, 4(r4)
/* 801CE500 001CA160 3C A7 FE FF */ addis r5, r7, 0xfeff
/* 801CE504 001CA164 38 05 FE FF */ addi r0, r5, -257
/* 801CE508 001CA168 7C 00 30 39 */ and. r0, r0, r6
/* 801CE50C 001CA16C 40 82 00 0C */ bne lbl_801CE518
lbl_801CE510:
/* 801CE510 001CA170 7C 07 40 40 */ cmplw r7, r8
/* 801CE514 001CA174 41 82 FF E4 */ beq lbl_801CE4F8
lbl_801CE518:
/* 801CE518 001CA178 88 A3 00 00 */ lbz r5, 0(r3)
/* 801CE51C 001CA17C 88 04 00 00 */ lbz r0, 0(r4)
/* 801CE520 001CA180 7C 00 28 51 */ subf. r0, r0, r5
/* 801CE524 001CA184 41 82 00 0C */ beq lbl_801CE530
/* 801CE528 001CA188 7C 03 03 78 */ mr r3, r0
/* 801CE52C 001CA18C 4E 80 00 20 */ blr
lbl_801CE530:
/* 801CE530 001CA190 2C 05 00 00 */ cmpwi r5, 0
/* 801CE534 001CA194 40 82 00 0C */ bne lbl_801CE540
/* 801CE538 001CA198 38 60 00 00 */ li r3, 0
/* 801CE53C 001CA19C 4E 80 00 20 */ blr
lbl_801CE540:
/* 801CE540 001CA1A0 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CE544 001CA1A4 8C 04 00 01 */ lbzu r0, 1(r4)
/* 801CE548 001CA1A8 7C 00 28 51 */ subf. r0, r0, r5
/* 801CE54C 001CA1AC 41 82 00 0C */ beq lbl_801CE558
/* 801CE550 001CA1B0 7C 03 03 78 */ mr r3, r0
/* 801CE554 001CA1B4 4E 80 00 20 */ blr
lbl_801CE558:
/* 801CE558 001CA1B8 2C 05 00 00 */ cmpwi r5, 0
/* 801CE55C 001CA1BC 40 82 FF E4 */ bne lbl_801CE540
/* 801CE560 001CA1C0 38 60 00 00 */ li r3, 0
/* 801CE564 001CA1C4 4E 80 00 20 */ blr
.global func_801CE568
func_801CE568:
/* 801CE568 001CA1C8 38 63 FF FF */ addi r3, r3, -1
/* 801CE56C 001CA1CC 38 84 FF FF */ addi r4, r4, -1
/* 801CE570 001CA1D0 38 C5 00 01 */ addi r6, r5, 1
/* 801CE574 001CA1D4 48 00 00 24 */ b lbl_801CE598
lbl_801CE578:
/* 801CE578 001CA1D8 8C 03 00 01 */ lbzu r0, 1(r3)
/* 801CE57C 001CA1DC 8C A4 00 01 */ lbzu r5, 1(r4)
/* 801CE580 001CA1E0 7C 00 28 40 */ cmplw r0, r5
/* 801CE584 001CA1E4 41 82 00 0C */ beq lbl_801CE590
/* 801CE588 001CA1E8 7C 65 00 50 */ subf r3, r5, r0
/* 801CE58C 001CA1EC 4E 80 00 20 */ blr
lbl_801CE590:
/* 801CE590 001CA1F0 2C 00 00 00 */ cmpwi r0, 0
/* 801CE594 001CA1F4 41 82 00 0C */ beq lbl_801CE5A0
lbl_801CE598:
/* 801CE598 001CA1F8 34 C6 FF FF */ addic. r6, r6, -1
/* 801CE59C 001CA1FC 40 82 FF DC */ bne lbl_801CE578
lbl_801CE5A0:
/* 801CE5A0 001CA200 38 60 00 00 */ li r3, 0
/* 801CE5A4 001CA204 4E 80 00 20 */ blr
.global func_801CE5A8
func_801CE5A8:
/* 801CE5A8 001CA208 38 63 FF FF */ addi r3, r3, -1
/* 801CE5AC 001CA20C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 801CE5B0 001CA210 48 00 00 0C */ b lbl_801CE5BC
lbl_801CE5B4:
/* 801CE5B4 001CA214 7C 04 00 40 */ cmplw r4, r0
/* 801CE5B8 001CA218 4D 82 00 20 */ beqlr
lbl_801CE5BC:
/* 801CE5BC 001CA21C 8C 83 00 01 */ lbzu r4, 1(r3)
/* 801CE5C0 001CA220 2C 04 00 00 */ cmpwi r4, 0
/* 801CE5C4 001CA224 40 82 FF F0 */ bne lbl_801CE5B4
/* 801CE5C8 001CA228 2C 00 00 00 */ cmpwi r0, 0
/* 801CE5CC 001CA22C 4D 82 00 20 */ beqlr
/* 801CE5D0 001CA230 38 60 00 00 */ li r3, 0
/* 801CE5D4 001CA234 4E 80 00 20 */ blr
.global func_801CE5D8
func_801CE5D8:
/* 801CE5D8 001CA238 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801CE5DC 001CA23C 38 00 00 00 */ li r0, 0
/* 801CE5E0 001CA240 39 04 FF FF */ addi r8, r4, -1
/* 801CE5E4 001CA244 38 80 00 01 */ li r4, 1
/* 801CE5E8 001CA248 90 01 00 08 */ stw r0, 8(r1)
/* 801CE5EC 001CA24C 38 C1 00 08 */ addi r6, r1, 8
/* 801CE5F0 001CA250 90 01 00 0C */ stw r0, 0xc(r1)
/* 801CE5F4 001CA254 90 01 00 10 */ stw r0, 0x10(r1)
/* 801CE5F8 001CA258 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CE5FC 001CA25C 90 01 00 18 */ stw r0, 0x18(r1)
/* 801CE600 001CA260 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801CE604 001CA264 90 01 00 20 */ stw r0, 0x20(r1)
/* 801CE608 001CA268 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CE60C 001CA26C 48 00 00 20 */ b lbl_801CE62C
lbl_801CE610:
/* 801CE610 001CA270 54 07 EE FE */ rlwinm r7, r0, 0x1d, 0x1b, 0x1f
/* 801CE614 001CA274 54 00 07 7E */ clrlwi r0, r0, 0x1d
/* 801CE618 001CA278 7C 80 00 30 */ slw r0, r4, r0
/* 801CE61C 001CA27C 7C A6 38 AE */ lbzx r5, r6, r7
/* 801CE620 001CA280 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CE624 001CA284 7C A0 03 78 */ or r0, r5, r0
/* 801CE628 001CA288 7C 06 39 AE */ stbx r0, r6, r7
lbl_801CE62C:
/* 801CE62C 001CA28C 8C 08 00 01 */ lbzu r0, 1(r8)
/* 801CE630 001CA290 2C 00 00 00 */ cmpwi r0, 0
/* 801CE634 001CA294 40 82 FF DC */ bne lbl_801CE610
/* 801CE638 001CA298 38 E3 FF FF */ addi r7, r3, -1
/* 801CE63C 001CA29C 38 C1 00 08 */ addi r6, r1, 8
/* 801CE640 001CA2A0 38 80 00 01 */ li r4, 1
/* 801CE644 001CA2A4 48 00 00 20 */ b lbl_801CE664
lbl_801CE648:
/* 801CE648 001CA2A8 54 05 EE FE */ rlwinm r5, r0, 0x1d, 0x1b, 0x1f
/* 801CE64C 001CA2AC 54 00 07 7E */ clrlwi r0, r0, 0x1d
/* 801CE650 001CA2B0 7C 80 00 30 */ slw r0, r4, r0
/* 801CE654 001CA2B4 7C A6 28 AE */ lbzx r5, r6, r5
/* 801CE658 001CA2B8 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CE65C 001CA2BC 7C A0 00 39 */ and. r0, r5, r0
/* 801CE660 001CA2C0 40 82 00 10 */ bne lbl_801CE670
lbl_801CE664:
/* 801CE664 001CA2C4 8C 07 00 01 */ lbzu r0, 1(r7)
/* 801CE668 001CA2C8 2C 00 00 00 */ cmpwi r0, 0
/* 801CE66C 001CA2CC 40 82 FF DC */ bne lbl_801CE648
lbl_801CE670:
/* 801CE670 001CA2D0 7C 63 38 50 */ subf r3, r3, r7
/* 801CE674 001CA2D4 38 21 00 30 */ addi r1, r1, 0x30
/* 801CE678 001CA2D8 4E 80 00 20 */ blr
.global func_801CE67C
func_801CE67C:
/* 801CE67C 001CA2DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801CE680 001CA2E0 38 00 00 00 */ li r0, 0
/* 801CE684 001CA2E4 2C 03 00 00 */ cmpwi r3, 0
/* 801CE688 001CA2E8 90 01 00 08 */ stw r0, 8(r1)
/* 801CE68C 001CA2EC 90 01 00 0C */ stw r0, 0xc(r1)
/* 801CE690 001CA2F0 90 01 00 10 */ stw r0, 0x10(r1)
/* 801CE694 001CA2F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CE698 001CA2F8 90 01 00 18 */ stw r0, 0x18(r1)
/* 801CE69C 001CA2FC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801CE6A0 001CA300 90 01 00 20 */ stw r0, 0x20(r1)
/* 801CE6A4 001CA304 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CE6A8 001CA308 41 82 00 08 */ beq lbl_801CE6B0
/* 801CE6AC 001CA30C 90 6D 83 F4 */ stw r3, lbl_8063D6B4-_SDA_BASE_(r13)
lbl_801CE6B0:
/* 801CE6B0 001CA310 38 E4 FF FF */ addi r7, r4, -1
/* 801CE6B4 001CA314 38 A1 00 08 */ addi r5, r1, 8
/* 801CE6B8 001CA318 38 60 00 01 */ li r3, 1
/* 801CE6BC 001CA31C 48 00 00 20 */ b lbl_801CE6DC
lbl_801CE6C0:
/* 801CE6C0 001CA320 54 06 EE FE */ rlwinm r6, r0, 0x1d, 0x1b, 0x1f
/* 801CE6C4 001CA324 54 00 07 7E */ clrlwi r0, r0, 0x1d
/* 801CE6C8 001CA328 7C 60 00 30 */ slw r0, r3, r0
/* 801CE6CC 001CA32C 7C 85 30 AE */ lbzx r4, r5, r6
/* 801CE6D0 001CA330 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CE6D4 001CA334 7C 80 03 78 */ or r0, r4, r0
/* 801CE6D8 001CA338 7C 05 31 AE */ stbx r0, r5, r6
lbl_801CE6DC:
/* 801CE6DC 001CA33C 8C 07 00 01 */ lbzu r0, 1(r7)
/* 801CE6E0 001CA340 2C 00 00 00 */ cmpwi r0, 0
/* 801CE6E4 001CA344 40 82 FF DC */ bne lbl_801CE6C0
/* 801CE6E8 001CA348 80 8D 83 F4 */ lwz r4, lbl_8063D6B4-_SDA_BASE_(r13)
/* 801CE6EC 001CA34C 38 A1 00 08 */ addi r5, r1, 8
/* 801CE6F0 001CA350 38 60 00 01 */ li r3, 1
/* 801CE6F4 001CA354 38 E4 FF FF */ addi r7, r4, -1
/* 801CE6F8 001CA358 48 00 00 20 */ b lbl_801CE718
lbl_801CE6FC:
/* 801CE6FC 001CA35C 54 C4 EE FE */ rlwinm r4, r6, 0x1d, 0x1b, 0x1f
/* 801CE700 001CA360 54 C0 07 7E */ clrlwi r0, r6, 0x1d
/* 801CE704 001CA364 7C 60 00 30 */ slw r0, r3, r0
/* 801CE708 001CA368 7C 85 20 AE */ lbzx r4, r5, r4
/* 801CE70C 001CA36C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CE710 001CA370 7C 80 00 39 */ and. r0, r4, r0
/* 801CE714 001CA374 41 82 00 10 */ beq lbl_801CE724
lbl_801CE718:
/* 801CE718 001CA378 8C C7 00 01 */ lbzu r6, 1(r7)
/* 801CE71C 001CA37C 2C 06 00 00 */ cmpwi r6, 0
/* 801CE720 001CA380 40 82 FF DC */ bne lbl_801CE6FC
lbl_801CE724:
/* 801CE724 001CA384 2C 06 00 00 */ cmpwi r6, 0
/* 801CE728 001CA388 40 82 00 14 */ bne lbl_801CE73C
/* 801CE72C 001CA38C 80 0D 83 F0 */ lwz r0, lbl_8063D6B0-_SDA_BASE_(r13)
/* 801CE730 001CA390 38 60 00 00 */ li r3, 0
/* 801CE734 001CA394 90 0D 83 F4 */ stw r0, lbl_8063D6B4-_SDA_BASE_(r13)
/* 801CE738 001CA398 48 00 00 60 */ b lbl_801CE798
lbl_801CE73C:
/* 801CE73C 001CA39C 7C E3 3B 78 */ mr r3, r7
/* 801CE740 001CA3A0 38 C1 00 08 */ addi r6, r1, 8
/* 801CE744 001CA3A4 38 80 00 01 */ li r4, 1
/* 801CE748 001CA3A8 48 00 00 20 */ b lbl_801CE768
lbl_801CE74C:
/* 801CE74C 001CA3AC 55 05 EE FE */ rlwinm r5, r8, 0x1d, 0x1b, 0x1f
/* 801CE750 001CA3B0 55 00 07 7E */ clrlwi r0, r8, 0x1d
/* 801CE754 001CA3B4 7C 80 00 30 */ slw r0, r4, r0
/* 801CE758 001CA3B8 7C A6 28 AE */ lbzx r5, r6, r5
/* 801CE75C 001CA3BC 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CE760 001CA3C0 7C A0 00 39 */ and. r0, r5, r0
/* 801CE764 001CA3C4 40 82 00 10 */ bne lbl_801CE774
lbl_801CE768:
/* 801CE768 001CA3C8 8D 07 00 01 */ lbzu r8, 1(r7)
/* 801CE76C 001CA3CC 2C 08 00 00 */ cmpwi r8, 0
/* 801CE770 001CA3D0 40 82 FF DC */ bne lbl_801CE74C
lbl_801CE774:
/* 801CE774 001CA3D4 2C 08 00 00 */ cmpwi r8, 0
/* 801CE778 001CA3D8 40 82 00 10 */ bne lbl_801CE788
/* 801CE77C 001CA3DC 80 0D 83 F0 */ lwz r0, lbl_8063D6B0-_SDA_BASE_(r13)
/* 801CE780 001CA3E0 90 0D 83 F4 */ stw r0, lbl_8063D6B4-_SDA_BASE_(r13)
/* 801CE784 001CA3E4 48 00 00 14 */ b lbl_801CE798
lbl_801CE788:
/* 801CE788 001CA3E8 38 87 00 01 */ addi r4, r7, 1
/* 801CE78C 001CA3EC 38 00 00 00 */ li r0, 0
/* 801CE790 001CA3F0 90 8D 83 F4 */ stw r4, lbl_8063D6B4-_SDA_BASE_(r13)
/* 801CE794 001CA3F4 98 07 00 00 */ stb r0, 0(r7)
lbl_801CE798:
/* 801CE798 001CA3F8 38 21 00 30 */ addi r1, r1, 0x30
/* 801CE79C 001CA3FC 4E 80 00 20 */ blr
.global func_801CE7A0
func_801CE7A0:
/* 801CE7A0 001CA400 2C 04 00 00 */ cmpwi r4, 0
/* 801CE7A4 001CA404 38 A3 FF FF */ addi r5, r3, -1
/* 801CE7A8 001CA408 4D 82 00 20 */ beqlr
/* 801CE7AC 001CA40C 88 C4 00 00 */ lbz r6, 0(r4)
/* 801CE7B0 001CA410 2C 06 00 00 */ cmpwi r6, 0
/* 801CE7B4 001CA414 40 82 00 44 */ bne lbl_801CE7F8
/* 801CE7B8 001CA418 4E 80 00 20 */ blr
/* 801CE7BC 001CA41C 48 00 00 3C */ b lbl_801CE7F8
lbl_801CE7C0:
/* 801CE7C0 001CA420 7C 00 30 40 */ cmplw r0, r6
/* 801CE7C4 001CA424 40 82 00 34 */ bne lbl_801CE7F8
/* 801CE7C8 001CA428 38 E5 FF FF */ addi r7, r5, -1
/* 801CE7CC 001CA42C 39 04 FF FF */ addi r8, r4, -1
lbl_801CE7D0:
/* 801CE7D0 001CA430 8C 07 00 01 */ lbzu r0, 1(r7)
/* 801CE7D4 001CA434 8C 68 00 01 */ lbzu r3, 1(r8)
/* 801CE7D8 001CA438 7C 00 18 40 */ cmplw r0, r3
/* 801CE7DC 001CA43C 40 82 00 0C */ bne lbl_801CE7E8
/* 801CE7E0 001CA440 2C 00 00 00 */ cmpwi r0, 0
/* 801CE7E4 001CA444 40 82 FF EC */ bne lbl_801CE7D0
lbl_801CE7E8:
/* 801CE7E8 001CA448 2C 03 00 00 */ cmpwi r3, 0
/* 801CE7EC 001CA44C 40 82 00 0C */ bne lbl_801CE7F8
/* 801CE7F0 001CA450 7C A3 2B 78 */ mr r3, r5
/* 801CE7F4 001CA454 4E 80 00 20 */ blr
lbl_801CE7F8:
/* 801CE7F8 001CA458 8C 05 00 01 */ lbzu r0, 1(r5)
/* 801CE7FC 001CA45C 2C 00 00 00 */ cmpwi r0, 0
/* 801CE800 001CA460 40 82 FF C0 */ bne lbl_801CE7C0
/* 801CE804 001CA464 38 60 00 00 */ li r3, 0
/* 801CE808 001CA468 4E 80 00 20 */ blr
.global func_801CE80C
func_801CE80C:
/* 801CE80C 001CA46C 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 801CE810 001CA470 7C 08 02 A6 */ mflr r0
/* 801CE814 001CA474 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 801CE818 001CA478 39 61 00 E0 */ addi r11, r1, 0xe0
/* 801CE81C 001CA47C 4B FF 88 D9 */ bl __save_gpr
/* 801CE820 001CA480 3B E0 00 00 */ li r31, 0
/* 801CE824 001CA484 3D 00 80 42 */ lis r8, lbl_80422B98@ha
/* 801CE828 001CA488 38 00 00 00 */ li r0, 0
/* 801CE82C 001CA48C 93 E1 00 58 */ stw r31, 0x58(r1)
/* 801CE830 001CA490 81 08 2B 98 */ lwz r8, lbl_80422B98@l(r8)
/* 801CE834 001CA494 7C 92 23 78 */ mr r18, r4
/* 801CE838 001CA498 90 01 00 90 */ stw r0, 0x90(r1)
/* 801CE83C 001CA49C 38 00 00 00 */ li r0, 0
/* 801CE840 001CA4A0 7C B3 2B 78 */ mr r19, r5
/* 801CE844 001CA4A4 7E 4C 93 78 */ mr r12, r18
/* 801CE848 001CA4A8 90 01 00 8C */ stw r0, 0x8c(r1)
/* 801CE84C 001CA4AC 38 00 00 00 */ li r0, 0
/* 801CE850 001CA4B0 7C F4 3B 78 */ mr r20, r7
/* 801CE854 001CA4B4 3A 20 00 01 */ li r17, 1
/* 801CE858 001CA4B8 90 01 00 88 */ stw r0, 0x88(r1)
/* 801CE85C 001CA4BC 38 00 00 00 */ li r0, 0
/* 801CE860 001CA4C0 39 C0 00 00 */ li r14, 0
/* 801CE864 001CA4C4 3B A0 00 00 */ li r29, 0
/* 801CE868 001CA4C8 90 61 00 08 */ stw r3, 8(r1)
/* 801CE86C 001CA4CC 7E 63 9B 78 */ mr r3, r19
/* 801CE870 001CA4D0 3B 80 00 00 */ li r28, 0
/* 801CE874 001CA4D4 3B 20 00 00 */ li r25, 0
/* 801CE878 001CA4D8 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 801CE87C 001CA4DC 3A E0 00 00 */ li r23, 0
/* 801CE880 001CA4E0 3B C0 00 01 */ li r30, 1
/* 801CE884 001CA4E4 38 80 00 00 */ li r4, 0
/* 801CE888 001CA4E8 93 E1 00 60 */ stw r31, 0x60(r1)
/* 801CE88C 001CA4EC 38 A0 00 00 */ li r5, 0
/* 801CE890 001CA4F0 93 E1 00 64 */ stw r31, 0x64(r1)
/* 801CE894 001CA4F4 93 E1 00 68 */ stw r31, 0x68(r1)
/* 801CE898 001CA4F8 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801CE89C 001CA4FC 93 E1 00 70 */ stw r31, 0x70(r1)
/* 801CE8A0 001CA500 93 E1 00 74 */ stw r31, 0x74(r1)
/* 801CE8A4 001CA504 93 E1 00 78 */ stw r31, 0x78(r1)
/* 801CE8A8 001CA508 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 801CE8AC 001CA50C B3 E1 00 80 */ sth r31, 0x80(r1)
/* 801CE8B0 001CA510 8B 68 00 00 */ lbz r27, 0(r8)
/* 801CE8B4 001CA514 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801CE8B8 001CA518 90 01 00 84 */ stw r0, 0x84(r1)
/* 801CE8BC 001CA51C 93 E7 00 00 */ stw r31, 0(r7)
/* 801CE8C0 001CA520 7D 89 03 A6 */ mtctr r12
/* 801CE8C4 001CA524 4E 80 04 21 */ bctrl
/* 801CE8C8 001CA528 3E 00 80 42 */ lis r16, lbl_80422D48@ha
/* 801CE8CC 001CA52C 3D E0 80 40 */ lis r15, lbl_803FCD18@ha
/* 801CE8D0 001CA530 7C 64 1B 78 */ mr r4, r3
/* 801CE8D4 001CA534 3A 10 2D 48 */ addi r16, r16, lbl_80422D48@l
/* 801CE8D8 001CA538 39 EF CD 18 */ addi r15, r15, lbl_803FCD18@l
/* 801CE8DC 001CA53C 48 00 0F D0 */ b lbl_801CF8AC
lbl_801CE8E0:
/* 801CE8E0 001CA540 2C 11 00 80 */ cmpwi r17, 0x80
/* 801CE8E4 001CA544 41 82 08 A0 */ beq lbl_801CF184
/* 801CE8E8 001CA548 40 80 00 5C */ bge lbl_801CE944
/* 801CE8EC 001CA54C 2C 11 00 08 */ cmpwi r17, 8
/* 801CE8F0 001CA550 41 82 06 64 */ beq lbl_801CEF54
/* 801CE8F4 001CA554 40 80 00 2C */ bge lbl_801CE920
/* 801CE8F8 001CA558 2C 11 00 03 */ cmpwi r17, 3
/* 801CE8FC 001CA55C 41 82 0F B0 */ beq lbl_801CF8AC
/* 801CE900 001CA560 40 80 00 14 */ bge lbl_801CE914
/* 801CE904 001CA564 2C 11 00 01 */ cmpwi r17, 1
/* 801CE908 001CA568 41 82 00 8C */ beq lbl_801CE994
/* 801CE90C 001CA56C 40 80 05 18 */ bge lbl_801CEE24
/* 801CE910 001CA570 48 00 0F 9C */ b lbl_801CF8AC
lbl_801CE914:
/* 801CE914 001CA574 2C 11 00 05 */ cmpwi r17, 5
/* 801CE918 001CA578 40 80 0F 94 */ bge lbl_801CF8AC
/* 801CE91C 001CA57C 48 00 06 04 */ b lbl_801CEF20
lbl_801CE920:
/* 801CE920 001CA580 2C 11 00 20 */ cmpwi r17, 0x20
/* 801CE924 001CA584 41 82 07 4C */ beq lbl_801CF070
/* 801CE928 001CA588 40 80 00 10 */ bge lbl_801CE938
/* 801CE92C 001CA58C 2C 11 00 10 */ cmpwi r17, 0x10
/* 801CE930 001CA590 41 82 06 EC */ beq lbl_801CF01C
/* 801CE934 001CA594 48 00 0F 78 */ b lbl_801CF8AC
lbl_801CE938:
/* 801CE938 001CA598 2C 11 00 40 */ cmpwi r17, 0x40
/* 801CE93C 001CA59C 41 82 07 DC */ beq lbl_801CF118
/* 801CE940 001CA5A0 48 00 0F 6C */ b lbl_801CF8AC
lbl_801CE944:
/* 801CE944 001CA5A4 2C 11 20 00 */ cmpwi r17, 0x2000
/* 801CE948 001CA5A8 41 82 02 D0 */ beq lbl_801CEC18
/* 801CE94C 001CA5AC 40 80 00 28 */ bge lbl_801CE974
/* 801CE950 001CA5B0 2C 11 02 00 */ cmpwi r17, 0x200
/* 801CE954 001CA5B4 41 82 09 18 */ beq lbl_801CF26C
/* 801CE958 001CA5B8 40 80 00 10 */ bge lbl_801CE968
/* 801CE95C 001CA5BC 2C 11 01 00 */ cmpwi r17, 0x100
/* 801CE960 001CA5C0 41 82 08 88 */ beq lbl_801CF1E8
/* 801CE964 001CA5C4 48 00 0F 48 */ b lbl_801CF8AC
lbl_801CE968:
/* 801CE968 001CA5C8 2C 11 04 00 */ cmpwi r17, 0x400
/* 801CE96C 001CA5CC 41 82 09 34 */ beq lbl_801CF2A0
/* 801CE970 001CA5D0 48 00 0F 3C */ b lbl_801CF8AC
lbl_801CE974:
/* 801CE974 001CA5D4 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 801CE978 001CA5D8 38 03 80 00 */ addi r0, r3, 0x00008000@l
/* 801CE97C 001CA5DC 7C 11 00 00 */ cmpw r17, r0
/* 801CE980 001CA5E0 41 82 09 AC */ beq lbl_801CF32C
/* 801CE984 001CA5E4 40 80 0F 28 */ bge lbl_801CF8AC
/* 801CE988 001CA5E8 2C 11 40 00 */ cmpwi r17, 0x4000
/* 801CE98C 001CA5EC 41 82 01 6C */ beq lbl_801CEAF8
/* 801CE990 001CA5F0 48 00 0F 1C */ b lbl_801CF8AC
lbl_801CE994:
/* 801CE994 001CA5F4 2C 04 00 00 */ cmpwi r4, 0
/* 801CE998 001CA5F8 38 00 00 00 */ li r0, 0
/* 801CE99C 001CA5FC 41 80 00 0C */ blt lbl_801CE9A8
/* 801CE9A0 001CA600 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CE9A4 001CA604 41 80 00 08 */ blt lbl_801CE9AC
lbl_801CE9A8:
/* 801CE9A8 001CA608 38 00 00 01 */ li r0, 1
lbl_801CE9AC:
/* 801CE9AC 001CA60C 2C 00 00 00 */ cmpwi r0, 0
/* 801CE9B0 001CA610 41 82 00 0C */ beq lbl_801CE9BC
/* 801CE9B4 001CA614 38 00 00 00 */ li r0, 0
/* 801CE9B8 001CA618 48 00 00 18 */ b lbl_801CE9D0
lbl_801CE9BC:
/* 801CE9BC 001CA61C 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CE9C0 001CA620 54 80 08 3C */ slwi r0, r4, 1
/* 801CE9C4 001CA624 80 63 00 08 */ lwz r3, 8(r3)
/* 801CE9C8 001CA628 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CE9CC 001CA62C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CE9D0:
/* 801CE9D0 001CA630 2C 00 00 00 */ cmpwi r0, 0
/* 801CE9D4 001CA634 41 82 00 28 */ beq lbl_801CE9FC
/* 801CE9D8 001CA638 7E 4C 93 78 */ mr r12, r18
/* 801CE9DC 001CA63C 7E 63 9B 78 */ mr r3, r19
/* 801CE9E0 001CA640 38 80 00 00 */ li r4, 0
/* 801CE9E4 001CA644 38 A0 00 00 */ li r5, 0
/* 801CE9E8 001CA648 7D 89 03 A6 */ mtctr r12
/* 801CE9EC 001CA64C 4E 80 04 21 */ bctrl
/* 801CE9F0 001CA650 7C 64 1B 78 */ mr r4, r3
/* 801CE9F4 001CA654 39 CE 00 01 */ addi r14, r14, 1
/* 801CE9F8 001CA658 48 00 0E B4 */ b lbl_801CF8AC
lbl_801CE9FC:
/* 801CE9FC 001CA65C 2C 04 00 00 */ cmpwi r4, 0
/* 801CEA00 001CA660 38 00 00 00 */ li r0, 0
/* 801CEA04 001CA664 41 80 00 0C */ blt lbl_801CEA10
/* 801CEA08 001CA668 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEA0C 001CA66C 41 80 00 08 */ blt lbl_801CEA14
lbl_801CEA10:
/* 801CEA10 001CA670 38 00 00 01 */ li r0, 1
lbl_801CEA14:
/* 801CEA14 001CA674 2C 00 00 00 */ cmpwi r0, 0
/* 801CEA18 001CA678 41 82 00 0C */ beq lbl_801CEA24
/* 801CEA1C 001CA67C 7C 80 23 78 */ mr r0, r4
/* 801CEA20 001CA680 48 00 00 10 */ b lbl_801CEA30
lbl_801CEA24:
/* 801CEA24 001CA684 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEA28 001CA688 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CEA2C 001CA68C 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CEA30:
/* 801CEA30 001CA690 2C 00 00 49 */ cmpwi r0, 0x49
/* 801CEA34 001CA694 41 82 00 6C */ beq lbl_801CEAA0
/* 801CEA38 001CA698 40 80 00 28 */ bge lbl_801CEA60
/* 801CEA3C 001CA69C 2C 00 00 2C */ cmpwi r0, 0x2c
/* 801CEA40 001CA6A0 41 82 00 B0 */ beq lbl_801CEAF0
/* 801CEA44 001CA6A4 40 80 00 10 */ bge lbl_801CEA54
/* 801CEA48 001CA6A8 2C 00 00 2B */ cmpwi r0, 0x2b
/* 801CEA4C 001CA6AC 40 80 00 28 */ bge lbl_801CEA74
/* 801CEA50 001CA6B0 48 00 00 A0 */ b lbl_801CEAF0
lbl_801CEA54:
/* 801CEA54 001CA6B4 2C 00 00 2E */ cmpwi r0, 0x2e
/* 801CEA58 001CA6B8 40 80 00 98 */ bge lbl_801CEAF0
/* 801CEA5C 001CA6BC 48 00 00 10 */ b lbl_801CEA6C
lbl_801CEA60:
/* 801CEA60 001CA6C0 2C 00 00 4E */ cmpwi r0, 0x4e
/* 801CEA64 001CA6C4 41 82 00 64 */ beq lbl_801CEAC8
/* 801CEA68 001CA6C8 48 00 00 88 */ b lbl_801CEAF0
lbl_801CEA6C:
/* 801CEA6C 001CA6CC 38 00 00 01 */ li r0, 1
/* 801CEA70 001CA6D0 90 01 00 90 */ stw r0, 0x90(r1)
lbl_801CEA74:
/* 801CEA74 001CA6D4 7E 4C 93 78 */ mr r12, r18
/* 801CEA78 001CA6D8 7E 63 9B 78 */ mr r3, r19
/* 801CEA7C 001CA6DC 38 80 00 00 */ li r4, 0
/* 801CEA80 001CA6E0 38 A0 00 00 */ li r5, 0
/* 801CEA84 001CA6E4 7D 89 03 A6 */ mtctr r12
/* 801CEA88 001CA6E8 3B DE 00 01 */ addi r30, r30, 1
/* 801CEA8C 001CA6EC 4E 80 04 21 */ bctrl
/* 801CEA90 001CA6F0 38 00 00 01 */ li r0, 1
/* 801CEA94 001CA6F4 7C 64 1B 78 */ mr r4, r3
/* 801CEA98 001CA6F8 90 01 00 88 */ stw r0, 0x88(r1)
/* 801CEA9C 001CA6FC 48 00 0E 10 */ b lbl_801CF8AC
lbl_801CEAA0:
/* 801CEAA0 001CA700 7E 4C 93 78 */ mr r12, r18
/* 801CEAA4 001CA704 7E 63 9B 78 */ mr r3, r19
/* 801CEAA8 001CA708 38 80 00 00 */ li r4, 0
/* 801CEAAC 001CA70C 38 A0 00 00 */ li r5, 0
/* 801CEAB0 001CA710 7D 89 03 A6 */ mtctr r12
/* 801CEAB4 001CA714 3B DE 00 01 */ addi r30, r30, 1
/* 801CEAB8 001CA718 4E 80 04 21 */ bctrl
/* 801CEABC 001CA71C 7C 64 1B 78 */ mr r4, r3
/* 801CEAC0 001CA720 3A 20 40 00 */ li r17, 0x4000
/* 801CEAC4 001CA724 48 00 0D E8 */ b lbl_801CF8AC
lbl_801CEAC8:
/* 801CEAC8 001CA728 7E 4C 93 78 */ mr r12, r18
/* 801CEACC 001CA72C 7E 63 9B 78 */ mr r3, r19
/* 801CEAD0 001CA730 38 80 00 00 */ li r4, 0
/* 801CEAD4 001CA734 38 A0 00 00 */ li r5, 0
/* 801CEAD8 001CA738 7D 89 03 A6 */ mtctr r12
/* 801CEADC 001CA73C 3B DE 00 01 */ addi r30, r30, 1
/* 801CEAE0 001CA740 4E 80 04 21 */ bctrl
/* 801CEAE4 001CA744 7C 64 1B 78 */ mr r4, r3
/* 801CEAE8 001CA748 3A 20 20 00 */ li r17, 0x2000
/* 801CEAEC 001CA74C 48 00 0D C0 */ b lbl_801CF8AC
lbl_801CEAF0:
/* 801CEAF0 001CA750 3A 20 00 02 */ li r17, 2
/* 801CEAF4 001CA754 48 00 0D B8 */ b lbl_801CF8AC
lbl_801CEAF8:
/* 801CEAF8 001CA758 89 6F 00 00 */ lbz r11, 0(r15)
/* 801CEAFC 001CA75C 3A 21 00 29 */ addi r17, r1, 0x29
/* 801CEB00 001CA760 89 4F 00 01 */ lbz r10, 1(r15)
/* 801CEB04 001CA764 3A A0 00 01 */ li r21, 1
/* 801CEB08 001CA768 89 2F 00 02 */ lbz r9, 2(r15)
/* 801CEB0C 001CA76C 89 0F 00 03 */ lbz r8, 3(r15)
/* 801CEB10 001CA770 88 EF 00 04 */ lbz r7, 4(r15)
/* 801CEB14 001CA774 88 CF 00 05 */ lbz r6, 5(r15)
/* 801CEB18 001CA778 88 AF 00 06 */ lbz r5, 6(r15)
/* 801CEB1C 001CA77C 88 6F 00 07 */ lbz r3, 7(r15)
/* 801CEB20 001CA780 88 0F 00 08 */ lbz r0, 8(r15)
/* 801CEB24 001CA784 99 61 00 28 */ stb r11, 0x28(r1)
/* 801CEB28 001CA788 99 41 00 29 */ stb r10, 0x29(r1)
/* 801CEB2C 001CA78C 99 21 00 2A */ stb r9, 0x2a(r1)
/* 801CEB30 001CA790 99 01 00 2B */ stb r8, 0x2b(r1)
/* 801CEB34 001CA794 98 E1 00 2C */ stb r7, 0x2c(r1)
/* 801CEB38 001CA798 98 C1 00 2D */ stb r6, 0x2d(r1)
/* 801CEB3C 001CA79C 98 A1 00 2E */ stb r5, 0x2e(r1)
/* 801CEB40 001CA7A0 98 61 00 2F */ stb r3, 0x2f(r1)
/* 801CEB44 001CA7A4 98 01 00 30 */ stb r0, 0x30(r1)
/* 801CEB48 001CA7A8 48 00 00 2C */ b lbl_801CEB74
lbl_801CEB4C:
/* 801CEB4C 001CA7AC 7E 4C 93 78 */ mr r12, r18
/* 801CEB50 001CA7B0 7E 63 9B 78 */ mr r3, r19
/* 801CEB54 001CA7B4 38 80 00 00 */ li r4, 0
/* 801CEB58 001CA7B8 38 A0 00 00 */ li r5, 0
/* 801CEB5C 001CA7BC 7D 89 03 A6 */ mtctr r12
/* 801CEB60 001CA7C0 3A 31 00 01 */ addi r17, r17, 1
/* 801CEB64 001CA7C4 3A B5 00 01 */ addi r21, r21, 1
/* 801CEB68 001CA7C8 3B DE 00 01 */ addi r30, r30, 1
/* 801CEB6C 001CA7CC 4E 80 04 21 */ bctrl
/* 801CEB70 001CA7D0 7C 64 1B 78 */ mr r4, r3
lbl_801CEB74:
/* 801CEB74 001CA7D4 2C 15 00 08 */ cmpwi r21, 8
/* 801CEB78 001CA7D8 40 80 00 48 */ bge lbl_801CEBC0
/* 801CEB7C 001CA7DC 88 71 00 00 */ lbz r3, 0(r17)
/* 801CEB80 001CA7E0 2C 04 00 00 */ cmpwi r4, 0
/* 801CEB84 001CA7E4 38 00 00 00 */ li r0, 0
/* 801CEB88 001CA7E8 7C 65 07 74 */ extsb r5, r3
/* 801CEB8C 001CA7EC 41 80 00 0C */ blt lbl_801CEB98
/* 801CEB90 001CA7F0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEB94 001CA7F4 41 80 00 08 */ blt lbl_801CEB9C
lbl_801CEB98:
/* 801CEB98 001CA7F8 38 00 00 01 */ li r0, 1
lbl_801CEB9C:
/* 801CEB9C 001CA7FC 2C 00 00 00 */ cmpwi r0, 0
/* 801CEBA0 001CA800 41 82 00 0C */ beq lbl_801CEBAC
/* 801CEBA4 001CA804 7C 80 23 78 */ mr r0, r4
/* 801CEBA8 001CA808 48 00 00 10 */ b lbl_801CEBB8
lbl_801CEBAC:
/* 801CEBAC 001CA80C 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEBB0 001CA810 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CEBB4 001CA814 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CEBB8:
/* 801CEBB8 001CA818 7C 05 00 00 */ cmpw r5, r0
/* 801CEBBC 001CA81C 41 82 FF 90 */ beq lbl_801CEB4C
lbl_801CEBC0:
/* 801CEBC0 001CA820 2C 15 00 03 */ cmpwi r21, 3
/* 801CEBC4 001CA824 41 82 00 0C */ beq lbl_801CEBD0
/* 801CEBC8 001CA828 2C 15 00 08 */ cmpwi r21, 8
/* 801CEBCC 001CA82C 40 82 00 44 */ bne lbl_801CEC10
lbl_801CEBD0:
/* 801CEBD0 001CA830 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CEBD4 001CA834 2C 00 00 00 */ cmpwi r0, 0
/* 801CEBD8 001CA838 41 82 00 18 */ beq lbl_801CEBF0
/* 801CEBDC 001CA83C 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha
/* 801CEBE0 001CA840 C0 03 D6 BC */ lfs f0, lbl_8063D6BC@l(r3)
/* 801CEBE4 001CA844 FC 20 00 50 */ fneg f1, f0
/* 801CEBE8 001CA848 FC 20 08 18 */ frsp f1, f1
/* 801CEBEC 001CA84C 48 00 00 0C */ b lbl_801CEBF8
lbl_801CEBF0:
/* 801CEBF0 001CA850 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha
/* 801CEBF4 001CA854 C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3)
lbl_801CEBF8:
/* 801CEBF8 001CA858 80 01 00 88 */ lwz r0, 0x88(r1)
/* 801CEBFC 001CA85C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CEC00 001CA860 7C 00 72 14 */ add r0, r0, r14
/* 801CEC04 001CA864 7C 15 02 14 */ add r0, r21, r0
/* 801CEC08 001CA868 90 03 00 00 */ stw r0, 0(r3)
/* 801CEC0C 001CA86C 48 00 0F DC */ b lbl_801CFBE8
lbl_801CEC10:
/* 801CEC10 001CA870 3A 20 10 00 */ li r17, 0x1000
/* 801CEC14 001CA874 48 00 0C 98 */ b lbl_801CF8AC
lbl_801CEC18:
/* 801CEC18 001CA878 88 E2 91 58 */ lbz r7, lbl_80641758-_SDA2_BASE_(r2)
/* 801CEC1C 001CA87C 3A A0 00 00 */ li r21, 0
/* 801CEC20 001CA880 88 C2 91 59 */ lbz r6, lbl_80641759-_SDA2_BASE_(r2)
/* 801CEC24 001CA884 3A 21 00 19 */ addi r17, r1, 0x19
/* 801CEC28 001CA888 88 A2 91 5A */ lbz r5, lbl_8064175A-_SDA2_BASE_(r2)
/* 801CEC2C 001CA88C 3A C0 00 01 */ li r22, 1
/* 801CEC30 001CA890 88 62 91 5B */ lbz r3, lbl_8064175B-_SDA2_BASE_(r2)
/* 801CEC34 001CA894 88 02 91 5C */ lbz r0, lbl_8064175C-_SDA2_BASE_(r2)
/* 801CEC38 001CA898 98 E1 00 18 */ stb r7, 0x18(r1)
/* 801CEC3C 001CA89C 98 C1 00 19 */ stb r6, 0x19(r1)
/* 801CEC40 001CA8A0 98 A1 00 1A */ stb r5, 0x1a(r1)
/* 801CEC44 001CA8A4 98 61 00 1B */ stb r3, 0x1b(r1)
/* 801CEC48 001CA8A8 98 01 00 1C */ stb r0, 0x1c(r1)
/* 801CEC4C 001CA8AC 92 A1 00 38 */ stw r21, 0x38(r1)
/* 801CEC50 001CA8B0 92 A1 00 3C */ stw r21, 0x3c(r1)
/* 801CEC54 001CA8B4 92 A1 00 40 */ stw r21, 0x40(r1)
/* 801CEC58 001CA8B8 92 A1 00 44 */ stw r21, 0x44(r1)
/* 801CEC5C 001CA8BC 92 A1 00 48 */ stw r21, 0x48(r1)
/* 801CEC60 001CA8C0 92 A1 00 4C */ stw r21, 0x4c(r1)
/* 801CEC64 001CA8C4 92 A1 00 50 */ stw r21, 0x50(r1)
/* 801CEC68 001CA8C8 92 A1 00 54 */ stw r21, 0x54(r1)
/* 801CEC6C 001CA8CC 48 00 00 2C */ b lbl_801CEC98
lbl_801CEC70:
/* 801CEC70 001CA8D0 7E 4C 93 78 */ mr r12, r18
/* 801CEC74 001CA8D4 7E 63 9B 78 */ mr r3, r19
/* 801CEC78 001CA8D8 38 80 00 00 */ li r4, 0
/* 801CEC7C 001CA8DC 38 A0 00 00 */ li r5, 0
/* 801CEC80 001CA8E0 7D 89 03 A6 */ mtctr r12
/* 801CEC84 001CA8E4 3A 31 00 01 */ addi r17, r17, 1
/* 801CEC88 001CA8E8 3A D6 00 01 */ addi r22, r22, 1
/* 801CEC8C 001CA8EC 3B DE 00 01 */ addi r30, r30, 1
/* 801CEC90 001CA8F0 4E 80 04 21 */ bctrl
/* 801CEC94 001CA8F4 7C 64 1B 78 */ mr r4, r3
lbl_801CEC98:
/* 801CEC98 001CA8F8 2C 16 00 04 */ cmpwi r22, 4
/* 801CEC9C 001CA8FC 40 80 00 48 */ bge lbl_801CECE4
/* 801CECA0 001CA900 88 71 00 00 */ lbz r3, 0(r17)
/* 801CECA4 001CA904 2C 04 00 00 */ cmpwi r4, 0
/* 801CECA8 001CA908 38 00 00 00 */ li r0, 0
/* 801CECAC 001CA90C 7C 65 07 74 */ extsb r5, r3
/* 801CECB0 001CA910 41 80 00 0C */ blt lbl_801CECBC
/* 801CECB4 001CA914 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CECB8 001CA918 41 80 00 08 */ blt lbl_801CECC0
lbl_801CECBC:
/* 801CECBC 001CA91C 38 00 00 01 */ li r0, 1
lbl_801CECC0:
/* 801CECC0 001CA920 2C 00 00 00 */ cmpwi r0, 0
/* 801CECC4 001CA924 41 82 00 0C */ beq lbl_801CECD0
/* 801CECC8 001CA928 7C 80 23 78 */ mr r0, r4
/* 801CECCC 001CA92C 48 00 00 10 */ b lbl_801CECDC
lbl_801CECD0:
/* 801CECD0 001CA930 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CECD4 001CA934 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CECD8 001CA938 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CECDC:
/* 801CECDC 001CA93C 7C 05 00 00 */ cmpw r5, r0
/* 801CECE0 001CA940 41 82 FF 90 */ beq lbl_801CEC70
lbl_801CECE4:
/* 801CECE4 001CA944 38 16 FF FD */ addi r0, r22, -3
/* 801CECE8 001CA948 28 00 00 01 */ cmplwi r0, 1
/* 801CECEC 001CA94C 41 81 01 30 */ bgt lbl_801CEE1C
/* 801CECF0 001CA950 2C 16 00 04 */ cmpwi r22, 4
/* 801CECF4 001CA954 40 82 00 E4 */ bne lbl_801CEDD8
/* 801CECF8 001CA958 3A 21 00 38 */ addi r17, r1, 0x38
/* 801CECFC 001CA95C 48 00 00 30 */ b lbl_801CED2C
lbl_801CED00:
/* 801CED00 001CA960 7E 4C 93 78 */ mr r12, r18
/* 801CED04 001CA964 98 91 00 00 */ stb r4, 0(r17)
/* 801CED08 001CA968 7E 63 9B 78 */ mr r3, r19
/* 801CED0C 001CA96C 38 80 00 00 */ li r4, 0
/* 801CED10 001CA970 38 A0 00 00 */ li r5, 0
/* 801CED14 001CA974 7D 89 03 A6 */ mtctr r12
/* 801CED18 001CA978 3A B5 00 01 */ addi r21, r21, 1
/* 801CED1C 001CA97C 3A 31 00 01 */ addi r17, r17, 1
/* 801CED20 001CA980 3B DE 00 01 */ addi r30, r30, 1
/* 801CED24 001CA984 4E 80 04 21 */ bctrl
/* 801CED28 001CA988 7C 64 1B 78 */ mr r4, r3
lbl_801CED2C:
/* 801CED2C 001CA98C 2C 15 00 20 */ cmpwi r21, 0x20
/* 801CED30 001CA990 40 80 00 94 */ bge lbl_801CEDC4
/* 801CED34 001CA994 2C 04 00 00 */ cmpwi r4, 0
/* 801CED38 001CA998 38 00 00 00 */ li r0, 0
/* 801CED3C 001CA99C 41 80 00 0C */ blt lbl_801CED48
/* 801CED40 001CA9A0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CED44 001CA9A4 41 80 00 08 */ blt lbl_801CED4C
lbl_801CED48:
/* 801CED48 001CA9A8 38 00 00 01 */ li r0, 1
lbl_801CED4C:
/* 801CED4C 001CA9AC 2C 00 00 00 */ cmpwi r0, 0
/* 801CED50 001CA9B0 41 82 00 0C */ beq lbl_801CED5C
/* 801CED54 001CA9B4 38 00 00 00 */ li r0, 0
/* 801CED58 001CA9B8 48 00 00 18 */ b lbl_801CED70
lbl_801CED5C:
/* 801CED5C 001CA9BC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CED60 001CA9C0 54 80 08 3C */ slwi r0, r4, 1
/* 801CED64 001CA9C4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CED68 001CA9C8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CED6C 001CA9CC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CED70:
/* 801CED70 001CA9D0 2C 00 00 00 */ cmpwi r0, 0
/* 801CED74 001CA9D4 40 82 FF 8C */ bne lbl_801CED00
/* 801CED78 001CA9D8 2C 04 00 00 */ cmpwi r4, 0
/* 801CED7C 001CA9DC 38 00 00 00 */ li r0, 0
/* 801CED80 001CA9E0 41 80 00 0C */ blt lbl_801CED8C
/* 801CED84 001CA9E4 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CED88 001CA9E8 41 80 00 08 */ blt lbl_801CED90
lbl_801CED8C:
/* 801CED8C 001CA9EC 38 00 00 01 */ li r0, 1
lbl_801CED90:
/* 801CED90 001CA9F0 2C 00 00 00 */ cmpwi r0, 0
/* 801CED94 001CA9F4 41 82 00 0C */ beq lbl_801CEDA0
/* 801CED98 001CA9F8 38 00 00 00 */ li r0, 0
/* 801CED9C 001CA9FC 48 00 00 18 */ b lbl_801CEDB4
lbl_801CEDA0:
/* 801CEDA0 001CAA00 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEDA4 001CAA04 54 80 08 3C */ slwi r0, r4, 1
/* 801CEDA8 001CAA08 80 63 00 08 */ lwz r3, 8(r3)
/* 801CEDAC 001CAA0C 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CEDB0 001CAA10 54 00 07 FE */ clrlwi r0, r0, 0x1f
lbl_801CEDB4:
/* 801CEDB4 001CAA14 2C 00 00 00 */ cmpwi r0, 0
/* 801CEDB8 001CAA18 40 82 FF 48 */ bne lbl_801CED00
/* 801CEDBC 001CAA1C 7C 04 D8 00 */ cmpw r4, r27
/* 801CEDC0 001CAA20 41 82 FF 40 */ beq lbl_801CED00
lbl_801CEDC4:
/* 801CEDC4 001CAA24 2C 04 00 29 */ cmpwi r4, 0x29
/* 801CEDC8 001CAA28 41 82 00 0C */ beq lbl_801CEDD4
/* 801CEDCC 001CAA2C 3A 20 10 00 */ li r17, 0x1000
/* 801CEDD0 001CAA30 48 00 0A DC */ b lbl_801CF8AC
lbl_801CEDD4:
/* 801CEDD4 001CAA34 3A B5 00 01 */ addi r21, r21, 1
lbl_801CEDD8:
/* 801CEDD8 001CAA38 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CEDDC 001CAA3C 38 61 00 38 */ addi r3, r1, 0x38
/* 801CEDE0 001CAA40 2C 00 00 00 */ cmpwi r0, 0
/* 801CEDE4 001CAA44 38 00 00 00 */ li r0, 0
/* 801CEDE8 001CAA48 7C 03 A9 AE */ stbx r0, r3, r21
/* 801CEDEC 001CAA4C 41 82 00 10 */ beq lbl_801CEDFC
/* 801CEDF0 001CAA50 48 00 5A 41 */ bl func_801D4830
/* 801CEDF4 001CAA54 FC 20 08 50 */ fneg f1, f1
/* 801CEDF8 001CAA58 48 00 00 08 */ b lbl_801CEE00
lbl_801CEDFC:
/* 801CEDFC 001CAA5C 48 00 5A 35 */ bl func_801D4830
lbl_801CEE00:
/* 801CEE00 001CAA60 80 01 00 88 */ lwz r0, 0x88(r1)
/* 801CEE04 001CAA64 7C 60 B2 14 */ add r3, r0, r22
/* 801CEE08 001CAA68 7C 15 72 14 */ add r0, r21, r14
/* 801CEE0C 001CAA6C 7C 03 02 14 */ add r0, r3, r0
/* 801CEE10 001CAA70 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CEE14 001CAA74 90 03 00 00 */ stw r0, 0(r3)
/* 801CEE18 001CAA78 48 00 0D D0 */ b lbl_801CFBE8
lbl_801CEE1C:
/* 801CEE1C 001CAA7C 3A 20 10 00 */ li r17, 0x1000
/* 801CEE20 001CAA80 48 00 0A 8C */ b lbl_801CF8AC
lbl_801CEE24:
/* 801CEE24 001CAA84 7C 04 D8 00 */ cmpw r4, r27
/* 801CEE28 001CAA88 40 82 00 2C */ bne lbl_801CEE54
/* 801CEE2C 001CAA8C 7E 4C 93 78 */ mr r12, r18
/* 801CEE30 001CAA90 7E 63 9B 78 */ mr r3, r19
/* 801CEE34 001CAA94 3A 20 00 10 */ li r17, 0x10
/* 801CEE38 001CAA98 38 80 00 00 */ li r4, 0
/* 801CEE3C 001CAA9C 38 A0 00 00 */ li r5, 0
/* 801CEE40 001CAAA0 7D 89 03 A6 */ mtctr r12
/* 801CEE44 001CAAA4 3B DE 00 01 */ addi r30, r30, 1
/* 801CEE48 001CAAA8 4E 80 04 21 */ bctrl
/* 801CEE4C 001CAAAC 7C 64 1B 78 */ mr r4, r3
/* 801CEE50 001CAAB0 48 00 0A 5C */ b lbl_801CF8AC
lbl_801CEE54:
/* 801CEE54 001CAAB4 2C 04 00 00 */ cmpwi r4, 0
/* 801CEE58 001CAAB8 38 00 00 00 */ li r0, 0
/* 801CEE5C 001CAABC 41 80 00 0C */ blt lbl_801CEE68
/* 801CEE60 001CAAC0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEE64 001CAAC4 41 80 00 08 */ blt lbl_801CEE6C
lbl_801CEE68:
/* 801CEE68 001CAAC8 38 00 00 01 */ li r0, 1
lbl_801CEE6C:
/* 801CEE6C 001CAACC 2C 00 00 00 */ cmpwi r0, 0
/* 801CEE70 001CAAD0 41 82 00 0C */ beq lbl_801CEE7C
/* 801CEE74 001CAAD4 38 00 00 00 */ li r0, 0
/* 801CEE78 001CAAD8 48 00 00 18 */ b lbl_801CEE90
lbl_801CEE7C:
/* 801CEE7C 001CAADC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEE80 001CAAE0 54 80 08 3C */ slwi r0, r4, 1
/* 801CEE84 001CAAE4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CEE88 001CAAE8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CEE8C 001CAAEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CEE90:
/* 801CEE90 001CAAF0 2C 00 00 00 */ cmpwi r0, 0
/* 801CEE94 001CAAF4 40 82 00 0C */ bne lbl_801CEEA0
/* 801CEE98 001CAAF8 3A 20 10 00 */ li r17, 0x1000
/* 801CEE9C 001CAAFC 48 00 0A 10 */ b lbl_801CF8AC
lbl_801CEEA0:
/* 801CEEA0 001CAB00 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CEEA4 001CAB04 40 82 00 74 */ bne lbl_801CEF18
/* 801CEEA8 001CAB08 7E 4C 93 78 */ mr r12, r18
/* 801CEEAC 001CAB0C 7E 63 9B 78 */ mr r3, r19
/* 801CEEB0 001CAB10 38 80 00 00 */ li r4, 0
/* 801CEEB4 001CAB14 38 A0 00 00 */ li r5, 0
/* 801CEEB8 001CAB18 7D 89 03 A6 */ mtctr r12
/* 801CEEBC 001CAB1C 3B DE 00 01 */ addi r30, r30, 1
/* 801CEEC0 001CAB20 4E 80 04 21 */ bctrl
/* 801CEEC4 001CAB24 2C 03 00 00 */ cmpwi r3, 0
/* 801CEEC8 001CAB28 7C 64 1B 78 */ mr r4, r3
/* 801CEECC 001CAB2C 38 00 00 00 */ li r0, 0
/* 801CEED0 001CAB30 41 80 00 0C */ blt lbl_801CEEDC
/* 801CEED4 001CAB34 2C 03 01 00 */ cmpwi r3, 0x100
/* 801CEED8 001CAB38 41 80 00 08 */ blt lbl_801CEEE0
lbl_801CEEDC:
/* 801CEEDC 001CAB3C 38 00 00 01 */ li r0, 1
lbl_801CEEE0:
/* 801CEEE0 001CAB40 2C 00 00 00 */ cmpwi r0, 0
/* 801CEEE4 001CAB44 41 82 00 08 */ beq lbl_801CEEEC
/* 801CEEE8 001CAB48 48 00 00 10 */ b lbl_801CEEF8
lbl_801CEEEC:
/* 801CEEEC 001CAB4C 80 B0 00 38 */ lwz r5, 0x38(r16)
/* 801CEEF0 001CAB50 80 A5 00 0C */ lwz r5, 0xc(r5)
/* 801CEEF4 001CAB54 7C 65 18 AE */ lbzx r3, r5, r3
lbl_801CEEF8:
/* 801CEEF8 001CAB58 2C 03 00 58 */ cmpwi r3, 0x58
/* 801CEEFC 001CAB5C 40 82 00 14 */ bne lbl_801CEF10
/* 801CEF00 001CAB60 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 801CEF04 001CAB64 3B E0 00 01 */ li r31, 1
/* 801CEF08 001CAB68 3A 23 80 00 */ addi r17, r3, 0x00008000@l
/* 801CEF0C 001CAB6C 48 00 09 A0 */ b lbl_801CF8AC
lbl_801CEF10:
/* 801CEF10 001CAB70 3A 20 00 04 */ li r17, 4
/* 801CEF14 001CAB74 48 00 09 98 */ b lbl_801CF8AC
lbl_801CEF18:
/* 801CEF18 001CAB78 3A 20 00 08 */ li r17, 8
/* 801CEF1C 001CAB7C 48 00 09 90 */ b lbl_801CF8AC
lbl_801CEF20:
/* 801CEF20 001CAB80 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CEF24 001CAB84 40 82 00 28 */ bne lbl_801CEF4C
/* 801CEF28 001CAB88 7E 4C 93 78 */ mr r12, r18
/* 801CEF2C 001CAB8C 7E 63 9B 78 */ mr r3, r19
/* 801CEF30 001CAB90 38 80 00 00 */ li r4, 0
/* 801CEF34 001CAB94 38 A0 00 00 */ li r5, 0
/* 801CEF38 001CAB98 7D 89 03 A6 */ mtctr r12
/* 801CEF3C 001CAB9C 3B DE 00 01 */ addi r30, r30, 1
/* 801CEF40 001CABA0 4E 80 04 21 */ bctrl
/* 801CEF44 001CABA4 7C 64 1B 78 */ mr r4, r3
/* 801CEF48 001CABA8 48 00 09 64 */ b lbl_801CF8AC
lbl_801CEF4C:
/* 801CEF4C 001CABAC 3A 20 00 08 */ li r17, 8
/* 801CEF50 001CABB0 48 00 09 5C */ b lbl_801CF8AC
lbl_801CEF54:
/* 801CEF54 001CABB4 2C 04 00 00 */ cmpwi r4, 0
/* 801CEF58 001CABB8 38 00 00 00 */ li r0, 0
/* 801CEF5C 001CABBC 41 80 00 0C */ blt lbl_801CEF68
/* 801CEF60 001CABC0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEF64 001CABC4 41 80 00 08 */ blt lbl_801CEF6C
lbl_801CEF68:
/* 801CEF68 001CABC8 38 00 00 01 */ li r0, 1
lbl_801CEF6C:
/* 801CEF6C 001CABCC 2C 00 00 00 */ cmpwi r0, 0
/* 801CEF70 001CABD0 41 82 00 0C */ beq lbl_801CEF7C
/* 801CEF74 001CABD4 38 00 00 00 */ li r0, 0
/* 801CEF78 001CABD8 48 00 00 18 */ b lbl_801CEF90
lbl_801CEF7C:
/* 801CEF7C 001CABDC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEF80 001CABE0 54 80 08 3C */ slwi r0, r4, 1
/* 801CEF84 001CABE4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CEF88 001CABE8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CEF8C 001CABEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CEF90:
/* 801CEF90 001CABF0 2C 00 00 00 */ cmpwi r0, 0
/* 801CEF94 001CABF4 40 82 00 3C */ bne lbl_801CEFD0
/* 801CEF98 001CABF8 7C 04 D8 00 */ cmpw r4, r27
/* 801CEF9C 001CABFC 40 82 00 2C */ bne lbl_801CEFC8
/* 801CEFA0 001CAC00 7E 4C 93 78 */ mr r12, r18
/* 801CEFA4 001CAC04 7E 63 9B 78 */ mr r3, r19
/* 801CEFA8 001CAC08 3A 20 00 20 */ li r17, 0x20
/* 801CEFAC 001CAC0C 38 80 00 00 */ li r4, 0
/* 801CEFB0 001CAC10 38 A0 00 00 */ li r5, 0
/* 801CEFB4 001CAC14 7D 89 03 A6 */ mtctr r12
/* 801CEFB8 001CAC18 3B DE 00 01 */ addi r30, r30, 1
/* 801CEFBC 001CAC1C 4E 80 04 21 */ bctrl
/* 801CEFC0 001CAC20 7C 64 1B 78 */ mr r4, r3
/* 801CEFC4 001CAC24 48 00 08 E8 */ b lbl_801CF8AC
lbl_801CEFC8:
/* 801CEFC8 001CAC28 3A 20 00 40 */ li r17, 0x40
/* 801CEFCC 001CAC2C 48 00 08 E0 */ b lbl_801CF8AC
lbl_801CEFD0:
/* 801CEFD0 001CAC30 88 A1 00 5C */ lbz r5, 0x5c(r1)
/* 801CEFD4 001CAC34 28 05 00 14 */ cmplwi r5, 0x14
/* 801CEFD8 001CAC38 40 80 00 1C */ bge lbl_801CEFF4
/* 801CEFDC 001CAC3C 38 01 00 58 */ addi r0, r1, 0x58
/* 801CEFE0 001CAC40 7C 60 2A 14 */ add r3, r0, r5
/* 801CEFE4 001CAC44 98 83 00 05 */ stb r4, 5(r3)
/* 801CEFE8 001CAC48 38 05 00 01 */ addi r0, r5, 1
/* 801CEFEC 001CAC4C 98 01 00 5C */ stb r0, 0x5c(r1)
/* 801CEFF0 001CAC50 48 00 00 08 */ b lbl_801CEFF8
lbl_801CEFF4:
/* 801CEFF4 001CAC54 3B 9C 00 01 */ addi r28, r28, 1
lbl_801CEFF8:
/* 801CEFF8 001CAC58 7E 4C 93 78 */ mr r12, r18
/* 801CEFFC 001CAC5C 7E 63 9B 78 */ mr r3, r19
/* 801CF000 001CAC60 38 80 00 00 */ li r4, 0
/* 801CF004 001CAC64 38 A0 00 00 */ li r5, 0
/* 801CF008 001CAC68 7D 89 03 A6 */ mtctr r12
/* 801CF00C 001CAC6C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF010 001CAC70 4E 80 04 21 */ bctrl
/* 801CF014 001CAC74 7C 64 1B 78 */ mr r4, r3
/* 801CF018 001CAC78 48 00 08 94 */ b lbl_801CF8AC
lbl_801CF01C:
/* 801CF01C 001CAC7C 2C 04 00 00 */ cmpwi r4, 0
/* 801CF020 001CAC80 38 00 00 00 */ li r0, 0
/* 801CF024 001CAC84 41 80 00 0C */ blt lbl_801CF030
/* 801CF028 001CAC88 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF02C 001CAC8C 41 80 00 08 */ blt lbl_801CF034
lbl_801CF030:
/* 801CF030 001CAC90 38 00 00 01 */ li r0, 1
lbl_801CF034:
/* 801CF034 001CAC94 2C 00 00 00 */ cmpwi r0, 0
/* 801CF038 001CAC98 41 82 00 0C */ beq lbl_801CF044
/* 801CF03C 001CAC9C 38 00 00 00 */ li r0, 0
/* 801CF040 001CACA0 48 00 00 18 */ b lbl_801CF058
lbl_801CF044:
/* 801CF044 001CACA4 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF048 001CACA8 54 80 08 3C */ slwi r0, r4, 1
/* 801CF04C 001CACAC 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF050 001CACB0 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF054 001CACB4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF058:
/* 801CF058 001CACB8 2C 00 00 00 */ cmpwi r0, 0
/* 801CF05C 001CACBC 40 82 00 0C */ bne lbl_801CF068
/* 801CF060 001CACC0 3A 20 10 00 */ li r17, 0x1000
/* 801CF064 001CACC4 48 00 08 48 */ b lbl_801CF8AC
lbl_801CF068:
/* 801CF068 001CACC8 3A 20 00 20 */ li r17, 0x20
/* 801CF06C 001CACCC 48 00 08 40 */ b lbl_801CF8AC
lbl_801CF070:
/* 801CF070 001CACD0 2C 04 00 00 */ cmpwi r4, 0
/* 801CF074 001CACD4 38 00 00 00 */ li r0, 0
/* 801CF078 001CACD8 41 80 00 0C */ blt lbl_801CF084
/* 801CF07C 001CACDC 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF080 001CACE0 41 80 00 08 */ blt lbl_801CF088
lbl_801CF084:
/* 801CF084 001CACE4 38 00 00 01 */ li r0, 1
lbl_801CF088:
/* 801CF088 001CACE8 2C 00 00 00 */ cmpwi r0, 0
/* 801CF08C 001CACEC 41 82 00 0C */ beq lbl_801CF098
/* 801CF090 001CACF0 38 00 00 00 */ li r0, 0
/* 801CF094 001CACF4 48 00 00 18 */ b lbl_801CF0AC
lbl_801CF098:
/* 801CF098 001CACF8 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF09C 001CACFC 54 80 08 3C */ slwi r0, r4, 1
/* 801CF0A0 001CAD00 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF0A4 001CAD04 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF0A8 001CAD08 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF0AC:
/* 801CF0AC 001CAD0C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF0B0 001CAD10 40 82 00 0C */ bne lbl_801CF0BC
/* 801CF0B4 001CAD14 3A 20 00 40 */ li r17, 0x40
/* 801CF0B8 001CAD18 48 00 07 F4 */ b lbl_801CF8AC
lbl_801CF0BC:
/* 801CF0BC 001CAD1C 88 01 00 5C */ lbz r0, 0x5c(r1)
/* 801CF0C0 001CAD20 28 00 00 14 */ cmplwi r0, 0x14
/* 801CF0C4 001CAD24 40 80 00 30 */ bge lbl_801CF0F4
/* 801CF0C8 001CAD28 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF0CC 001CAD2C 40 82 00 0C */ bne lbl_801CF0D8
/* 801CF0D0 001CAD30 2C 00 00 00 */ cmpwi r0, 0
/* 801CF0D4 001CAD34 41 82 00 1C */ beq lbl_801CF0F0
lbl_801CF0D8:
/* 801CF0D8 001CAD38 88 A1 00 5C */ lbz r5, 0x5c(r1)
/* 801CF0DC 001CAD3C 38 01 00 58 */ addi r0, r1, 0x58
/* 801CF0E0 001CAD40 7C 60 2A 14 */ add r3, r0, r5
/* 801CF0E4 001CAD44 38 05 00 01 */ addi r0, r5, 1
/* 801CF0E8 001CAD48 98 83 00 05 */ stb r4, 5(r3)
/* 801CF0EC 001CAD4C 98 01 00 5C */ stb r0, 0x5c(r1)
lbl_801CF0F0:
/* 801CF0F0 001CAD50 3B 9C FF FF */ addi r28, r28, -1
lbl_801CF0F4:
/* 801CF0F4 001CAD54 7E 4C 93 78 */ mr r12, r18
/* 801CF0F8 001CAD58 7E 63 9B 78 */ mr r3, r19
/* 801CF0FC 001CAD5C 38 80 00 00 */ li r4, 0
/* 801CF100 001CAD60 38 A0 00 00 */ li r5, 0
/* 801CF104 001CAD64 7D 89 03 A6 */ mtctr r12
/* 801CF108 001CAD68 3B DE 00 01 */ addi r30, r30, 1
/* 801CF10C 001CAD6C 4E 80 04 21 */ bctrl
/* 801CF110 001CAD70 7C 64 1B 78 */ mr r4, r3
/* 801CF114 001CAD74 48 00 07 98 */ b lbl_801CF8AC
lbl_801CF118:
/* 801CF118 001CAD78 2C 04 00 00 */ cmpwi r4, 0
/* 801CF11C 001CAD7C 38 00 00 00 */ li r0, 0
/* 801CF120 001CAD80 41 80 00 0C */ blt lbl_801CF12C
/* 801CF124 001CAD84 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF128 001CAD88 41 80 00 08 */ blt lbl_801CF130
lbl_801CF12C:
/* 801CF12C 001CAD8C 38 00 00 01 */ li r0, 1
lbl_801CF130:
/* 801CF130 001CAD90 2C 00 00 00 */ cmpwi r0, 0
/* 801CF134 001CAD94 41 82 00 0C */ beq lbl_801CF140
/* 801CF138 001CAD98 7C 80 23 78 */ mr r0, r4
/* 801CF13C 001CAD9C 48 00 00 10 */ b lbl_801CF14C
lbl_801CF140:
/* 801CF140 001CADA0 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF144 001CADA4 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF148 001CADA8 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CF14C:
/* 801CF14C 001CADAC 2C 00 00 45 */ cmpwi r0, 0x45
/* 801CF150 001CADB0 40 82 00 2C */ bne lbl_801CF17C
/* 801CF154 001CADB4 7E 4C 93 78 */ mr r12, r18
/* 801CF158 001CADB8 7E 63 9B 78 */ mr r3, r19
/* 801CF15C 001CADBC 3A 20 00 80 */ li r17, 0x80
/* 801CF160 001CADC0 38 80 00 00 */ li r4, 0
/* 801CF164 001CADC4 38 A0 00 00 */ li r5, 0
/* 801CF168 001CADC8 7D 89 03 A6 */ mtctr r12
/* 801CF16C 001CADCC 3B DE 00 01 */ addi r30, r30, 1
/* 801CF170 001CADD0 4E 80 04 21 */ bctrl
/* 801CF174 001CADD4 7C 64 1B 78 */ mr r4, r3
/* 801CF178 001CADD8 48 00 07 34 */ b lbl_801CF8AC
lbl_801CF17C:
/* 801CF17C 001CADDC 3A 20 08 00 */ li r17, 0x800
/* 801CF180 001CADE0 48 00 07 2C */ b lbl_801CF8AC
lbl_801CF184:
/* 801CF184 001CADE4 2C 04 00 2B */ cmpwi r4, 0x2b
/* 801CF188 001CADE8 40 82 00 28 */ bne lbl_801CF1B0
/* 801CF18C 001CADEC 7E 4C 93 78 */ mr r12, r18
/* 801CF190 001CADF0 7E 63 9B 78 */ mr r3, r19
/* 801CF194 001CADF4 38 80 00 00 */ li r4, 0
/* 801CF198 001CADF8 38 A0 00 00 */ li r5, 0
/* 801CF19C 001CADFC 7D 89 03 A6 */ mtctr r12
/* 801CF1A0 001CAE00 3B DE 00 01 */ addi r30, r30, 1
/* 801CF1A4 001CAE04 4E 80 04 21 */ bctrl
/* 801CF1A8 001CAE08 7C 64 1B 78 */ mr r4, r3
/* 801CF1AC 001CAE0C 48 00 00 34 */ b lbl_801CF1E0
lbl_801CF1B0:
/* 801CF1B0 001CAE10 2C 04 00 2D */ cmpwi r4, 0x2d
/* 801CF1B4 001CAE14 40 82 00 2C */ bne lbl_801CF1E0
/* 801CF1B8 001CAE18 7E 4C 93 78 */ mr r12, r18
/* 801CF1BC 001CAE1C 7E 63 9B 78 */ mr r3, r19
/* 801CF1C0 001CAE20 38 80 00 00 */ li r4, 0
/* 801CF1C4 001CAE24 38 A0 00 00 */ li r5, 0
/* 801CF1C8 001CAE28 7D 89 03 A6 */ mtctr r12
/* 801CF1CC 001CAE2C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF1D0 001CAE30 4E 80 04 21 */ bctrl
/* 801CF1D4 001CAE34 38 00 00 01 */ li r0, 1
/* 801CF1D8 001CAE38 7C 64 1B 78 */ mr r4, r3
/* 801CF1DC 001CAE3C 90 01 00 8C */ stw r0, 0x8c(r1)
lbl_801CF1E0:
/* 801CF1E0 001CAE40 3A 20 01 00 */ li r17, 0x100
/* 801CF1E4 001CAE44 48 00 06 C8 */ b lbl_801CF8AC
lbl_801CF1E8:
/* 801CF1E8 001CAE48 2C 04 00 00 */ cmpwi r4, 0
/* 801CF1EC 001CAE4C 38 00 00 00 */ li r0, 0
/* 801CF1F0 001CAE50 41 80 00 0C */ blt lbl_801CF1FC
/* 801CF1F4 001CAE54 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF1F8 001CAE58 41 80 00 08 */ blt lbl_801CF200
lbl_801CF1FC:
/* 801CF1FC 001CAE5C 38 00 00 01 */ li r0, 1
lbl_801CF200:
/* 801CF200 001CAE60 2C 00 00 00 */ cmpwi r0, 0
/* 801CF204 001CAE64 41 82 00 0C */ beq lbl_801CF210
/* 801CF208 001CAE68 38 00 00 00 */ li r0, 0
/* 801CF20C 001CAE6C 48 00 00 18 */ b lbl_801CF224
lbl_801CF210:
/* 801CF210 001CAE70 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF214 001CAE74 54 80 08 3C */ slwi r0, r4, 1
/* 801CF218 001CAE78 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF21C 001CAE7C 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF220 001CAE80 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF224:
/* 801CF224 001CAE84 2C 00 00 00 */ cmpwi r0, 0
/* 801CF228 001CAE88 40 82 00 0C */ bne lbl_801CF234
/* 801CF22C 001CAE8C 3A 20 10 00 */ li r17, 0x1000
/* 801CF230 001CAE90 48 00 06 7C */ b lbl_801CF8AC
lbl_801CF234:
/* 801CF234 001CAE94 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF238 001CAE98 40 82 00 2C */ bne lbl_801CF264
/* 801CF23C 001CAE9C 7E 4C 93 78 */ mr r12, r18
/* 801CF240 001CAEA0 7E 63 9B 78 */ mr r3, r19
/* 801CF244 001CAEA4 3A 20 02 00 */ li r17, 0x200
/* 801CF248 001CAEA8 38 80 00 00 */ li r4, 0
/* 801CF24C 001CAEAC 38 A0 00 00 */ li r5, 0
/* 801CF250 001CAEB0 7D 89 03 A6 */ mtctr r12
/* 801CF254 001CAEB4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF258 001CAEB8 4E 80 04 21 */ bctrl
/* 801CF25C 001CAEBC 7C 64 1B 78 */ mr r4, r3
/* 801CF260 001CAEC0 48 00 06 4C */ b lbl_801CF8AC
lbl_801CF264:
/* 801CF264 001CAEC4 3A 20 04 00 */ li r17, 0x400
/* 801CF268 001CAEC8 48 00 06 44 */ b lbl_801CF8AC
lbl_801CF26C:
/* 801CF26C 001CAECC 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF270 001CAED0 40 82 00 28 */ bne lbl_801CF298
/* 801CF274 001CAED4 7E 4C 93 78 */ mr r12, r18
/* 801CF278 001CAED8 7E 63 9B 78 */ mr r3, r19
/* 801CF27C 001CAEDC 38 80 00 00 */ li r4, 0
/* 801CF280 001CAEE0 38 A0 00 00 */ li r5, 0
/* 801CF284 001CAEE4 7D 89 03 A6 */ mtctr r12
/* 801CF288 001CAEE8 3B DE 00 01 */ addi r30, r30, 1
/* 801CF28C 001CAEEC 4E 80 04 21 */ bctrl
/* 801CF290 001CAEF0 7C 64 1B 78 */ mr r4, r3
/* 801CF294 001CAEF4 48 00 06 18 */ b lbl_801CF8AC
lbl_801CF298:
/* 801CF298 001CAEF8 3A 20 04 00 */ li r17, 0x400
/* 801CF29C 001CAEFC 48 00 06 10 */ b lbl_801CF8AC
lbl_801CF2A0:
/* 801CF2A0 001CAF00 2C 04 00 00 */ cmpwi r4, 0
/* 801CF2A4 001CAF04 38 00 00 00 */ li r0, 0
/* 801CF2A8 001CAF08 41 80 00 0C */ blt lbl_801CF2B4
/* 801CF2AC 001CAF0C 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF2B0 001CAF10 41 80 00 08 */ blt lbl_801CF2B8
lbl_801CF2B4:
/* 801CF2B4 001CAF14 38 00 00 01 */ li r0, 1
lbl_801CF2B8:
/* 801CF2B8 001CAF18 2C 00 00 00 */ cmpwi r0, 0
/* 801CF2BC 001CAF1C 41 82 00 0C */ beq lbl_801CF2C8
/* 801CF2C0 001CAF20 38 00 00 00 */ li r0, 0
/* 801CF2C4 001CAF24 48 00 00 18 */ b lbl_801CF2DC
lbl_801CF2C8:
/* 801CF2C8 001CAF28 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF2CC 001CAF2C 54 80 08 3C */ slwi r0, r4, 1
/* 801CF2D0 001CAF30 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF2D4 001CAF34 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF2D8 001CAF38 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF2DC:
/* 801CF2DC 001CAF3C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF2E0 001CAF40 40 82 00 0C */ bne lbl_801CF2EC
/* 801CF2E4 001CAF44 3A 20 08 00 */ li r17, 0x800
/* 801CF2E8 001CAF48 48 00 05 C4 */ b lbl_801CF8AC
lbl_801CF2EC:
/* 801CF2EC 001CAF4C 1C 1D 00 0A */ mulli r0, r29, 0xa
/* 801CF2F0 001CAF50 7C 64 02 14 */ add r3, r4, r0
/* 801CF2F4 001CAF54 3B A3 FF D0 */ addi r29, r3, -48
/* 801CF2F8 001CAF58 2C 1D 7F FF */ cmpwi r29, 0x7fff
/* 801CF2FC 001CAF5C 40 81 00 0C */ ble lbl_801CF308
/* 801CF300 001CAF60 38 00 00 01 */ li r0, 1
/* 801CF304 001CAF64 90 14 00 00 */ stw r0, 0(r20)
lbl_801CF308:
/* 801CF308 001CAF68 7E 4C 93 78 */ mr r12, r18
/* 801CF30C 001CAF6C 7E 63 9B 78 */ mr r3, r19
/* 801CF310 001CAF70 38 80 00 00 */ li r4, 0
/* 801CF314 001CAF74 38 A0 00 00 */ li r5, 0
/* 801CF318 001CAF78 7D 89 03 A6 */ mtctr r12
/* 801CF31C 001CAF7C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF320 001CAF80 4E 80 04 21 */ bctrl
/* 801CF324 001CAF84 7C 64 1B 78 */ mr r4, r3
/* 801CF328 001CAF88 48 00 05 84 */ b lbl_801CF8AC
lbl_801CF32C:
/* 801CF32C 001CAF8C 2C 1F 00 10 */ cmpwi r31, 0x10
/* 801CF330 001CAF90 41 82 03 74 */ beq lbl_801CF6A4
/* 801CF334 001CAF94 40 80 00 34 */ bge lbl_801CF368
/* 801CF338 001CAF98 2C 1F 00 04 */ cmpwi r31, 4
/* 801CF33C 001CAF9C 41 82 00 D4 */ beq lbl_801CF410
/* 801CF340 001CAFA0 40 80 00 1C */ bge lbl_801CF35C
/* 801CF344 001CAFA4 2C 1F 00 02 */ cmpwi r31, 2
/* 801CF348 001CAFA8 41 82 00 94 */ beq lbl_801CF3DC
/* 801CF34C 001CAFAC 40 80 05 60 */ bge lbl_801CF8AC
/* 801CF350 001CAFB0 2C 1F 00 01 */ cmpwi r31, 1
/* 801CF354 001CAFB4 40 80 00 44 */ bge lbl_801CF398
/* 801CF358 001CAFB8 48 00 05 54 */ b lbl_801CF8AC
lbl_801CF35C:
/* 801CF35C 001CAFBC 2C 1F 00 08 */ cmpwi r31, 8
/* 801CF360 001CAFC0 41 82 02 14 */ beq lbl_801CF574
/* 801CF364 001CAFC4 48 00 05 48 */ b lbl_801CF8AC
lbl_801CF368:
/* 801CF368 001CAFC8 2C 1F 00 80 */ cmpwi r31, 0x80
/* 801CF36C 001CAFCC 41 82 04 84 */ beq lbl_801CF7F0
/* 801CF370 001CAFD0 40 80 00 1C */ bge lbl_801CF38C
/* 801CF374 001CAFD4 2C 1F 00 40 */ cmpwi r31, 0x40
/* 801CF378 001CAFD8 41 82 03 F4 */ beq lbl_801CF76C
/* 801CF37C 001CAFDC 40 80 05 30 */ bge lbl_801CF8AC
/* 801CF380 001CAFE0 2C 1F 00 20 */ cmpwi r31, 0x20
/* 801CF384 001CAFE4 41 82 03 8C */ beq lbl_801CF710
/* 801CF388 001CAFE8 48 00 05 24 */ b lbl_801CF8AC
lbl_801CF38C:
/* 801CF38C 001CAFEC 2C 1F 01 00 */ cmpwi r31, 0x100
/* 801CF390 001CAFF0 41 82 04 94 */ beq lbl_801CF824
/* 801CF394 001CAFF4 48 00 05 18 */ b lbl_801CF8AC
lbl_801CF398:
/* 801CF398 001CAFF8 38 61 00 20 */ addi r3, r1, 0x20
/* 801CF39C 001CAFFC 38 80 00 00 */ li r4, 0
/* 801CF3A0 001CB000 38 A0 00 08 */ li r5, 8
/* 801CF3A4 001CB004 4B E3 4D 61 */ bl memset
/* 801CF3A8 001CB008 7E 4C 93 78 */ mr r12, r18
/* 801CF3AC 001CB00C 7E 63 9B 78 */ mr r3, r19
/* 801CF3B0 001CB010 3B 41 00 20 */ addi r26, r1, 0x20
/* 801CF3B4 001CB014 3A E0 00 00 */ li r23, 0
/* 801CF3B8 001CB018 3B 00 00 00 */ li r24, 0
/* 801CF3BC 001CB01C 3B E0 00 02 */ li r31, 2
/* 801CF3C0 001CB020 38 80 00 00 */ li r4, 0
/* 801CF3C4 001CB024 38 A0 00 00 */ li r5, 0
/* 801CF3C8 001CB028 7D 89 03 A6 */ mtctr r12
/* 801CF3CC 001CB02C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF3D0 001CB030 4E 80 04 21 */ bctrl
/* 801CF3D4 001CB034 7C 64 1B 78 */ mr r4, r3
/* 801CF3D8 001CB038 48 00 04 D4 */ b lbl_801CF8AC
lbl_801CF3DC:
/* 801CF3DC 001CB03C 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF3E0 001CB040 40 82 00 28 */ bne lbl_801CF408
/* 801CF3E4 001CB044 7E 4C 93 78 */ mr r12, r18
/* 801CF3E8 001CB048 7E 63 9B 78 */ mr r3, r19
/* 801CF3EC 001CB04C 38 80 00 00 */ li r4, 0
/* 801CF3F0 001CB050 38 A0 00 00 */ li r5, 0
/* 801CF3F4 001CB054 7D 89 03 A6 */ mtctr r12
/* 801CF3F8 001CB058 3B DE 00 01 */ addi r30, r30, 1
/* 801CF3FC 001CB05C 4E 80 04 21 */ bctrl
/* 801CF400 001CB060 7C 64 1B 78 */ mr r4, r3
/* 801CF404 001CB064 48 00 04 A8 */ b lbl_801CF8AC
lbl_801CF408:
/* 801CF408 001CB068 3B E0 00 04 */ li r31, 4
/* 801CF40C 001CB06C 48 00 04 A0 */ b lbl_801CF8AC
lbl_801CF410:
/* 801CF410 001CB070 2C 04 00 00 */ cmpwi r4, 0
/* 801CF414 001CB074 38 00 00 00 */ li r0, 0
/* 801CF418 001CB078 41 80 00 0C */ blt lbl_801CF424
/* 801CF41C 001CB07C 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF420 001CB080 41 80 00 08 */ blt lbl_801CF428
lbl_801CF424:
/* 801CF424 001CB084 38 00 00 01 */ li r0, 1
lbl_801CF428:
/* 801CF428 001CB088 2C 00 00 00 */ cmpwi r0, 0
/* 801CF42C 001CB08C 41 82 00 0C */ beq lbl_801CF438
/* 801CF430 001CB090 38 00 00 00 */ li r0, 0
/* 801CF434 001CB094 48 00 00 18 */ b lbl_801CF44C
lbl_801CF438:
/* 801CF438 001CB098 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF43C 001CB09C 54 80 08 3C */ slwi r0, r4, 1
/* 801CF440 001CB0A0 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF444 001CB0A4 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF448 001CB0A8 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
lbl_801CF44C:
/* 801CF44C 001CB0AC 2C 00 00 00 */ cmpwi r0, 0
/* 801CF450 001CB0B0 40 82 00 3C */ bne lbl_801CF48C
/* 801CF454 001CB0B4 7C 04 D8 00 */ cmpw r4, r27
/* 801CF458 001CB0B8 40 82 00 2C */ bne lbl_801CF484
/* 801CF45C 001CB0BC 7E 4C 93 78 */ mr r12, r18
/* 801CF460 001CB0C0 7E 63 9B 78 */ mr r3, r19
/* 801CF464 001CB0C4 3B E0 00 08 */ li r31, 8
/* 801CF468 001CB0C8 38 80 00 00 */ li r4, 0
/* 801CF46C 001CB0CC 38 A0 00 00 */ li r5, 0
/* 801CF470 001CB0D0 7D 89 03 A6 */ mtctr r12
/* 801CF474 001CB0D4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF478 001CB0D8 4E 80 04 21 */ bctrl
/* 801CF47C 001CB0DC 7C 64 1B 78 */ mr r4, r3
/* 801CF480 001CB0E0 48 00 04 2C */ b lbl_801CF8AC
lbl_801CF484:
/* 801CF484 001CB0E4 3B E0 00 10 */ li r31, 0x10
/* 801CF488 001CB0E8 48 00 04 24 */ b lbl_801CF8AC
lbl_801CF48C:
/* 801CF48C 001CB0EC 38 00 00 0E */ li r0, 0xe
/* 801CF490 001CB0F0 7C 17 00 40 */ cmplw r23, r0
/* 801CF494 001CB0F4 40 80 00 BC */ bge lbl_801CF550
/* 801CF498 001CB0F8 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF49C 001CB0FC 2C 04 00 00 */ cmpwi r4, 0
/* 801CF4A0 001CB100 7C 00 C2 14 */ add r0, r0, r24
/* 801CF4A4 001CB104 38 60 00 00 */ li r3, 0
/* 801CF4A8 001CB108 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF4AC 001CB10C 3A F7 00 01 */ addi r23, r23, 1
/* 801CF4B0 001CB110 7C 1A 00 AE */ lbzx r0, r26, r0
/* 801CF4B4 001CB114 41 80 00 0C */ blt lbl_801CF4C0
/* 801CF4B8 001CB118 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF4BC 001CB11C 41 80 00 08 */ blt lbl_801CF4C4
lbl_801CF4C0:
/* 801CF4C0 001CB120 38 60 00 01 */ li r3, 1
lbl_801CF4C4:
/* 801CF4C4 001CB124 2C 03 00 00 */ cmpwi r3, 0
/* 801CF4C8 001CB128 41 82 00 08 */ beq lbl_801CF4D0
/* 801CF4CC 001CB12C 48 00 00 10 */ b lbl_801CF4DC
lbl_801CF4D0:
/* 801CF4D0 001CB130 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF4D4 001CB134 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF4D8 001CB138 7C 83 20 AE */ lbzx r4, r3, r4
lbl_801CF4DC:
/* 801CF4DC 001CB13C 2C 04 00 41 */ cmpwi r4, 0x41
/* 801CF4E0 001CB140 38 C4 FF D0 */ addi r6, r4, -48
/* 801CF4E4 001CB144 41 80 00 08 */ blt lbl_801CF4EC
/* 801CF4E8 001CB148 38 C4 FF C9 */ addi r6, r4, -55
lbl_801CF4EC:
/* 801CF4EC 001CB14C 57 05 0F FE */ srwi r5, r24, 0x1f
/* 801CF4F0 001CB150 57 03 07 FE */ clrlwi r3, r24, 0x1f
/* 801CF4F4 001CB154 7C 64 2A 78 */ xor r4, r3, r5
/* 801CF4F8 001CB158 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b
/* 801CF4FC 001CB15C 7C 85 20 51 */ subf. r4, r5, r4
/* 801CF500 001CB160 7C 03 1B 78 */ or r3, r0, r3
/* 801CF504 001CB164 54 C4 06 3E */ clrlwi r4, r6, 0x18
/* 801CF508 001CB168 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 801CF50C 001CB16C 41 82 00 0C */ beq lbl_801CF518
/* 801CF510 001CB170 7C 00 23 78 */ or r0, r0, r4
/* 801CF514 001CB174 54 05 06 3E */ clrlwi r5, r0, 0x18
lbl_801CF518:
/* 801CF518 001CB178 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF51C 001CB17C 7E 4C 93 78 */ mr r12, r18
/* 801CF520 001CB180 7C 00 C2 14 */ add r0, r0, r24
/* 801CF524 001CB184 7E 63 9B 78 */ mr r3, r19
/* 801CF528 001CB188 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF52C 001CB18C 38 80 00 00 */ li r4, 0
/* 801CF530 001CB190 7C BA 01 AE */ stbx r5, r26, r0
/* 801CF534 001CB194 38 A0 00 00 */ li r5, 0
/* 801CF538 001CB198 7D 89 03 A6 */ mtctr r12
/* 801CF53C 001CB19C 3B 18 00 01 */ addi r24, r24, 1
/* 801CF540 001CB1A0 3B DE 00 01 */ addi r30, r30, 1
/* 801CF544 001CB1A4 4E 80 04 21 */ bctrl
/* 801CF548 001CB1A8 7C 64 1B 78 */ mr r4, r3
/* 801CF54C 001CB1AC 48 00 03 60 */ b lbl_801CF8AC
lbl_801CF550:
/* 801CF550 001CB1B0 7E 4C 93 78 */ mr r12, r18
/* 801CF554 001CB1B4 7E 63 9B 78 */ mr r3, r19
/* 801CF558 001CB1B8 38 80 00 00 */ li r4, 0
/* 801CF55C 001CB1BC 38 A0 00 00 */ li r5, 0
/* 801CF560 001CB1C0 7D 89 03 A6 */ mtctr r12
/* 801CF564 001CB1C4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF568 001CB1C8 4E 80 04 21 */ bctrl
/* 801CF56C 001CB1CC 7C 64 1B 78 */ mr r4, r3
/* 801CF570 001CB1D0 48 00 03 3C */ b lbl_801CF8AC
lbl_801CF574:
/* 801CF574 001CB1D4 2C 04 00 00 */ cmpwi r4, 0
/* 801CF578 001CB1D8 38 00 00 00 */ li r0, 0
/* 801CF57C 001CB1DC 41 80 00 0C */ blt lbl_801CF588
/* 801CF580 001CB1E0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF584 001CB1E4 41 80 00 08 */ blt lbl_801CF58C
lbl_801CF588:
/* 801CF588 001CB1E8 38 00 00 01 */ li r0, 1
lbl_801CF58C:
/* 801CF58C 001CB1EC 2C 00 00 00 */ cmpwi r0, 0
/* 801CF590 001CB1F0 41 82 00 0C */ beq lbl_801CF59C
/* 801CF594 001CB1F4 38 00 00 00 */ li r0, 0
/* 801CF598 001CB1F8 48 00 00 18 */ b lbl_801CF5B0
lbl_801CF59C:
/* 801CF59C 001CB1FC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF5A0 001CB200 54 80 08 3C */ slwi r0, r4, 1
/* 801CF5A4 001CB204 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF5A8 001CB208 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF5AC 001CB20C 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
lbl_801CF5B0:
/* 801CF5B0 001CB210 2C 00 00 00 */ cmpwi r0, 0
/* 801CF5B4 001CB214 40 82 00 0C */ bne lbl_801CF5C0
/* 801CF5B8 001CB218 3B E0 00 10 */ li r31, 0x10
/* 801CF5BC 001CB21C 48 00 02 F0 */ b lbl_801CF8AC
lbl_801CF5C0:
/* 801CF5C0 001CB220 38 00 00 0E */ li r0, 0xe
/* 801CF5C4 001CB224 7C 17 00 40 */ cmplw r23, r0
/* 801CF5C8 001CB228 40 80 00 B8 */ bge lbl_801CF680
/* 801CF5CC 001CB22C 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF5D0 001CB230 2C 04 00 00 */ cmpwi r4, 0
/* 801CF5D4 001CB234 7C 00 C2 14 */ add r0, r0, r24
/* 801CF5D8 001CB238 38 60 00 00 */ li r3, 0
/* 801CF5DC 001CB23C 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF5E0 001CB240 7C 1A 00 AE */ lbzx r0, r26, r0
/* 801CF5E4 001CB244 41 80 00 0C */ blt lbl_801CF5F0
/* 801CF5E8 001CB248 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF5EC 001CB24C 41 80 00 08 */ blt lbl_801CF5F4
lbl_801CF5F0:
/* 801CF5F0 001CB250 38 60 00 01 */ li r3, 1
lbl_801CF5F4:
/* 801CF5F4 001CB254 2C 03 00 00 */ cmpwi r3, 0
/* 801CF5F8 001CB258 41 82 00 08 */ beq lbl_801CF600
/* 801CF5FC 001CB25C 48 00 00 10 */ b lbl_801CF60C
lbl_801CF600:
/* 801CF600 001CB260 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF604 001CB264 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF608 001CB268 7C 83 20 AE */ lbzx r4, r3, r4
lbl_801CF60C:
/* 801CF60C 001CB26C 2C 04 00 41 */ cmpwi r4, 0x41
/* 801CF610 001CB270 38 C4 FF D0 */ addi r6, r4, -48
/* 801CF614 001CB274 41 80 00 08 */ blt lbl_801CF61C
/* 801CF618 001CB278 38 C4 FF C9 */ addi r6, r4, -55
lbl_801CF61C:
/* 801CF61C 001CB27C 57 05 0F FE */ srwi r5, r24, 0x1f
/* 801CF620 001CB280 57 03 07 FE */ clrlwi r3, r24, 0x1f
/* 801CF624 001CB284 7C 64 2A 78 */ xor r4, r3, r5
/* 801CF628 001CB288 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b
/* 801CF62C 001CB28C 7C 85 20 51 */ subf. r4, r5, r4
/* 801CF630 001CB290 7C 03 1B 78 */ or r3, r0, r3
/* 801CF634 001CB294 54 C4 06 3E */ clrlwi r4, r6, 0x18
/* 801CF638 001CB298 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 801CF63C 001CB29C 41 82 00 0C */ beq lbl_801CF648
/* 801CF640 001CB2A0 7C 00 23 78 */ or r0, r0, r4
/* 801CF644 001CB2A4 54 05 06 3E */ clrlwi r5, r0, 0x18
lbl_801CF648:
/* 801CF648 001CB2A8 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF64C 001CB2AC 7E 4C 93 78 */ mr r12, r18
/* 801CF650 001CB2B0 7C 00 C2 14 */ add r0, r0, r24
/* 801CF654 001CB2B4 7E 63 9B 78 */ mr r3, r19
/* 801CF658 001CB2B8 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF65C 001CB2BC 38 80 00 00 */ li r4, 0
/* 801CF660 001CB2C0 7C BA 01 AE */ stbx r5, r26, r0
/* 801CF664 001CB2C4 38 A0 00 00 */ li r5, 0
/* 801CF668 001CB2C8 7D 89 03 A6 */ mtctr r12
/* 801CF66C 001CB2CC 3B 18 00 01 */ addi r24, r24, 1
/* 801CF670 001CB2D0 3B DE 00 01 */ addi r30, r30, 1
/* 801CF674 001CB2D4 4E 80 04 21 */ bctrl
/* 801CF678 001CB2D8 7C 64 1B 78 */ mr r4, r3
/* 801CF67C 001CB2DC 48 00 02 30 */ b lbl_801CF8AC
lbl_801CF680:
/* 801CF680 001CB2E0 7E 4C 93 78 */ mr r12, r18
/* 801CF684 001CB2E4 7E 63 9B 78 */ mr r3, r19
/* 801CF688 001CB2E8 38 80 00 00 */ li r4, 0
/* 801CF68C 001CB2EC 38 A0 00 00 */ li r5, 0
/* 801CF690 001CB2F0 7D 89 03 A6 */ mtctr r12
/* 801CF694 001CB2F4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF698 001CB2F8 4E 80 04 21 */ bctrl
/* 801CF69C 001CB2FC 7C 64 1B 78 */ mr r4, r3
/* 801CF6A0 001CB300 48 00 02 0C */ b lbl_801CF8AC
lbl_801CF6A4:
/* 801CF6A4 001CB304 2C 04 00 00 */ cmpwi r4, 0
/* 801CF6A8 001CB308 38 00 00 00 */ li r0, 0
/* 801CF6AC 001CB30C 41 80 00 0C */ blt lbl_801CF6B8
/* 801CF6B0 001CB310 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF6B4 001CB314 41 80 00 08 */ blt lbl_801CF6BC
lbl_801CF6B8:
/* 801CF6B8 001CB318 38 00 00 01 */ li r0, 1
lbl_801CF6BC:
/* 801CF6BC 001CB31C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF6C0 001CB320 41 82 00 0C */ beq lbl_801CF6CC
/* 801CF6C4 001CB324 7C 80 23 78 */ mr r0, r4
/* 801CF6C8 001CB328 48 00 00 10 */ b lbl_801CF6D8
lbl_801CF6CC:
/* 801CF6CC 001CB32C 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF6D0 001CB330 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF6D4 001CB334 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CF6D8:
/* 801CF6D8 001CB338 2C 00 00 50 */ cmpwi r0, 0x50
/* 801CF6DC 001CB33C 40 82 00 2C */ bne lbl_801CF708
/* 801CF6E0 001CB340 7E 4C 93 78 */ mr r12, r18
/* 801CF6E4 001CB344 7E 63 9B 78 */ mr r3, r19
/* 801CF6E8 001CB348 3B E0 00 20 */ li r31, 0x20
/* 801CF6EC 001CB34C 38 80 00 00 */ li r4, 0
/* 801CF6F0 001CB350 38 A0 00 00 */ li r5, 0
/* 801CF6F4 001CB354 7D 89 03 A6 */ mtctr r12
/* 801CF6F8 001CB358 3B DE 00 01 */ addi r30, r30, 1
/* 801CF6FC 001CB35C 4E 80 04 21 */ bctrl
/* 801CF700 001CB360 7C 64 1B 78 */ mr r4, r3
/* 801CF704 001CB364 48 00 01 A8 */ b lbl_801CF8AC
lbl_801CF708:
/* 801CF708 001CB368 3A 20 08 00 */ li r17, 0x800
/* 801CF70C 001CB36C 48 00 01 A0 */ b lbl_801CF8AC
lbl_801CF710:
/* 801CF710 001CB370 2C 04 00 2D */ cmpwi r4, 0x2d
/* 801CF714 001CB374 40 82 00 10 */ bne lbl_801CF724
/* 801CF718 001CB378 38 00 00 01 */ li r0, 1
/* 801CF71C 001CB37C 90 01 00 84 */ stw r0, 0x84(r1)
/* 801CF720 001CB380 48 00 00 24 */ b lbl_801CF744
lbl_801CF724:
/* 801CF724 001CB384 2C 04 00 2B */ cmpwi r4, 0x2b
/* 801CF728 001CB388 41 82 00 1C */ beq lbl_801CF744
/* 801CF72C 001CB38C 7E 4C 93 78 */ mr r12, r18
/* 801CF730 001CB390 7E 63 9B 78 */ mr r3, r19
/* 801CF734 001CB394 38 A0 00 01 */ li r5, 1
/* 801CF738 001CB398 7D 89 03 A6 */ mtctr r12
/* 801CF73C 001CB39C 4E 80 04 21 */ bctrl
/* 801CF740 001CB3A0 3B DE FF FF */ addi r30, r30, -1
lbl_801CF744:
/* 801CF744 001CB3A4 7E 4C 93 78 */ mr r12, r18
/* 801CF748 001CB3A8 7E 63 9B 78 */ mr r3, r19
/* 801CF74C 001CB3AC 3B E0 00 40 */ li r31, 0x40
/* 801CF750 001CB3B0 38 80 00 00 */ li r4, 0
/* 801CF754 001CB3B4 38 A0 00 00 */ li r5, 0
/* 801CF758 001CB3B8 7D 89 03 A6 */ mtctr r12
/* 801CF75C 001CB3BC 3B DE 00 01 */ addi r30, r30, 1
/* 801CF760 001CB3C0 4E 80 04 21 */ bctrl
/* 801CF764 001CB3C4 7C 64 1B 78 */ mr r4, r3
/* 801CF768 001CB3C8 48 00 01 44 */ b lbl_801CF8AC
lbl_801CF76C:
/* 801CF76C 001CB3CC 2C 04 00 00 */ cmpwi r4, 0
/* 801CF770 001CB3D0 38 00 00 00 */ li r0, 0
/* 801CF774 001CB3D4 41 80 00 0C */ blt lbl_801CF780
/* 801CF778 001CB3D8 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF77C 001CB3DC 41 80 00 08 */ blt lbl_801CF784
lbl_801CF780:
/* 801CF780 001CB3E0 38 00 00 01 */ li r0, 1
lbl_801CF784:
/* 801CF784 001CB3E4 2C 00 00 00 */ cmpwi r0, 0
/* 801CF788 001CB3E8 41 82 00 0C */ beq lbl_801CF794
/* 801CF78C 001CB3EC 38 00 00 00 */ li r0, 0
/* 801CF790 001CB3F0 48 00 00 18 */ b lbl_801CF7A8
lbl_801CF794:
/* 801CF794 001CB3F4 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF798 001CB3F8 54 80 08 3C */ slwi r0, r4, 1
/* 801CF79C 001CB3FC 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF7A0 001CB400 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF7A4 001CB404 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF7A8:
/* 801CF7A8 001CB408 2C 00 00 00 */ cmpwi r0, 0
/* 801CF7AC 001CB40C 40 82 00 0C */ bne lbl_801CF7B8
/* 801CF7B0 001CB410 3A 20 10 00 */ li r17, 0x1000
/* 801CF7B4 001CB414 48 00 00 F8 */ b lbl_801CF8AC
lbl_801CF7B8:
/* 801CF7B8 001CB418 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF7BC 001CB41C 40 82 00 2C */ bne lbl_801CF7E8
/* 801CF7C0 001CB420 7E 4C 93 78 */ mr r12, r18
/* 801CF7C4 001CB424 7E 63 9B 78 */ mr r3, r19
/* 801CF7C8 001CB428 3B E0 00 80 */ li r31, 0x80
/* 801CF7CC 001CB42C 38 80 00 00 */ li r4, 0
/* 801CF7D0 001CB430 38 A0 00 00 */ li r5, 0
/* 801CF7D4 001CB434 7D 89 03 A6 */ mtctr r12
/* 801CF7D8 001CB438 3B DE 00 01 */ addi r30, r30, 1
/* 801CF7DC 001CB43C 4E 80 04 21 */ bctrl
/* 801CF7E0 001CB440 7C 64 1B 78 */ mr r4, r3
/* 801CF7E4 001CB444 48 00 00 C8 */ b lbl_801CF8AC
lbl_801CF7E8:
/* 801CF7E8 001CB448 3B E0 01 00 */ li r31, 0x100
/* 801CF7EC 001CB44C 48 00 00 C0 */ b lbl_801CF8AC
lbl_801CF7F0:
/* 801CF7F0 001CB450 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF7F4 001CB454 40 82 00 28 */ bne lbl_801CF81C
/* 801CF7F8 001CB458 7E 4C 93 78 */ mr r12, r18
/* 801CF7FC 001CB45C 7E 63 9B 78 */ mr r3, r19
/* 801CF800 001CB460 38 80 00 00 */ li r4, 0
/* 801CF804 001CB464 38 A0 00 00 */ li r5, 0
/* 801CF808 001CB468 7D 89 03 A6 */ mtctr r12
/* 801CF80C 001CB46C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF810 001CB470 4E 80 04 21 */ bctrl
/* 801CF814 001CB474 7C 64 1B 78 */ mr r4, r3
/* 801CF818 001CB478 48 00 00 94 */ b lbl_801CF8AC
lbl_801CF81C:
/* 801CF81C 001CB47C 3B E0 01 00 */ li r31, 0x100
/* 801CF820 001CB480 48 00 00 8C */ b lbl_801CF8AC
lbl_801CF824:
/* 801CF824 001CB484 2C 04 00 00 */ cmpwi r4, 0
/* 801CF828 001CB488 38 00 00 00 */ li r0, 0
/* 801CF82C 001CB48C 41 80 00 0C */ blt lbl_801CF838
/* 801CF830 001CB490 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF834 001CB494 41 80 00 08 */ blt lbl_801CF83C
lbl_801CF838:
/* 801CF838 001CB498 38 00 00 01 */ li r0, 1
lbl_801CF83C:
/* 801CF83C 001CB49C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF840 001CB4A0 41 82 00 0C */ beq lbl_801CF84C
/* 801CF844 001CB4A4 38 00 00 00 */ li r0, 0
/* 801CF848 001CB4A8 48 00 00 18 */ b lbl_801CF860
lbl_801CF84C:
/* 801CF84C 001CB4AC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF850 001CB4B0 54 80 08 3C */ slwi r0, r4, 1
/* 801CF854 001CB4B4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF858 001CB4B8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF85C 001CB4BC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF860:
/* 801CF860 001CB4C0 2C 00 00 00 */ cmpwi r0, 0
/* 801CF864 001CB4C4 40 82 00 0C */ bne lbl_801CF870
/* 801CF868 001CB4C8 3A 20 08 00 */ li r17, 0x800
/* 801CF86C 001CB4CC 48 00 00 40 */ b lbl_801CF8AC
lbl_801CF870:
/* 801CF870 001CB4D0 1C 19 00 0A */ mulli r0, r25, 0xa
/* 801CF874 001CB4D4 2C 1D 7F FF */ cmpwi r29, 0x7fff
/* 801CF878 001CB4D8 7C 64 02 14 */ add r3, r4, r0
/* 801CF87C 001CB4DC 3B 23 FF D0 */ addi r25, r3, -48
/* 801CF880 001CB4E0 40 81 00 0C */ ble lbl_801CF88C
/* 801CF884 001CB4E4 38 00 00 01 */ li r0, 1
/* 801CF888 001CB4E8 90 14 00 00 */ stw r0, 0(r20)
lbl_801CF88C:
/* 801CF88C 001CB4EC 7E 4C 93 78 */ mr r12, r18
/* 801CF890 001CB4F0 7E 63 9B 78 */ mr r3, r19
/* 801CF894 001CB4F4 38 80 00 00 */ li r4, 0
/* 801CF898 001CB4F8 38 A0 00 00 */ li r5, 0
/* 801CF89C 001CB4FC 7D 89 03 A6 */ mtctr r12
/* 801CF8A0 001CB500 3B DE 00 01 */ addi r30, r30, 1
/* 801CF8A4 001CB504 4E 80 04 21 */ bctrl
/* 801CF8A8 001CB508 7C 64 1B 78 */ mr r4, r3
lbl_801CF8AC:
/* 801CF8AC 001CB50C 80 01 00 08 */ lwz r0, 8(r1)
/* 801CF8B0 001CB510 7C 1E 00 00 */ cmpw r30, r0
/* 801CF8B4 001CB514 41 81 00 14 */ bgt lbl_801CF8C8
/* 801CF8B8 001CB518 2C 04 FF FF */ cmpwi r4, -1
/* 801CF8BC 001CB51C 41 82 00 0C */ beq lbl_801CF8C8
/* 801CF8C0 001CB520 56 20 04 E9 */ rlwinm. r0, r17, 0, 0x13, 0x14
/* 801CF8C4 001CB524 41 82 F0 1C */ beq lbl_801CE8E0
lbl_801CF8C8:
/* 801CF8C8 001CB528 3C 11 00 00 */ addis r0, r17, 0
/* 801CF8CC 001CB52C 28 00 80 00 */ cmplwi r0, 0x8000
/* 801CF8D0 001CB530 41 82 00 14 */ beq lbl_801CF8E4
/* 801CF8D4 001CB534 72 20 0E 2C */ andi. r0, r17, 0xe2c
/* 801CF8D8 001CB538 7C 00 00 34 */ cntlzw r0, r0
/* 801CF8DC 001CB53C 54 03 D9 7E */ srwi r3, r0, 5
/* 801CF8E0 001CB540 48 00 00 20 */ b lbl_801CF900
lbl_801CF8E4:
/* 801CF8E4 001CB544 38 1E FF FF */ addi r0, r30, -1
/* 801CF8E8 001CB548 38 60 00 00 */ li r3, 0
/* 801CF8EC 001CB54C 2C 00 00 02 */ cmpwi r0, 2
/* 801CF8F0 001CB550 40 81 00 0C */ ble lbl_801CF8FC
/* 801CF8F4 001CB554 73 E0 01 8E */ andi. r0, r31, 0x18e
/* 801CF8F8 001CB558 40 82 00 08 */ bne lbl_801CF900
lbl_801CF8FC:
/* 801CF8FC 001CB55C 38 60 00 01 */ li r3, 1
lbl_801CF900:
/* 801CF900 001CB560 2C 03 00 00 */ cmpwi r3, 0
/* 801CF904 001CB564 41 82 00 14 */ beq lbl_801CF918
/* 801CF908 001CB568 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CF90C 001CB56C 38 00 00 00 */ li r0, 0
/* 801CF910 001CB570 90 03 00 00 */ stw r0, 0(r3)
/* 801CF914 001CB574 48 00 00 14 */ b lbl_801CF928
lbl_801CF918:
/* 801CF918 001CB578 7C 7E 72 14 */ add r3, r30, r14
/* 801CF91C 001CB57C 38 03 FF FF */ addi r0, r3, -1
/* 801CF920 001CB580 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CF924 001CB584 90 03 00 00 */ stw r0, 0(r3)
lbl_801CF928:
/* 801CF928 001CB588 7E 4C 93 78 */ mr r12, r18
/* 801CF92C 001CB58C 7E 63 9B 78 */ mr r3, r19
/* 801CF930 001CB590 38 A0 00 01 */ li r5, 1
/* 801CF934 001CB594 7D 89 03 A6 */ mtctr r12
/* 801CF938 001CB598 4E 80 04 21 */ bctrl
/* 801CF93C 001CB59C 2C 1F 00 00 */ cmpwi r31, 0
/* 801CF940 001CB5A0 40 82 01 30 */ bne lbl_801CFA70
/* 801CF944 001CB5A4 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 801CF948 001CB5A8 2C 00 00 00 */ cmpwi r0, 0
/* 801CF94C 001CB5AC 41 82 00 08 */ beq lbl_801CF954
/* 801CF950 001CB5B0 7F BD 00 D0 */ neg r29, r29
lbl_801CF954:
/* 801CF954 001CB5B4 88 61 00 5C */ lbz r3, 0x5c(r1)
/* 801CF958 001CB5B8 38 81 00 5D */ addi r4, r1, 0x5d
/* 801CF95C 001CB5BC 7C 84 1A 14 */ add r4, r4, r3
/* 801CF960 001CB5C0 48 00 00 08 */ b lbl_801CF968
lbl_801CF964:
/* 801CF964 001CB5C4 3B 9C 00 01 */ addi r28, r28, 1
lbl_801CF968:
/* 801CF968 001CB5C8 2C 03 00 00 */ cmpwi r3, 0
/* 801CF96C 001CB5CC 38 63 FF FF */ addi r3, r3, -1
/* 801CF970 001CB5D0 41 82 00 10 */ beq lbl_801CF980
/* 801CF974 001CB5D4 8C 04 FF FF */ lbzu r0, -1(r4)
/* 801CF978 001CB5D8 28 00 00 30 */ cmplwi r0, 0x30
/* 801CF97C 001CB5DC 41 82 FF E8 */ beq lbl_801CF964
lbl_801CF980:
/* 801CF980 001CB5E0 38 03 00 01 */ addi r0, r3, 1
/* 801CF984 001CB5E4 54 04 06 3F */ clrlwi. r4, r0, 0x18
/* 801CF988 001CB5E8 98 01 00 5C */ stb r0, 0x5c(r1)
/* 801CF98C 001CB5EC 40 82 00 18 */ bne lbl_801CF9A4
/* 801CF990 001CB5F0 38 61 00 5D */ addi r3, r1, 0x5d
/* 801CF994 001CB5F4 38 00 00 30 */ li r0, 0x30
/* 801CF998 001CB5F8 7C 03 21 AE */ stbx r0, r3, r4
/* 801CF99C 001CB5FC 38 04 00 01 */ addi r0, r4, 1
/* 801CF9A0 001CB600 98 01 00 5C */ stb r0, 0x5c(r1)
lbl_801CF9A4:
/* 801CF9A4 001CB604 7F BD E2 14 */ add r29, r29, r28
/* 801CF9A8 001CB608 2C 1D 80 00 */ cmpwi r29, -32768
/* 801CF9AC 001CB60C 41 80 00 0C */ blt lbl_801CF9B8
/* 801CF9B0 001CB610 2C 1D 7F FF */ cmpwi r29, 0x7fff
/* 801CF9B4 001CB614 40 81 00 0C */ ble lbl_801CF9C0
lbl_801CF9B8:
/* 801CF9B8 001CB618 38 00 00 01 */ li r0, 1
/* 801CF9BC 001CB61C 90 14 00 00 */ stw r0, 0(r20)
lbl_801CF9C0:
/* 801CF9C0 001CB620 80 14 00 00 */ lwz r0, 0(r20)
/* 801CF9C4 001CB624 2C 00 00 00 */ cmpwi r0, 0
/* 801CF9C8 001CB628 41 82 00 40 */ beq lbl_801CFA08
/* 801CF9CC 001CB62C 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 801CF9D0 001CB630 2C 00 00 00 */ cmpwi r0, 0
/* 801CF9D4 001CB634 41 82 00 0C */ beq lbl_801CF9E0
/* 801CF9D8 001CB638 C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2)
/* 801CF9DC 001CB63C 48 00 02 0C */ b lbl_801CFBE8
lbl_801CF9E0:
/* 801CF9E0 001CB640 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CF9E4 001CB644 2C 00 00 00 */ cmpwi r0, 0
/* 801CF9E8 001CB648 41 82 00 14 */ beq lbl_801CF9FC
/* 801CF9EC 001CB64C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
/* 801CF9F0 001CB650 C8 03 D6 C0 */ lfd f0, lbl_8063D6C0@l(r3)
/* 801CF9F4 001CB654 FC 20 00 50 */ fneg f1, f0
/* 801CF9F8 001CB658 48 00 01 F0 */ b lbl_801CFBE8
lbl_801CF9FC:
/* 801CF9FC 001CB65C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
/* 801CFA00 001CB660 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3)
/* 801CFA04 001CB664 48 00 01 E4 */ b lbl_801CFBE8
lbl_801CFA08:
/* 801CFA08 001CB668 B3 A1 00 5A */ sth r29, 0x5a(r1)
/* 801CFA0C 001CB66C 38 61 00 58 */ addi r3, r1, 0x58
/* 801CFA10 001CB670 4B FF 91 D9 */ bl func_801C8BE8
/* 801CFA14 001CB674 C8 02 91 60 */ lfd f0, lbl_80641760-_SDA2_BASE_(r2)
/* 801CFA18 001CB678 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 801CFA1C 001CB67C 41 82 00 1C */ beq lbl_801CFA38
/* 801CFA20 001CB680 C8 02 91 68 */ lfd f0, lbl_80641768-_SDA2_BASE_(r2)
/* 801CFA24 001CB684 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801CFA28 001CB688 40 80 00 10 */ bge lbl_801CFA38
/* 801CFA2C 001CB68C 38 00 00 01 */ li r0, 1
/* 801CFA30 001CB690 90 14 00 00 */ stw r0, 0(r20)
/* 801CFA34 001CB694 48 00 00 20 */ b lbl_801CFA54
lbl_801CFA38:
/* 801CFA38 001CB698 C8 02 91 70 */ lfd f0, lbl_80641770-_SDA2_BASE_(r2)
/* 801CFA3C 001CB69C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801CFA40 001CB6A0 40 81 00 14 */ ble lbl_801CFA54
/* 801CFA44 001CB6A4 38 00 00 01 */ li r0, 1
/* 801CFA48 001CB6A8 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
/* 801CFA4C 001CB6AC 90 14 00 00 */ stw r0, 0(r20)
/* 801CFA50 001CB6B0 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3)
lbl_801CFA54:
/* 801CFA54 001CB6B4 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CFA58 001CB6B8 2C 00 00 00 */ cmpwi r0, 0
/* 801CFA5C 001CB6BC 41 82 01 8C */ beq lbl_801CFBE8
/* 801CFA60 001CB6C0 72 20 0E 2C */ andi. r0, r17, 0xe2c
/* 801CFA64 001CB6C4 41 82 01 84 */ beq lbl_801CFBE8
/* 801CFA68 001CB6C8 FC 20 08 50 */ fneg f1, f1
/* 801CFA6C 001CB6CC 48 00 01 7C */ b lbl_801CFBE8
lbl_801CFA70:
/* 801CFA70 001CB6D0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801CFA74 001CB6D4 38 61 00 10 */ addi r3, r1, 0x10
/* 801CFA78 001CB6D8 2C 00 00 00 */ cmpwi r0, 0
/* 801CFA7C 001CB6DC 41 82 00 08 */ beq lbl_801CFA84
/* 801CFA80 001CB6E0 7F 39 00 D0 */ neg r25, r25
lbl_801CFA84:
/* 801CFA84 001CB6E4 56 E0 10 3A */ slwi r0, r23, 2
/* 801CFA88 001CB6E8 88 A1 00 20 */ lbz r5, 0x20(r1)
/* 801CFA8C 001CB6EC 7F 39 02 14 */ add r25, r25, r0
/* 801CFA90 001CB6F0 38 C0 00 00 */ li r6, 0
/* 801CFA94 001CB6F4 38 80 00 80 */ li r4, 0x80
/* 801CFA98 001CB6F8 48 00 00 0C */ b lbl_801CFAA4
lbl_801CFA9C:
/* 801CFA9C 001CB6FC 38 C6 00 01 */ addi r6, r6, 1
/* 801CFAA0 001CB700 3B 39 FF FF */ addi r25, r25, -1
lbl_801CFAA4:
/* 801CFAA4 001CB704 28 06 00 04 */ cmplwi r6, 4
/* 801CFAA8 001CB708 40 80 00 10 */ bge lbl_801CFAB8
/* 801CFAAC 001CB70C 7C 80 36 30 */ sraw r0, r4, r6
/* 801CFAB0 001CB710 7C A0 00 39 */ and. r0, r5, r0
/* 801CFAB4 001CB714 41 82 FF E8 */ beq lbl_801CFA9C
lbl_801CFAB8:
/* 801CFAB8 001CB718 34 A6 00 01 */ addic. r5, r6, 1
/* 801CFABC 001CB71C 41 82 00 4C */ beq lbl_801CFB08
/* 801CFAC0 001CB720 3B 41 00 27 */ addi r26, r1, 0x27
/* 801CFAC4 001CB724 38 81 00 20 */ addi r4, r1, 0x20
/* 801CFAC8 001CB728 7C 1A 20 40 */ cmplw r26, r4
/* 801CFACC 001CB72C 38 E0 00 00 */ li r7, 0
/* 801CFAD0 001CB730 41 80 00 38 */ blt lbl_801CFB08
/* 801CFAD4 001CB734 38 1A 00 01 */ addi r0, r26, 1
/* 801CFAD8 001CB738 20 C5 00 08 */ subfic r6, r5, 8
/* 801CFADC 001CB73C 7C 04 00 50 */ subf r0, r4, r0
/* 801CFAE0 001CB740 7C 09 03 A6 */ mtctr r0
/* 801CFAE4 001CB744 41 80 00 24 */ blt lbl_801CFB08
lbl_801CFAE8:
/* 801CFAE8 001CB748 88 1A 00 00 */ lbz r0, 0(r26)
/* 801CFAEC 001CB74C 7C 04 28 30 */ slw r4, r0, r5
/* 801CFAF0 001CB750 7C 00 36 30 */ sraw r0, r0, r6
/* 801CFAF4 001CB754 7C E4 23 78 */ or r4, r7, r4
/* 801CFAF8 001CB758 98 9A 00 00 */ stb r4, 0(r26)
/* 801CFAFC 001CB75C 54 07 06 3E */ clrlwi r7, r0, 0x18
/* 801CFB00 001CB760 3B 5A FF FF */ addi r26, r26, -1
/* 801CFB04 001CB764 42 00 FF E4 */ bdnz lbl_801CFAE8
lbl_801CFB08:
/* 801CFB08 001CB768 38 80 00 00 */ li r4, 0
/* 801CFB0C 001CB76C 38 A0 00 08 */ li r5, 8
/* 801CFB10 001CB770 4B E3 45 F5 */ bl memset
/* 801CFB14 001CB774 38 00 00 07 */ li r0, 7
/* 801CFB18 001CB778 38 81 00 20 */ addi r4, r1, 0x20
/* 801CFB1C 001CB77C 38 61 00 11 */ addi r3, r1, 0x11
/* 801CFB20 001CB780 39 00 00 00 */ li r8, 0
/* 801CFB24 001CB784 38 E0 00 FF */ li r7, 0xff
/* 801CFB28 001CB788 7C 09 03 A6 */ mtctr r0
lbl_801CFB2C:
/* 801CFB2C 001CB78C 38 08 00 08 */ addi r0, r8, 8
/* 801CFB30 001CB790 89 24 00 00 */ lbz r9, 0(r4)
/* 801CFB34 001CB794 28 00 00 34 */ cmplwi r0, 0x34
/* 801CFB38 001CB798 38 A8 00 0C */ addi r5, r8, 0xc
/* 801CFB3C 001CB79C 40 81 00 14 */ ble lbl_801CFB50
/* 801CFB40 001CB7A0 20 08 00 34 */ subfic r0, r8, 0x34
/* 801CFB44 001CB7A4 7C E0 00 30 */ slw r0, r7, r0
/* 801CFB48 001CB7A8 7D 20 00 38 */ and r0, r9, r0
/* 801CFB4C 001CB7AC 54 09 06 3E */ clrlwi r9, r0, 0x18
lbl_801CFB50:
/* 801CFB50 001CB7B0 54 AA 07 7E */ clrlwi r10, r5, 0x1d
/* 801CFB54 001CB7B4 88 C3 00 00 */ lbz r6, 0(r3)
/* 801CFB58 001CB7B8 7D 20 56 30 */ sraw r0, r9, r10
/* 801CFB5C 001CB7BC 38 84 00 01 */ addi r4, r4, 1
/* 801CFB60 001CB7C0 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 801CFB64 001CB7C4 39 08 00 08 */ addi r8, r8, 8
/* 801CFB68 001CB7C8 7C C5 2B 78 */ or r5, r6, r5
/* 801CFB6C 001CB7CC 20 0A 00 08 */ subfic r0, r10, 8
/* 801CFB70 001CB7D0 98 A3 00 00 */ stb r5, 0(r3)
/* 801CFB74 001CB7D4 7D 20 00 30 */ slw r0, r9, r0
/* 801CFB78 001CB7D8 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CFB7C 001CB7DC 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CFB80 001CB7E0 7C A0 03 78 */ or r0, r5, r0
/* 801CFB84 001CB7E4 98 03 00 00 */ stb r0, 0(r3)
/* 801CFB88 001CB7E8 42 00 FF A4 */ bdnz lbl_801CFB2C
/* 801CFB8C 001CB7EC 3B 39 03 FE */ addi r25, r25, 0x3fe
/* 801CFB90 001CB7F0 57 20 00 29 */ rlwinm. r0, r25, 0, 0, 0x14
/* 801CFB94 001CB7F4 41 82 00 14 */ beq lbl_801CFBA8
/* 801CFB98 001CB7F8 38 00 00 01 */ li r0, 1
/* 801CFB9C 001CB7FC C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2)
/* 801CFBA0 001CB800 90 14 00 00 */ stw r0, 0(r20)
/* 801CFBA4 001CB804 48 00 00 44 */ b lbl_801CFBE8
lbl_801CFBA8:
/* 801CFBA8 001CB808 57 39 A8 14 */ slwi r25, r25, 0x15
/* 801CFBAC 001CB80C 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CFBB0 001CB810 88 C1 00 10 */ lbz r6, 0x10(r1)
/* 801CFBB4 001CB814 57 25 3E 7E */ srwi r5, r25, 0x19
/* 801CFBB8 001CB818 88 81 00 11 */ lbz r4, 0x11(r1)
/* 801CFBBC 001CB81C 57 23 7C 7E */ srwi r3, r25, 0x11
/* 801CFBC0 001CB820 2C 00 00 00 */ cmpwi r0, 0
/* 801CFBC4 001CB824 7C C5 2B 78 */ or r5, r6, r5
/* 801CFBC8 001CB828 7C 80 1B 78 */ or r0, r4, r3
/* 801CFBCC 001CB82C 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801CFBD0 001CB830 98 01 00 11 */ stb r0, 0x11(r1)
/* 801CFBD4 001CB834 41 82 00 10 */ beq lbl_801CFBE4
/* 801CFBD8 001CB838 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 801CFBDC 001CB83C 60 00 00 80 */ ori r0, r0, 0x80
/* 801CFBE0 001CB840 98 01 00 10 */ stb r0, 0x10(r1)
lbl_801CFBE4:
/* 801CFBE4 001CB844 C8 21 00 10 */ lfd f1, 0x10(r1)
lbl_801CFBE8:
/* 801CFBE8 001CB848 39 61 00 E0 */ addi r11, r1, 0xe0
/* 801CFBEC 001CB84C 4B FF 75 55 */ bl __restore_gpr
/* 801CFBF0 001CB850 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 801CFBF4 001CB854 7C 08 03 A6 */ mtlr r0
/* 801CFBF8 001CB858 38 21 00 E0 */ addi r1, r1, 0xe0
/* 801CFBFC 001CB85C 4E 80 00 20 */ blr
.global func_801CFC00
func_801CFC00:
/* 801CFC00 001CB860 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801CFC04 001CB864 7C 08 02 A6 */ mflr r0
/* 801CFC08 001CB868 3C 80 80 1D */ lis r4, lbl_801CE178@ha
/* 801CFC0C 001CB86C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CFC10 001CB870 38 00 00 00 */ li r0, 0
/* 801CFC14 001CB874 38 84 E1 78 */ addi r4, r4, lbl_801CE178@l
/* 801CFC18 001CB878 38 A1 00 10 */ addi r5, r1, 0x10
/* 801CFC1C 001CB87C 90 61 00 10 */ stw r3, 0x10(r1)
/* 801CFC20 001CB880 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
/* 801CFC24 001CB884 38 63 FF FF */ addi r3, r3, 0x7FFFFFFF@l
/* 801CFC28 001CB888 38 C1 00 08 */ addi r6, r1, 8
/* 801CFC2C 001CB88C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CFC30 001CB890 38 E1 00 0C */ addi r7, r1, 0xc
/* 801CFC34 001CB894 4B FF EB D9 */ bl func_801CE80C
/* 801CFC38 001CB898 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801CFC3C 001CB89C FC 40 0A 10 */ fabs f2, f1
/* 801CFC40 001CB8A0 2C 00 00 00 */ cmpwi r0, 0
/* 801CFC44 001CB8A4 40 82 00 28 */ bne lbl_801CFC6C
/* 801CFC48 001CB8A8 C8 02 91 78 */ lfd f0, lbl_80641778-_SDA2_BASE_(r2)
/* 801CFC4C 001CB8AC FC 00 08 00 */ fcmpu cr0, f0, f1
/* 801CFC50 001CB8B0 41 82 00 24 */ beq lbl_801CFC74
/* 801CFC54 001CB8B4 C8 02 91 80 */ lfd f0, lbl_80641780-_SDA2_BASE_(r2)
/* 801CFC58 001CB8B8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801CFC5C 001CB8BC 41 80 00 10 */ blt lbl_801CFC6C
/* 801CFC60 001CB8C0 C8 02 91 88 */ lfd f0, lbl_80641788-_SDA2_BASE_(r2)
/* 801CFC64 001CB8C4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801CFC68 001CB8C8 40 81 00 0C */ ble lbl_801CFC74
lbl_801CFC6C:
/* 801CFC6C 001CB8CC 38 00 00 22 */ li r0, 0x22
/* 801CFC70 001CB8D0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
lbl_801CFC74:
/* 801CFC74 001CB8D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801CFC78 001CB8D8 7C 08 03 A6 */ mtlr r0
/* 801CFC7C 001CB8DC 38 21 00 20 */ addi r1, r1, 0x20
/* 801CFC80 001CB8E0 4E 80 00 20 */ blr
.global func_801CFC84
func_801CFC84:
/* 801CFC84 001CB8E4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801CFC88 001CB8E8 7C 08 02 A6 */ mflr r0
/* 801CFC8C 001CB8EC 2C 03 00 00 */ cmpwi r3, 0
/* 801CFC90 001CB8F0 90 01 00 54 */ stw r0, 0x54(r1)
/* 801CFC94 001CB8F4 BE 01 00 10 */ stmw r16, 0x10(r1)
/* 801CFC98 001CB8F8 3B 40 00 00 */ li r26, 0
/* 801CFC9C 001CB8FC 7C 70 1B 78 */ mr r16, r3
/* 801CFCA0 001CB900 7C 91 23 78 */ mr r17, r4
/* 801CFCA4 001CB904 7C B2 2B 78 */ mr r18, r5
/* 801CFCA8 001CB908 7C D3 33 78 */ mr r19, r6
/* 801CFCAC 001CB90C 7C F4 3B 78 */ mr r20, r7
/* 801CFCB0 001CB910 7D 15 43 78 */ mr r21, r8
/* 801CFCB4 001CB914 7D 36 4B 78 */ mr r22, r9
/* 801CFCB8 001CB918 3B 60 00 01 */ li r27, 1
/* 801CFCBC 001CB91C 3B 20 00 00 */ li r25, 0
/* 801CFCC0 001CB920 3B 00 00 00 */ li r24, 0
/* 801CFCC4 001CB924 3A E0 00 00 */ li r23, 0
/* 801CFCC8 001CB928 93 49 00 00 */ stw r26, 0(r9)
/* 801CFCCC 001CB92C 93 48 00 00 */ stw r26, 0(r8)
/* 801CFCD0 001CB930 41 80 00 1C */ blt lbl_801CFCEC
/* 801CFCD4 001CB934 2C 03 00 01 */ cmpwi r3, 1
/* 801CFCD8 001CB938 41 82 00 14 */ beq lbl_801CFCEC
/* 801CFCDC 001CB93C 2C 03 00 24 */ cmpwi r3, 0x24
/* 801CFCE0 001CB940 41 81 00 0C */ bgt lbl_801CFCEC
/* 801CFCE4 001CB944 2C 04 00 01 */ cmpwi r4, 1
/* 801CFCE8 001CB948 40 80 00 0C */ bge lbl_801CFCF4
lbl_801CFCEC:
/* 801CFCEC 001CB94C 3B 60 00 40 */ li r27, 0x40
/* 801CFCF0 001CB950 48 00 00 24 */ b lbl_801CFD14
lbl_801CFCF4:
/* 801CFCF4 001CB954 7E 4C 93 78 */ mr r12, r18
/* 801CFCF8 001CB958 7E 63 9B 78 */ mr r3, r19
/* 801CFCFC 001CB95C 38 80 00 00 */ li r4, 0
/* 801CFD00 001CB960 38 A0 00 00 */ li r5, 0
/* 801CFD04 001CB964 7D 89 03 A6 */ mtctr r12
/* 801CFD08 001CB968 3B 40 00 01 */ li r26, 1
/* 801CFD0C 001CB96C 4E 80 04 21 */ bctrl
/* 801CFD10 001CB970 7C 64 1B 78 */ mr r4, r3
lbl_801CFD14:
/* 801CFD14 001CB974 2C 10 00 00 */ cmpwi r16, 0
/* 801CFD18 001CB978 41 82 00 0C */ beq lbl_801CFD24
/* 801CFD1C 001CB97C 38 00 FF FF */ li r0, -1
/* 801CFD20 001CB980 7E E0 83 96 */ divwu r23, r0, r16
lbl_801CFD24:
/* 801CFD24 001CB984 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801CFD28 001CB988 3B C0 00 01 */ li r30, 1
/* 801CFD2C 001CB98C 3B E0 FF FF */ li r31, -1
/* 801CFD30 001CB990 3F 80 80 42 */ lis r28, 0x8042
/* 801CFD34 001CB994 3B A3 2D 48 */ addi r29, r3, lbl_80422D48@l
/* 801CFD38 001CB998 48 00 03 18 */ b lbl_801D0050
lbl_801CFD3C:
/* 801CFD3C 001CB99C 28 1B 00 10 */ cmplwi r27, 0x10
/* 801CFD40 001CB9A0 41 81 03 10 */ bgt lbl_801D0050
/* 801CFD44 001CB9A4 38 7C 31 00 */ addi r3, r28, 0x3100
/* 801CFD48 001CB9A8 57 60 10 3A */ slwi r0, r27, 2
/* 801CFD4C 001CB9AC 7C 63 00 2E */ lwzx r3, r3, r0
/* 801CFD50 001CB9B0 7C 69 03 A6 */ mtctr r3
/* 801CFD54 001CB9B4 4E 80 04 20 */ bctr
/* 801CFD58 001CB9B8 2C 04 00 00 */ cmpwi r4, 0
/* 801CFD5C 001CB9BC 38 00 00 00 */ li r0, 0
/* 801CFD60 001CB9C0 41 80 00 0C */ blt lbl_801CFD6C
/* 801CFD64 001CB9C4 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CFD68 001CB9C8 41 80 00 08 */ blt lbl_801CFD70
lbl_801CFD6C:
/* 801CFD6C 001CB9CC 38 00 00 01 */ li r0, 1
lbl_801CFD70:
/* 801CFD70 001CB9D0 2C 00 00 00 */ cmpwi r0, 0
/* 801CFD74 001CB9D4 41 82 00 0C */ beq lbl_801CFD80
/* 801CFD78 001CB9D8 38 00 00 00 */ li r0, 0
/* 801CFD7C 001CB9DC 48 00 00 18 */ b lbl_801CFD94
lbl_801CFD80:
/* 801CFD80 001CB9E0 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801CFD84 001CB9E4 54 80 08 3C */ slwi r0, r4, 1
/* 801CFD88 001CB9E8 80 63 00 08 */ lwz r3, 8(r3)
/* 801CFD8C 001CB9EC 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CFD90 001CB9F0 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CFD94:
/* 801CFD94 001CB9F4 2C 00 00 00 */ cmpwi r0, 0
/* 801CFD98 001CB9F8 41 82 00 28 */ beq lbl_801CFDC0
/* 801CFD9C 001CB9FC 7E 4C 93 78 */ mr r12, r18
/* 801CFDA0 001CBA00 7E 63 9B 78 */ mr r3, r19
/* 801CFDA4 001CBA04 38 80 00 00 */ li r4, 0
/* 801CFDA8 001CBA08 38 A0 00 00 */ li r5, 0
/* 801CFDAC 001CBA0C 7D 89 03 A6 */ mtctr r12
/* 801CFDB0 001CBA10 4E 80 04 21 */ bctrl
/* 801CFDB4 001CBA14 7C 64 1B 78 */ mr r4, r3
/* 801CFDB8 001CBA18 3B 39 00 01 */ addi r25, r25, 1
/* 801CFDBC 001CBA1C 48 00 02 94 */ b lbl_801D0050
lbl_801CFDC0:
/* 801CFDC0 001CBA20 2C 04 00 2B */ cmpwi r4, 0x2b
/* 801CFDC4 001CBA24 40 82 00 28 */ bne lbl_801CFDEC
/* 801CFDC8 001CBA28 7E 4C 93 78 */ mr r12, r18
/* 801CFDCC 001CBA2C 7E 63 9B 78 */ mr r3, r19
/* 801CFDD0 001CBA30 38 80 00 00 */ li r4, 0
/* 801CFDD4 001CBA34 38 A0 00 00 */ li r5, 0
/* 801CFDD8 001CBA38 7D 89 03 A6 */ mtctr r12
/* 801CFDDC 001CBA3C 3B 5A 00 01 */ addi r26, r26, 1
/* 801CFDE0 001CBA40 4E 80 04 21 */ bctrl
/* 801CFDE4 001CBA44 7C 64 1B 78 */ mr r4, r3
/* 801CFDE8 001CBA48 48 00 00 30 */ b lbl_801CFE18
lbl_801CFDEC:
/* 801CFDEC 001CBA4C 2C 04 00 2D */ cmpwi r4, 0x2d
/* 801CFDF0 001CBA50 40 82 00 28 */ bne lbl_801CFE18
/* 801CFDF4 001CBA54 7E 4C 93 78 */ mr r12, r18
/* 801CFDF8 001CBA58 7E 63 9B 78 */ mr r3, r19
/* 801CFDFC 001CBA5C 38 80 00 00 */ li r4, 0
/* 801CFE00 001CBA60 38 A0 00 00 */ li r5, 0
/* 801CFE04 001CBA64 7D 89 03 A6 */ mtctr r12
/* 801CFE08 001CBA68 3B 5A 00 01 */ addi r26, r26, 1
/* 801CFE0C 001CBA6C 4E 80 04 21 */ bctrl
/* 801CFE10 001CBA70 7C 64 1B 78 */ mr r4, r3
/* 801CFE14 001CBA74 93 D5 00 00 */ stw r30, 0(r21)
lbl_801CFE18:
/* 801CFE18 001CBA78 3B 60 00 02 */ li r27, 2
/* 801CFE1C 001CBA7C 48 00 02 34 */ b lbl_801D0050
/* 801CFE20 001CBA80 2C 10 00 00 */ cmpwi r16, 0
/* 801CFE24 001CBA84 41 82 00 0C */ beq lbl_801CFE30
/* 801CFE28 001CBA88 2C 10 00 10 */ cmpwi r16, 0x10
/* 801CFE2C 001CBA8C 40 82 00 34 */ bne lbl_801CFE60
lbl_801CFE30:
/* 801CFE30 001CBA90 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CFE34 001CBA94 40 82 00 2C */ bne lbl_801CFE60
/* 801CFE38 001CBA98 7E 4C 93 78 */ mr r12, r18
/* 801CFE3C 001CBA9C 7E 63 9B 78 */ mr r3, r19
/* 801CFE40 001CBAA0 3B 60 00 04 */ li r27, 4
/* 801CFE44 001CBAA4 38 80 00 00 */ li r4, 0
/* 801CFE48 001CBAA8 38 A0 00 00 */ li r5, 0
/* 801CFE4C 001CBAAC 7D 89 03 A6 */ mtctr r12
/* 801CFE50 001CBAB0 3B 5A 00 01 */ addi r26, r26, 1
/* 801CFE54 001CBAB4 4E 80 04 21 */ bctrl
/* 801CFE58 001CBAB8 7C 64 1B 78 */ mr r4, r3
/* 801CFE5C 001CBABC 48 00 01 F4 */ b lbl_801D0050
lbl_801CFE60:
/* 801CFE60 001CBAC0 3B 60 00 08 */ li r27, 8
/* 801CFE64 001CBAC4 48 00 01 EC */ b lbl_801D0050
/* 801CFE68 001CBAC8 2C 04 00 58 */ cmpwi r4, 0x58
/* 801CFE6C 001CBACC 41 82 00 0C */ beq lbl_801CFE78
/* 801CFE70 001CBAD0 2C 04 00 78 */ cmpwi r4, 0x78
/* 801CFE74 001CBAD4 40 82 00 30 */ bne lbl_801CFEA4
lbl_801CFE78:
/* 801CFE78 001CBAD8 7E 4C 93 78 */ mr r12, r18
/* 801CFE7C 001CBADC 7E 63 9B 78 */ mr r3, r19
/* 801CFE80 001CBAE0 3A 00 00 10 */ li r16, 0x10
/* 801CFE84 001CBAE4 3B 60 00 08 */ li r27, 8
/* 801CFE88 001CBAE8 38 80 00 00 */ li r4, 0
/* 801CFE8C 001CBAEC 38 A0 00 00 */ li r5, 0
/* 801CFE90 001CBAF0 7D 89 03 A6 */ mtctr r12
/* 801CFE94 001CBAF4 3B 5A 00 01 */ addi r26, r26, 1
/* 801CFE98 001CBAF8 4E 80 04 21 */ bctrl
/* 801CFE9C 001CBAFC 7C 64 1B 78 */ mr r4, r3
/* 801CFEA0 001CBB00 48 00 01 B0 */ b lbl_801D0050
lbl_801CFEA4:
/* 801CFEA4 001CBB04 2C 10 00 00 */ cmpwi r16, 0
/* 801CFEA8 001CBB08 40 82 00 08 */ bne lbl_801CFEB0
/* 801CFEAC 001CBB0C 3A 00 00 08 */ li r16, 8
lbl_801CFEB0:
/* 801CFEB0 001CBB10 3B 60 00 10 */ li r27, 0x10
/* 801CFEB4 001CBB14 48 00 01 9C */ b lbl_801D0050
/* 801CFEB8 001CBB18 2C 10 00 00 */ cmpwi r16, 0
/* 801CFEBC 001CBB1C 40 82 00 08 */ bne lbl_801CFEC4
/* 801CFEC0 001CBB20 3A 00 00 0A */ li r16, 0xa
lbl_801CFEC4:
/* 801CFEC4 001CBB24 2C 17 00 00 */ cmpwi r23, 0
/* 801CFEC8 001CBB28 40 82 00 08 */ bne lbl_801CFED0
/* 801CFECC 001CBB2C 7E FF 83 96 */ divwu r23, r31, r16
lbl_801CFED0:
/* 801CFED0 001CBB30 2C 04 00 00 */ cmpwi r4, 0
/* 801CFED4 001CBB34 38 00 00 00 */ li r0, 0
/* 801CFED8 001CBB38 41 80 00 0C */ blt lbl_801CFEE4
/* 801CFEDC 001CBB3C 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CFEE0 001CBB40 41 80 00 08 */ blt lbl_801CFEE8
lbl_801CFEE4:
/* 801CFEE4 001CBB44 38 00 00 01 */ li r0, 1
lbl_801CFEE8:
/* 801CFEE8 001CBB48 2C 00 00 00 */ cmpwi r0, 0
/* 801CFEEC 001CBB4C 41 82 00 0C */ beq lbl_801CFEF8
/* 801CFEF0 001CBB50 38 00 00 00 */ li r0, 0
/* 801CFEF4 001CBB54 48 00 00 18 */ b lbl_801CFF0C
lbl_801CFEF8:
/* 801CFEF8 001CBB58 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801CFEFC 001CBB5C 54 80 08 3C */ slwi r0, r4, 1
/* 801CFF00 001CBB60 80 63 00 08 */ lwz r3, 8(r3)
/* 801CFF04 001CBB64 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CFF08 001CBB68 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CFF0C:
/* 801CFF0C 001CBB6C 2C 00 00 00 */ cmpwi r0, 0
/* 801CFF10 001CBB70 41 82 00 28 */ beq lbl_801CFF38
/* 801CFF14 001CBB74 38 84 FF D0 */ addi r4, r4, -48
/* 801CFF18 001CBB78 7C 04 80 00 */ cmpw r4, r16
/* 801CFF1C 001CBB7C 41 80 00 EC */ blt lbl_801D0008
/* 801CFF20 001CBB80 2C 1B 00 10 */ cmpwi r27, 0x10
/* 801CFF24 001CBB84 3B 60 00 40 */ li r27, 0x40
/* 801CFF28 001CBB88 40 82 00 08 */ bne lbl_801CFF30
/* 801CFF2C 001CBB8C 3B 60 00 20 */ li r27, 0x20
lbl_801CFF30:
/* 801CFF30 001CBB90 38 84 00 30 */ addi r4, r4, 0x30
/* 801CFF34 001CBB94 48 00 01 1C */ b lbl_801D0050
lbl_801CFF38:
/* 801CFF38 001CBB98 2C 04 00 00 */ cmpwi r4, 0
/* 801CFF3C 001CBB9C 38 00 00 00 */ li r0, 0
/* 801CFF40 001CBBA0 41 80 00 0C */ blt lbl_801CFF4C
/* 801CFF44 001CBBA4 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CFF48 001CBBA8 41 80 00 08 */ blt lbl_801CFF50
lbl_801CFF4C:
/* 801CFF4C 001CBBAC 38 00 00 01 */ li r0, 1
lbl_801CFF50:
/* 801CFF50 001CBBB0 2C 00 00 00 */ cmpwi r0, 0
/* 801CFF54 001CBBB4 41 82 00 0C */ beq lbl_801CFF60
/* 801CFF58 001CBBB8 38 00 00 00 */ li r0, 0
/* 801CFF5C 001CBBBC 48 00 00 18 */ b lbl_801CFF74
lbl_801CFF60:
/* 801CFF60 001CBBC0 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801CFF64 001CBBC4 54 80 08 3C */ slwi r0, r4, 1
/* 801CFF68 001CBBC8 80 63 00 08 */ lwz r3, 8(r3)
/* 801CFF6C 001CBBCC 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CFF70 001CBBD0 54 00 07 FE */ clrlwi r0, r0, 0x1f
lbl_801CFF74:
/* 801CFF74 001CBBD4 2C 00 00 00 */ cmpwi r0, 0
/* 801CFF78 001CBBD8 41 82 00 44 */ beq lbl_801CFFBC
/* 801CFF7C 001CBBDC 2C 04 00 00 */ cmpwi r4, 0
/* 801CFF80 001CBBE0 38 00 00 00 */ li r0, 0
/* 801CFF84 001CBBE4 41 80 00 0C */ blt lbl_801CFF90
/* 801CFF88 001CBBE8 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CFF8C 001CBBEC 41 80 00 08 */ blt lbl_801CFF94
lbl_801CFF90:
/* 801CFF90 001CBBF0 38 00 00 01 */ li r0, 1
lbl_801CFF94:
/* 801CFF94 001CBBF4 2C 00 00 00 */ cmpwi r0, 0
/* 801CFF98 001CBBF8 41 82 00 0C */ beq lbl_801CFFA4
/* 801CFF9C 001CBBFC 7C 83 23 78 */ mr r3, r4
/* 801CFFA0 001CBC00 48 00 00 10 */ b lbl_801CFFB0
lbl_801CFFA4:
/* 801CFFA4 001CBC04 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801CFFA8 001CBC08 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CFFAC 001CBC0C 7C 63 20 AE */ lbzx r3, r3, r4
lbl_801CFFB0:
/* 801CFFB0 001CBC10 38 03 FF C9 */ addi r0, r3, -55
/* 801CFFB4 001CBC14 7C 00 80 00 */ cmpw r0, r16
/* 801CFFB8 001CBC18 41 80 00 1C */ blt lbl_801CFFD4
lbl_801CFFBC:
/* 801CFFBC 001CBC1C 2C 1B 00 10 */ cmpwi r27, 0x10
/* 801CFFC0 001CBC20 40 82 00 0C */ bne lbl_801CFFCC
/* 801CFFC4 001CBC24 3B 60 00 20 */ li r27, 0x20
/* 801CFFC8 001CBC28 48 00 00 88 */ b lbl_801D0050
lbl_801CFFCC:
/* 801CFFCC 001CBC2C 3B 60 00 40 */ li r27, 0x40
/* 801CFFD0 001CBC30 48 00 00 80 */ b lbl_801D0050
lbl_801CFFD4:
/* 801CFFD4 001CBC34 2C 04 00 00 */ cmpwi r4, 0
/* 801CFFD8 001CBC38 38 00 00 00 */ li r0, 0
/* 801CFFDC 001CBC3C 41 80 00 0C */ blt lbl_801CFFE8
/* 801CFFE0 001CBC40 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CFFE4 001CBC44 41 80 00 08 */ blt lbl_801CFFEC
lbl_801CFFE8:
/* 801CFFE8 001CBC48 38 00 00 01 */ li r0, 1
lbl_801CFFEC:
/* 801CFFEC 001CBC4C 2C 00 00 00 */ cmpwi r0, 0
/* 801CFFF0 001CBC50 41 82 00 08 */ beq lbl_801CFFF8
/* 801CFFF4 001CBC54 48 00 00 10 */ b lbl_801D0004
lbl_801CFFF8:
/* 801CFFF8 001CBC58 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801CFFFC 001CBC5C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801D0000 001CBC60 7C 83 20 AE */ lbzx r4, r3, r4
lbl_801D0004:
/* 801D0004 001CBC64 38 84 FF C9 */ addi r4, r4, -55
lbl_801D0008:
/* 801D0008 001CBC68 7C 18 B8 40 */ cmplw r24, r23
/* 801D000C 001CBC6C 40 81 00 08 */ ble lbl_801D0014
/* 801D0010 001CBC70 93 D6 00 00 */ stw r30, 0(r22)
lbl_801D0014:
/* 801D0014 001CBC74 7F 18 81 D6 */ mullw r24, r24, r16
/* 801D0018 001CBC78 20 18 FF FF */ subfic r0, r24, -1
/* 801D001C 001CBC7C 7C 04 00 40 */ cmplw r4, r0
/* 801D0020 001CBC80 40 81 00 08 */ ble lbl_801D0028
/* 801D0024 001CBC84 93 D6 00 00 */ stw r30, 0(r22)
lbl_801D0028:
/* 801D0028 001CBC88 7E 4C 93 78 */ mr r12, r18
/* 801D002C 001CBC8C 7F 18 22 14 */ add r24, r24, r4
/* 801D0030 001CBC90 7E 63 9B 78 */ mr r3, r19
/* 801D0034 001CBC94 3B 60 00 10 */ li r27, 0x10
/* 801D0038 001CBC98 38 80 00 00 */ li r4, 0
/* 801D003C 001CBC9C 38 A0 00 00 */ li r5, 0
/* 801D0040 001CBCA0 7D 89 03 A6 */ mtctr r12
/* 801D0044 001CBCA4 3B 5A 00 01 */ addi r26, r26, 1
/* 801D0048 001CBCA8 4E 80 04 21 */ bctrl
/* 801D004C 001CBCAC 7C 64 1B 78 */ mr r4, r3
lbl_801D0050:
/* 801D0050 001CBCB0 7C 1A 88 00 */ cmpw r26, r17
/* 801D0054 001CBCB4 41 81 00 14 */ bgt lbl_801D0068
/* 801D0058 001CBCB8 2C 04 FF FF */ cmpwi r4, -1
/* 801D005C 001CBCBC 41 82 00 0C */ beq lbl_801D0068
/* 801D0060 001CBCC0 57 60 06 75 */ rlwinm. r0, r27, 0, 0x19, 0x1a
/* 801D0064 001CBCC4 41 82 FC D8 */ beq lbl_801CFD3C
lbl_801D0068:
/* 801D0068 001CBCC8 73 60 00 34 */ andi. r0, r27, 0x34
/* 801D006C 001CBCCC 40 82 00 10 */ bne lbl_801D007C
/* 801D0070 001CBCD0 3B 00 00 00 */ li r24, 0
/* 801D0074 001CBCD4 93 14 00 00 */ stw r24, 0(r20)
/* 801D0078 001CBCD8 48 00 00 10 */ b lbl_801D0088
lbl_801D007C:
/* 801D007C 001CBCDC 7C 7A CA 14 */ add r3, r26, r25
/* 801D0080 001CBCE0 38 03 FF FF */ addi r0, r3, -1
/* 801D0084 001CBCE4 90 14 00 00 */ stw r0, 0(r20)
lbl_801D0088:
/* 801D0088 001CBCE8 7E 4C 93 78 */ mr r12, r18
/* 801D008C 001CBCEC 7E 63 9B 78 */ mr r3, r19
/* 801D0090 001CBCF0 38 A0 00 01 */ li r5, 1
/* 801D0094 001CBCF4 7D 89 03 A6 */ mtctr r12
/* 801D0098 001CBCF8 4E 80 04 21 */ bctrl
/* 801D009C 001CBCFC 7F 03 C3 78 */ mr r3, r24
/* 801D00A0 001CBD00 BA 01 00 10 */ lmw r16, 0x10(r1)
/* 801D00A4 001CBD04 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D00A8 001CBD08 7C 08 03 A6 */ mtlr r0
/* 801D00AC 001CBD0C 38 21 00 50 */ addi r1, r1, 0x50
/* 801D00B0 001CBD10 4E 80 00 20 */ blr
.global func_801D00B4
func_801D00B4:
/* 801D00B4 001CBD14 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801D00B8 001CBD18 7C 08 02 A6 */ mflr r0
/* 801D00BC 001CBD1C 2C 03 00 00 */ cmpwi r3, 0
/* 801D00C0 001CBD20 90 01 00 64 */ stw r0, 0x64(r1)
/* 801D00C4 001CBD24 BD C1 00 18 */ stmw r14, 0x18(r1)
/* 801D00C8 001CBD28 3B 60 00 00 */ li r27, 0
/* 801D00CC 001CBD2C 7C 6F 1B 78 */ mr r15, r3
/* 801D00D0 001CBD30 7C 90 23 78 */ mr r16, r4
/* 801D00D4 001CBD34 90 E1 00 08 */ stw r7, 8(r1)
/* 801D00D8 001CBD38 7C B1 2B 78 */ mr r17, r5
/* 801D00DC 001CBD3C 7C D2 33 78 */ mr r18, r6
/* 801D00E0 001CBD40 7D 13 43 78 */ mr r19, r8
/* 801D00E4 001CBD44 7D 34 4B 78 */ mr r20, r9
/* 801D00E8 001CBD48 3B 80 00 01 */ li r28, 1
/* 801D00EC 001CBD4C 3B 40 00 00 */ li r26, 0
/* 801D00F0 001CBD50 3B 00 00 00 */ li r24, 0
/* 801D00F4 001CBD54 3B 20 00 00 */ li r25, 0
/* 801D00F8 001CBD58 3A C0 00 00 */ li r22, 0
/* 801D00FC 001CBD5C 3A E0 00 00 */ li r23, 0
/* 801D0100 001CBD60 93 69 00 00 */ stw r27, 0(r9)
/* 801D0104 001CBD64 93 68 00 00 */ stw r27, 0(r8)
/* 801D0108 001CBD68 41 80 00 1C */ blt lbl_801D0124
/* 801D010C 001CBD6C 2C 03 00 01 */ cmpwi r3, 1
/* 801D0110 001CBD70 41 82 00 14 */ beq lbl_801D0124
/* 801D0114 001CBD74 2C 03 00 24 */ cmpwi r3, 0x24
/* 801D0118 001CBD78 41 81 00 0C */ bgt lbl_801D0124
/* 801D011C 001CBD7C 2C 04 00 01 */ cmpwi r4, 1
/* 801D0120 001CBD80 40 80 00 0C */ bge lbl_801D012C
lbl_801D0124:
/* 801D0124 001CBD84 3B 80 00 40 */ li r28, 0x40
/* 801D0128 001CBD88 48 00 00 24 */ b lbl_801D014C
lbl_801D012C:
/* 801D012C 001CBD8C 7E 2C 8B 78 */ mr r12, r17
/* 801D0130 001CBD90 7E 43 93 78 */ mr r3, r18
/* 801D0134 001CBD94 38 80 00 00 */ li r4, 0
/* 801D0138 001CBD98 38 A0 00 00 */ li r5, 0
/* 801D013C 001CBD9C 7D 89 03 A6 */ mtctr r12
/* 801D0140 001CBDA0 3B 60 00 01 */ li r27, 1
/* 801D0144 001CBDA4 4E 80 04 21 */ bctrl
/* 801D0148 001CBDA8 7C 75 1B 78 */ mr r21, r3
lbl_801D014C:
/* 801D014C 001CBDAC 2C 0F 00 00 */ cmpwi r15, 0
/* 801D0150 001CBDB0 41 82 00 20 */ beq lbl_801D0170
/* 801D0154 001CBDB4 7D E6 7B 78 */ mr r6, r15
/* 801D0158 001CBDB8 7D E5 FE 70 */ srawi r5, r15, 0x1f
/* 801D015C 001CBDBC 38 60 FF FF */ li r3, -1
/* 801D0160 001CBDC0 38 80 FF FF */ li r4, -1
/* 801D0164 001CBDC4 4B FF 70 29 */ bl __div2u
/* 801D0168 001CBDC8 7C 96 23 78 */ mr r22, r4
/* 801D016C 001CBDCC 7C 77 1B 78 */ mr r23, r3
lbl_801D0170:
/* 801D0170 001CBDD0 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 801D0174 001CBDD4 3B C0 00 01 */ li r30, 1
/* 801D0178 001CBDD8 3B E0 FF FF */ li r31, -1
/* 801D017C 001CBDDC 3D C0 80 42 */ lis r14, 0x8042
/* 801D0180 001CBDE0 3B A3 2D 48 */ addi r29, r3, lbl_80422D48@l
/* 801D0184 001CBDE4 48 00 03 7C */ b lbl_801D0500
lbl_801D0188:
/* 801D0188 001CBDE8 28 1C 00 10 */ cmplwi r28, 0x10
/* 801D018C 001CBDEC 41 81 03 74 */ bgt lbl_801D0500
/* 801D0190 001CBDF0 38 6E 31 44 */ addi r3, r14, 0x3144
/* 801D0194 001CBDF4 57 80 10 3A */ slwi r0, r28, 2
/* 801D0198 001CBDF8 7C 63 00 2E */ lwzx r3, r3, r0
/* 801D019C 001CBDFC 7C 69 03 A6 */ mtctr r3
/* 801D01A0 001CBE00 4E 80 04 20 */ bctr
/* 801D01A4 001CBE04 2C 15 00 00 */ cmpwi r21, 0
/* 801D01A8 001CBE08 38 00 00 00 */ li r0, 0
/* 801D01AC 001CBE0C 41 80 00 0C */ blt lbl_801D01B8
/* 801D01B0 001CBE10 2C 15 01 00 */ cmpwi r21, 0x100
/* 801D01B4 001CBE14 41 80 00 08 */ blt lbl_801D01BC
lbl_801D01B8:
/* 801D01B8 001CBE18 38 00 00 01 */ li r0, 1
lbl_801D01BC:
/* 801D01BC 001CBE1C 2C 00 00 00 */ cmpwi r0, 0
/* 801D01C0 001CBE20 41 82 00 0C */ beq lbl_801D01CC
/* 801D01C4 001CBE24 38 00 00 00 */ li r0, 0
/* 801D01C8 001CBE28 48 00 00 18 */ b lbl_801D01E0
lbl_801D01CC:
/* 801D01CC 001CBE2C 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801D01D0 001CBE30 56 A0 08 3C */ slwi r0, r21, 1
/* 801D01D4 001CBE34 80 63 00 08 */ lwz r3, 8(r3)
/* 801D01D8 001CBE38 7C 03 02 2E */ lhzx r0, r3, r0
/* 801D01DC 001CBE3C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801D01E0:
/* 801D01E0 001CBE40 2C 00 00 00 */ cmpwi r0, 0
/* 801D01E4 001CBE44 41 82 00 28 */ beq lbl_801D020C
/* 801D01E8 001CBE48 7E 2C 8B 78 */ mr r12, r17
/* 801D01EC 001CBE4C 7E 43 93 78 */ mr r3, r18
/* 801D01F0 001CBE50 38 80 00 00 */ li r4, 0
/* 801D01F4 001CBE54 38 A0 00 00 */ li r5, 0
/* 801D01F8 001CBE58 7D 89 03 A6 */ mtctr r12
/* 801D01FC 001CBE5C 4E 80 04 21 */ bctrl
/* 801D0200 001CBE60 7C 75 1B 78 */ mr r21, r3
/* 801D0204 001CBE64 3B 5A 00 01 */ addi r26, r26, 1
/* 801D0208 001CBE68 48 00 02 F8 */ b lbl_801D0500
lbl_801D020C:
/* 801D020C 001CBE6C 2C 15 00 2B */ cmpwi r21, 0x2b
/* 801D0210 001CBE70 40 82 00 28 */ bne lbl_801D0238
/* 801D0214 001CBE74 7E 2C 8B 78 */ mr r12, r17
/* 801D0218 001CBE78 7E 43 93 78 */ mr r3, r18
/* 801D021C 001CBE7C 38 80 00 00 */ li r4, 0
/* 801D0220 001CBE80 38 A0 00 00 */ li r5, 0
/* 801D0224 001CBE84 7D 89 03 A6 */ mtctr r12
/* 801D0228 001CBE88 3B 7B 00 01 */ addi r27, r27, 1
/* 801D022C 001CBE8C 4E 80 04 21 */ bctrl
/* 801D0230 001CBE90 7C 75 1B 78 */ mr r21, r3
/* 801D0234 001CBE94 48 00 00 30 */ b lbl_801D0264
lbl_801D0238:
/* 801D0238 001CBE98 2C 15 00 2D */ cmpwi r21, 0x2d
/* 801D023C 001CBE9C 40 82 00 28 */ bne lbl_801D0264
/* 801D0240 001CBEA0 7E 2C 8B 78 */ mr r12, r17
/* 801D0244 001CBEA4 7E 43 93 78 */ mr r3, r18
/* 801D0248 001CBEA8 38 80 00 00 */ li r4, 0
/* 801D024C 001CBEAC 38 A0 00 00 */ li r5, 0
/* 801D0250 001CBEB0 7D 89 03 A6 */ mtctr r12
/* 801D0254 001CBEB4 3B 7B 00 01 */ addi r27, r27, 1
/* 801D0258 001CBEB8 4E 80 04 21 */ bctrl
/* 801D025C 001CBEBC 7C 75 1B 78 */ mr r21, r3
/* 801D0260 001CBEC0 93 D3 00 00 */ stw r30, 0(r19)
lbl_801D0264:
/* 801D0264 001CBEC4 3B 80 00 02 */ li r28, 2
/* 801D0268 001CBEC8 48 00 02 98 */ b lbl_801D0500
/* 801D026C 001CBECC 2C 0F 00 00 */ cmpwi r15, 0
/* 801D0270 001CBED0 41 82 00 0C */ beq lbl_801D027C
/* 801D0274 001CBED4 2C 0F 00 10 */ cmpwi r15, 0x10
/* 801D0278 001CBED8 40 82 00 34 */ bne lbl_801D02AC
lbl_801D027C:
/* 801D027C 001CBEDC 2C 15 00 30 */ cmpwi r21, 0x30
/* 801D0280 001CBEE0 40 82 00 2C */ bne lbl_801D02AC
/* 801D0284 001CBEE4 7E 2C 8B 78 */ mr r12, r17
/* 801D0288 001CBEE8 7E 43 93 78 */ mr r3, r18
/* 801D028C 001CBEEC 3B 80 00 04 */ li r28, 4
/* 801D0290 001CBEF0 38 80 00 00 */ li r4, 0
/* 801D0294 001CBEF4 38 A0 00 00 */ li r5, 0
/* 801D0298 001CBEF8 7D 89 03 A6 */ mtctr r12
/* 801D029C 001CBEFC 3B 7B 00 01 */ addi r27, r27, 1
/* 801D02A0 001CBF00 4E 80 04 21 */ bctrl
/* 801D02A4 001CBF04 7C 75 1B 78 */ mr r21, r3
/* 801D02A8 001CBF08 48 00 02 58 */ b lbl_801D0500
lbl_801D02AC:
/* 801D02AC 001CBF0C 3B 80 00 08 */ li r28, 8
/* 801D02B0 001CBF10 48 00 02 50 */ b lbl_801D0500
/* 801D02B4 001CBF14 2C 15 00 58 */ cmpwi r21, 0x58
/* 801D02B8 001CBF18 41 82 00 0C */ beq lbl_801D02C4
/* 801D02BC 001CBF1C 2C 15 00 78 */ cmpwi r21, 0x78
/* 801D02C0 001CBF20 40 82 00 30 */ bne lbl_801D02F0
lbl_801D02C4:
/* 801D02C4 001CBF24 7E 2C 8B 78 */ mr r12, r17
/* 801D02C8 001CBF28 7E 43 93 78 */ mr r3, r18
/* 801D02CC 001CBF2C 39 E0 00 10 */ li r15, 0x10
/* 801D02D0 001CBF30 3B 80 00 08 */ li r28, 8
/* 801D02D4 001CBF34 38 80 00 00 */ li r4, 0
/* 801D02D8 001CBF38 38 A0 00 00 */ li r5, 0
/* 801D02DC 001CBF3C 7D 89 03 A6 */ mtctr r12
/* 801D02E0 001CBF40 3B 7B 00 01 */ addi r27, r27, 1
/* 801D02E4 001CBF44 4E 80 04 21 */ bctrl
/* 801D02E8 001CBF48 7C 75 1B 78 */ mr r21, r3
/* 801D02EC 001CBF4C 48 00 02 14 */ b lbl_801D0500
lbl_801D02F0:
/* 801D02F0 001CBF50 2C 0F 00 00 */ cmpwi r15, 0
/* 801D02F4 001CBF54 40 82 00 08 */ bne lbl_801D02FC
/* 801D02F8 001CBF58 39 E0 00 08 */ li r15, 8
lbl_801D02FC:
/* 801D02FC 001CBF5C 3B 80 00 10 */ li r28, 0x10
/* 801D0300 001CBF60 48 00 02 00 */ b lbl_801D0500
/* 801D0304 001CBF64 2C 0F 00 00 */ cmpwi r15, 0
/* 801D0308 001CBF68 40 82 00 08 */ bne lbl_801D0310
/* 801D030C 001CBF6C 39 E0 00 0A */ li r15, 0xa
lbl_801D0310:
/* 801D0310 001CBF70 38 00 00 00 */ li r0, 0
/* 801D0314 001CBF74 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 801D0318 001CBF78 7E E0 02 78 */ xor r0, r23, r0
/* 801D031C 001CBF7C 7E C0 03 79 */ or. r0, r22, r0
/* 801D0320 001CBF80 40 82 00 20 */ bne lbl_801D0340
/* 801D0324 001CBF84 7D E6 7B 78 */ mr r6, r15
/* 801D0328 001CBF88 7D E5 FE 70 */ srawi r5, r15, 0x1f
/* 801D032C 001CBF8C 38 60 FF FF */ li r3, -1
/* 801D0330 001CBF90 38 80 FF FF */ li r4, -1
/* 801D0334 001CBF94 4B FF 6E 59 */ bl __div2u
/* 801D0338 001CBF98 7C 96 23 78 */ mr r22, r4
/* 801D033C 001CBF9C 7C 77 1B 78 */ mr r23, r3
lbl_801D0340:
/* 801D0340 001CBFA0 2C 15 00 00 */ cmpwi r21, 0
/* 801D0344 001CBFA4 38 00 00 00 */ li r0, 0
/* 801D0348 001CBFA8 41 80 00 0C */ blt lbl_801D0354
/* 801D034C 001CBFAC 2C 15 01 00 */ cmpwi r21, 0x100
/* 801D0350 001CBFB0 41 80 00 08 */ blt lbl_801D0358
lbl_801D0354:
/* 801D0354 001CBFB4 38 00 00 01 */ li r0, 1
lbl_801D0358:
/* 801D0358 001CBFB8 2C 00 00 00 */ cmpwi r0, 0
/* 801D035C 001CBFBC 41 82 00 0C */ beq lbl_801D0368
/* 801D0360 001CBFC0 38 00 00 00 */ li r0, 0
/* 801D0364 001CBFC4 48 00 00 18 */ b lbl_801D037C
lbl_801D0368:
/* 801D0368 001CBFC8 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801D036C 001CBFCC 56 A0 08 3C */ slwi r0, r21, 1
/* 801D0370 001CBFD0 80 63 00 08 */ lwz r3, 8(r3)
/* 801D0374 001CBFD4 7C 03 02 2E */ lhzx r0, r3, r0
/* 801D0378 001CBFD8 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801D037C:
/* 801D037C 001CBFDC 2C 00 00 00 */ cmpwi r0, 0
/* 801D0380 001CBFE0 41 82 00 28 */ beq lbl_801D03A8
/* 801D0384 001CBFE4 3A B5 FF D0 */ addi r21, r21, -48
/* 801D0388 001CBFE8 7C 15 78 00 */ cmpw r21, r15
/* 801D038C 001CBFEC 41 80 00 EC */ blt lbl_801D0478
/* 801D0390 001CBFF0 2C 1C 00 10 */ cmpwi r28, 0x10
/* 801D0394 001CBFF4 3B 80 00 40 */ li r28, 0x40
/* 801D0398 001CBFF8 40 82 00 08 */ bne lbl_801D03A0
/* 801D039C 001CBFFC 3B 80 00 20 */ li r28, 0x20
lbl_801D03A0:
/* 801D03A0 001CC000 3A B5 00 30 */ addi r21, r21, 0x30
/* 801D03A4 001CC004 48 00 01 5C */ b lbl_801D0500
lbl_801D03A8:
/* 801D03A8 001CC008 2C 15 00 00 */ cmpwi r21, 0
/* 801D03AC 001CC00C 38 00 00 00 */ li r0, 0
/* 801D03B0 001CC010 41 80 00 0C */ blt lbl_801D03BC
/* 801D03B4 001CC014 2C 15 01 00 */ cmpwi r21, 0x100
/* 801D03B8 001CC018 41 80 00 08 */ blt lbl_801D03C0
lbl_801D03BC:
/* 801D03BC 001CC01C 38 00 00 01 */ li r0, 1
lbl_801D03C0:
/* 801D03C0 001CC020 2C 00 00 00 */ cmpwi r0, 0
/* 801D03C4 001CC024 41 82 00 0C */ beq lbl_801D03D0
/* 801D03C8 001CC028 38 00 00 00 */ li r0, 0
/* 801D03CC 001CC02C 48 00 00 18 */ b lbl_801D03E4
lbl_801D03D0:
/* 801D03D0 001CC030 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801D03D4 001CC034 56 A0 08 3C */ slwi r0, r21, 1
/* 801D03D8 001CC038 80 63 00 08 */ lwz r3, 8(r3)
/* 801D03DC 001CC03C 7C 03 02 2E */ lhzx r0, r3, r0
/* 801D03E0 001CC040 54 00 07 FE */ clrlwi r0, r0, 0x1f
lbl_801D03E4:
/* 801D03E4 001CC044 2C 00 00 00 */ cmpwi r0, 0
/* 801D03E8 001CC048 41 82 00 44 */ beq lbl_801D042C
/* 801D03EC 001CC04C 2C 15 00 00 */ cmpwi r21, 0
/* 801D03F0 001CC050 38 00 00 00 */ li r0, 0
/* 801D03F4 001CC054 41 80 00 0C */ blt lbl_801D0400
/* 801D03F8 001CC058 2C 15 01 00 */ cmpwi r21, 0x100
/* 801D03FC 001CC05C 41 80 00 08 */ blt lbl_801D0404
lbl_801D0400:
/* 801D0400 001CC060 38 00 00 01 */ li r0, 1
lbl_801D0404:
/* 801D0404 001CC064 2C 00 00 00 */ cmpwi r0, 0
/* 801D0408 001CC068 41 82 00 0C */ beq lbl_801D0414
/* 801D040C 001CC06C 7E A3 AB 78 */ mr r3, r21
/* 801D0410 001CC070 48 00 00 10 */ b lbl_801D0420
lbl_801D0414:
/* 801D0414 001CC074 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801D0418 001CC078 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801D041C 001CC07C 7C 63 A8 AE */ lbzx r3, r3, r21
lbl_801D0420:
/* 801D0420 001CC080 38 03 FF C9 */ addi r0, r3, -55
/* 801D0424 001CC084 7C 00 78 00 */ cmpw r0, r15
/* 801D0428 001CC088 41 80 00 1C */ blt lbl_801D0444
lbl_801D042C:
/* 801D042C 001CC08C 2C 1C 00 10 */ cmpwi r28, 0x10
/* 801D0430 001CC090 40 82 00 0C */ bne lbl_801D043C
/* 801D0434 001CC094 3B 80 00 20 */ li r28, 0x20
/* 801D0438 001CC098 48 00 00 C8 */ b lbl_801D0500
lbl_801D043C:
/* 801D043C 001CC09C 3B 80 00 40 */ li r28, 0x40
/* 801D0440 001CC0A0 48 00 00 C0 */ b lbl_801D0500
lbl_801D0444:
/* 801D0444 001CC0A4 2C 15 00 00 */ cmpwi r21, 0
/* 801D0448 001CC0A8 38 00 00 00 */ li r0, 0
/* 801D044C 001CC0AC 41 80 00 0C */ blt lbl_801D0458
/* 801D0450 001CC0B0 2C 15 01 00 */ cmpwi r21, 0x100
/* 801D0454 001CC0B4 41 80 00 08 */ blt lbl_801D045C
lbl_801D0458:
/* 801D0458 001CC0B8 38 00 00 01 */ li r0, 1
lbl_801D045C:
/* 801D045C 001CC0BC 2C 00 00 00 */ cmpwi r0, 0
/* 801D0460 001CC0C0 41 82 00 08 */ beq lbl_801D0468
/* 801D0464 001CC0C4 48 00 00 10 */ b lbl_801D0474
lbl_801D0468:
/* 801D0468 001CC0C8 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 801D046C 001CC0CC 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801D0470 001CC0D0 7E A3 A8 AE */ lbzx r21, r3, r21
lbl_801D0474:
/* 801D0474 001CC0D4 3A B5 FF C9 */ addi r21, r21, -55
lbl_801D0478:
/* 801D0478 001CC0D8 7C 18 B0 10 */ subfc r0, r24, r22
/* 801D047C 001CC0DC 7C 19 B9 10 */ subfe r0, r25, r23
/* 801D0480 001CC0E0 7C 16 B1 10 */ subfe r0, r22, r22
/* 801D0484 001CC0E4 7C 00 00 D1 */ neg. r0, r0
/* 801D0488 001CC0E8 41 82 00 08 */ beq lbl_801D0490
/* 801D048C 001CC0EC 93 D4 00 00 */ stw r30, 0(r20)
lbl_801D0490:
/* 801D0490 001CC0F0 7C 78 78 16 */ mulhwu r3, r24, r15
/* 801D0494 001CC0F4 7D E5 FE 70 */ srawi r5, r15, 0x1f
/* 801D0498 001CC0F8 7E A6 FE 70 */ srawi r6, r21, 0x1f
/* 801D049C 001CC0FC 7C 99 79 D6 */ mullw r4, r25, r15
/* 801D04A0 001CC100 7C 83 22 14 */ add r4, r3, r4
/* 801D04A4 001CC104 7C 78 29 D6 */ mullw r3, r24, r5
/* 801D04A8 001CC108 7C 18 79 D6 */ mullw r0, r24, r15
/* 801D04AC 001CC10C 7C E4 1A 14 */ add r7, r4, r3
/* 801D04B0 001CC110 7C A0 F8 10 */ subfc r5, r0, r31
/* 801D04B4 001CC114 7C 87 F9 10 */ subfe r4, r7, r31
/* 801D04B8 001CC118 7C 75 28 10 */ subfc r3, r21, r5
/* 801D04BC 001CC11C 7C 66 21 10 */ subfe r3, r6, r4
/* 801D04C0 001CC120 7C 65 29 10 */ subfe r3, r5, r5
/* 801D04C4 001CC124 7C 63 00 D1 */ neg. r3, r3
/* 801D04C8 001CC128 41 82 00 08 */ beq lbl_801D04D0
/* 801D04CC 001CC12C 93 D4 00 00 */ stw r30, 0(r20)
lbl_801D04D0:
/* 801D04D0 001CC130 7E A4 FE 70 */ srawi r4, r21, 0x1f
/* 801D04D4 001CC134 7E 2C 8B 78 */ mr r12, r17
/* 801D04D8 001CC138 7F 00 A8 14 */ addc r24, r0, r21
/* 801D04DC 001CC13C 7E 43 93 78 */ mr r3, r18
/* 801D04E0 001CC140 7F 27 21 14 */ adde r25, r7, r4
/* 801D04E4 001CC144 3B 80 00 10 */ li r28, 0x10
/* 801D04E8 001CC148 38 80 00 00 */ li r4, 0
/* 801D04EC 001CC14C 38 A0 00 00 */ li r5, 0
/* 801D04F0 001CC150 7D 89 03 A6 */ mtctr r12
/* 801D04F4 001CC154 3B 7B 00 01 */ addi r27, r27, 1
/* 801D04F8 001CC158 4E 80 04 21 */ bctrl
/* 801D04FC 001CC15C 7C 75 1B 78 */ mr r21, r3
lbl_801D0500:
/* 801D0500 001CC160 7C 1B 80 00 */ cmpw r27, r16
/* 801D0504 001CC164 41 81 00 14 */ bgt lbl_801D0518
/* 801D0508 001CC168 2C 15 FF FF */ cmpwi r21, -1
/* 801D050C 001CC16C 41 82 00 0C */ beq lbl_801D0518
/* 801D0510 001CC170 57 80 06 75 */ rlwinm. r0, r28, 0, 0x19, 0x1a
/* 801D0514 001CC174 41 82 FC 74 */ beq lbl_801D0188
lbl_801D0518:
/* 801D0518 001CC178 73 80 00 34 */ andi. r0, r28, 0x34
/* 801D051C 001CC17C 40 82 00 18 */ bne lbl_801D0534
/* 801D0520 001CC180 80 61 00 08 */ lwz r3, 8(r1)
/* 801D0524 001CC184 3B 00 00 00 */ li r24, 0
/* 801D0528 001CC188 3B 20 00 00 */ li r25, 0
/* 801D052C 001CC18C 93 03 00 00 */ stw r24, 0(r3)
/* 801D0530 001CC190 48 00 00 14 */ b lbl_801D0544
lbl_801D0534:
/* 801D0534 001CC194 7C 7B D2 14 */ add r3, r27, r26
/* 801D0538 001CC198 38 03 FF FF */ addi r0, r3, -1
/* 801D053C 001CC19C 80 61 00 08 */ lwz r3, 8(r1)
/* 801D0540 001CC1A0 90 03 00 00 */ stw r0, 0(r3)
lbl_801D0544:
/* 801D0544 001CC1A4 7E 2C 8B 78 */ mr r12, r17
/* 801D0548 001CC1A8 7E 43 93 78 */ mr r3, r18
/* 801D054C 001CC1AC 7E A4 AB 78 */ mr r4, r21
/* 801D0550 001CC1B0 38 A0 00 01 */ li r5, 1
/* 801D0554 001CC1B4 7D 89 03 A6 */ mtctr r12
/* 801D0558 001CC1B8 4E 80 04 21 */ bctrl
/* 801D055C 001CC1BC 7F 04 C3 78 */ mr r4, r24
/* 801D0560 001CC1C0 7F 23 CB 78 */ mr r3, r25
/* 801D0564 001CC1C4 B9 C1 00 18 */ lmw r14, 0x18(r1)
/* 801D0568 001CC1C8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 801D056C 001CC1CC 7C 08 03 A6 */ mtlr r0
/* 801D0570 001CC1D0 38 21 00 60 */ addi r1, r1, 0x60
/* 801D0574 001CC1D4 4E 80 00 20 */ blr
.global func_801D0578
func_801D0578:
/* 801D0578 001CC1D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D057C 001CC1DC 7C 08 02 A6 */ mflr r0
/* 801D0580 001CC1E0 3C E0 80 00 */ lis r7, 0x7FFFFFFF@ha
/* 801D0584 001CC1E4 3C C0 80 1D */ lis r6, lbl_801CE178@ha
/* 801D0588 001CC1E8 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D058C 001CC1EC 38 00 00 00 */ li r0, 0
/* 801D0590 001CC1F0 39 01 00 0C */ addi r8, r1, 0xc
/* 801D0594 001CC1F4 39 21 00 08 */ addi r9, r1, 8
/* 801D0598 001CC1F8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D059C 001CC1FC 7C 9F 23 78 */ mr r31, r4
/* 801D05A0 001CC200 38 87 FF FF */ addi r4, r7, 0x7FFFFFFF@l
/* 801D05A4 001CC204 38 E1 00 10 */ addi r7, r1, 0x10
/* 801D05A8 001CC208 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D05AC 001CC20C 7C 7E 1B 78 */ mr r30, r3
/* 801D05B0 001CC210 7C A3 2B 78 */ mr r3, r5
/* 801D05B4 001CC214 38 A6 E1 78 */ addi r5, r6, lbl_801CE178@l
/* 801D05B8 001CC218 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D05BC 001CC21C 38 C1 00 18 */ addi r6, r1, 0x18
/* 801D05C0 001CC220 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D05C4 001CC224 4B FF F6 C1 */ bl func_801CFC84
/* 801D05C8 001CC228 2C 1F 00 00 */ cmpwi r31, 0
/* 801D05CC 001CC22C 41 82 00 10 */ beq lbl_801D05DC
/* 801D05D0 001CC230 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D05D4 001CC234 7C 1E 02 14 */ add r0, r30, r0
/* 801D05D8 001CC238 90 1F 00 00 */ stw r0, 0(r31)
lbl_801D05DC:
/* 801D05DC 001CC23C 80 01 00 08 */ lwz r0, 8(r1)
/* 801D05E0 001CC240 2C 00 00 00 */ cmpwi r0, 0
/* 801D05E4 001CC244 41 82 00 14 */ beq lbl_801D05F8
/* 801D05E8 001CC248 38 00 00 22 */ li r0, 0x22
/* 801D05EC 001CC24C 38 60 FF FF */ li r3, -1
/* 801D05F0 001CC250 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
/* 801D05F4 001CC254 48 00 00 14 */ b lbl_801D0608
lbl_801D05F8:
/* 801D05F8 001CC258 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D05FC 001CC25C 2C 00 00 00 */ cmpwi r0, 0
/* 801D0600 001CC260 41 82 00 08 */ beq lbl_801D0608
/* 801D0604 001CC264 7C 63 00 D0 */ neg r3, r3
lbl_801D0608:
/* 801D0608 001CC268 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D060C 001CC26C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D0610 001CC270 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D0614 001CC274 7C 08 03 A6 */ mtlr r0
/* 801D0618 001CC278 38 21 00 30 */ addi r1, r1, 0x30
/* 801D061C 001CC27C 4E 80 00 20 */ blr
.global func_801D0620
func_801D0620:
/* 801D0620 001CC280 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D0624 001CC284 7C 08 02 A6 */ mflr r0
/* 801D0628 001CC288 3C E0 80 00 */ lis r7, 0x7FFFFFFF@ha
/* 801D062C 001CC28C 3C C0 80 1D */ lis r6, lbl_801CE178@ha
/* 801D0630 001CC290 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D0634 001CC294 38 00 00 00 */ li r0, 0
/* 801D0638 001CC298 39 01 00 0C */ addi r8, r1, 0xc
/* 801D063C 001CC29C 39 21 00 08 */ addi r9, r1, 8
/* 801D0640 001CC2A0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D0644 001CC2A4 7C 9F 23 78 */ mr r31, r4
/* 801D0648 001CC2A8 38 87 FF FF */ addi r4, r7, 0x7FFFFFFF@l
/* 801D064C 001CC2AC 38 E1 00 10 */ addi r7, r1, 0x10
/* 801D0650 001CC2B0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D0654 001CC2B4 7C 7E 1B 78 */ mr r30, r3
/* 801D0658 001CC2B8 7C A3 2B 78 */ mr r3, r5
/* 801D065C 001CC2BC 38 A6 E1 78 */ addi r5, r6, lbl_801CE178@l
/* 801D0660 001CC2C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D0664 001CC2C4 38 C1 00 18 */ addi r6, r1, 0x18
/* 801D0668 001CC2C8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D066C 001CC2CC 4B FF F6 19 */ bl func_801CFC84
/* 801D0670 001CC2D0 2C 1F 00 00 */ cmpwi r31, 0
/* 801D0674 001CC2D4 41 82 00 10 */ beq lbl_801D0684
/* 801D0678 001CC2D8 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D067C 001CC2DC 7C 1E 02 14 */ add r0, r30, r0
/* 801D0680 001CC2E0 90 1F 00 00 */ stw r0, 0(r31)
lbl_801D0684:
/* 801D0684 001CC2E4 80 01 00 08 */ lwz r0, 8(r1)
/* 801D0688 001CC2E8 2C 00 00 00 */ cmpwi r0, 0
/* 801D068C 001CC2EC 40 82 00 34 */ bne lbl_801D06C0
/* 801D0690 001CC2F0 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801D0694 001CC2F4 2C 05 00 00 */ cmpwi r5, 0
/* 801D0698 001CC2F8 40 82 00 14 */ bne lbl_801D06AC
/* 801D069C 001CC2FC 3C 80 80 00 */ lis r4, 0x7FFFFFFF@ha
/* 801D06A0 001CC300 38 04 FF FF */ addi r0, r4, 0x7FFFFFFF@l
/* 801D06A4 001CC304 7C 03 00 40 */ cmplw r3, r0
/* 801D06A8 001CC308 41 81 00 18 */ bgt lbl_801D06C0
lbl_801D06AC:
/* 801D06AC 001CC30C 2C 05 00 00 */ cmpwi r5, 0
/* 801D06B0 001CC310 41 82 00 38 */ beq lbl_801D06E8
/* 801D06B4 001CC314 3C 00 80 00 */ lis r0, 0x8000
/* 801D06B8 001CC318 7C 03 00 40 */ cmplw r3, r0
/* 801D06BC 001CC31C 40 81 00 2C */ ble lbl_801D06E8
lbl_801D06C0:
/* 801D06C0 001CC320 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801D06C4 001CC324 38 00 00 22 */ li r0, 0x22
/* 801D06C8 001CC328 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
/* 801D06CC 001CC32C 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
/* 801D06D0 001CC330 7C 85 00 D0 */ neg r4, r5
/* 801D06D4 001CC334 7C 84 2B 78 */ or r4, r4, r5
/* 801D06D8 001CC338 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l
/* 801D06DC 001CC33C 54 83 0F FE */ srwi r3, r4, 0x1f
/* 801D06E0 001CC340 7C 63 02 14 */ add r3, r3, r0
/* 801D06E4 001CC344 48 00 00 10 */ b lbl_801D06F4
lbl_801D06E8:
/* 801D06E8 001CC348 2C 05 00 00 */ cmpwi r5, 0
/* 801D06EC 001CC34C 41 82 00 08 */ beq lbl_801D06F4
/* 801D06F0 001CC350 7C 63 00 D0 */ neg r3, r3
lbl_801D06F4:
/* 801D06F4 001CC354 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D06F8 001CC358 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D06FC 001CC35C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D0700 001CC360 7C 08 03 A6 */ mtlr r0
/* 801D0704 001CC364 38 21 00 30 */ addi r1, r1, 0x30
/* 801D0708 001CC368 4E 80 00 20 */ blr
.global func_801D070C
func_801D070C:
/* 801D070C 001CC36C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D0710 001CC370 7C 08 02 A6 */ mflr r0
/* 801D0714 001CC374 3C A0 80 1D */ lis r5, lbl_801CE178@ha
/* 801D0718 001CC378 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D071C 001CC37C 38 00 00 00 */ li r0, 0
/* 801D0720 001CC380 38 A5 E1 78 */ addi r5, r5, lbl_801CE178@l
/* 801D0724 001CC384 38 C1 00 18 */ addi r6, r1, 0x18
/* 801D0728 001CC388 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D072C 001CC38C 3F E0 80 00 */ lis r31, 0x7FFFFFFF@ha
/* 801D0730 001CC390 38 9F FF FF */ addi r4, r31, 0x7FFFFFFF@l
/* 801D0734 001CC394 38 E1 00 08 */ addi r7, r1, 8
/* 801D0738 001CC398 90 61 00 18 */ stw r3, 0x18(r1)
/* 801D073C 001CC39C 39 01 00 0C */ addi r8, r1, 0xc
/* 801D0740 001CC3A0 39 21 00 10 */ addi r9, r1, 0x10
/* 801D0744 001CC3A4 38 60 00 0A */ li r3, 0xa
/* 801D0748 001CC3A8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D074C 001CC3AC 4B FF F5 39 */ bl func_801CFC84
/* 801D0750 001CC3B0 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D0754 001CC3B4 2C 00 00 00 */ cmpwi r0, 0
/* 801D0758 001CC3B8 40 82 00 30 */ bne lbl_801D0788
/* 801D075C 001CC3BC 80 81 00 0C */ lwz r4, 0xc(r1)
/* 801D0760 001CC3C0 2C 04 00 00 */ cmpwi r4, 0
/* 801D0764 001CC3C4 40 82 00 10 */ bne lbl_801D0774
/* 801D0768 001CC3C8 38 1F FF FF */ addi r0, r31, -1
/* 801D076C 001CC3CC 7C 03 00 40 */ cmplw r3, r0
/* 801D0770 001CC3D0 41 81 00 18 */ bgt lbl_801D0788
lbl_801D0774:
/* 801D0774 001CC3D4 2C 04 00 00 */ cmpwi r4, 0
/* 801D0778 001CC3D8 41 82 00 38 */ beq lbl_801D07B0
/* 801D077C 001CC3DC 3C 00 80 00 */ lis r0, 0x8000
/* 801D0780 001CC3E0 7C 03 00 40 */ cmplw r3, r0
/* 801D0784 001CC3E4 40 81 00 2C */ ble lbl_801D07B0
lbl_801D0788:
/* 801D0788 001CC3E8 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801D078C 001CC3EC 38 00 00 22 */ li r0, 0x22
/* 801D0790 001CC3F0 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
/* 801D0794 001CC3F4 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
/* 801D0798 001CC3F8 7C 85 00 D0 */ neg r4, r5
/* 801D079C 001CC3FC 7C 84 2B 78 */ or r4, r4, r5
/* 801D07A0 001CC400 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l
/* 801D07A4 001CC404 54 83 0F FE */ srwi r3, r4, 0x1f
/* 801D07A8 001CC408 7C 63 02 14 */ add r3, r3, r0
/* 801D07AC 001CC40C 48 00 00 10 */ b lbl_801D07BC
lbl_801D07B0:
/* 801D07B0 001CC410 2C 04 00 00 */ cmpwi r4, 0
/* 801D07B4 001CC414 41 82 00 08 */ beq lbl_801D07BC
/* 801D07B8 001CC418 7C 63 00 D0 */ neg r3, r3
lbl_801D07BC:
/* 801D07BC 001CC41C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D07C0 001CC420 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D07C4 001CC424 7C 08 03 A6 */ mtlr r0
/* 801D07C8 001CC428 38 21 00 30 */ addi r1, r1, 0x30
/* 801D07CC 001CC42C 4E 80 00 20 */ blr
.global func_801D07D0
func_801D07D0:
/* 801D07D0 001CC430 38 83 FF FE */ addi r4, r3, -2
/* 801D07D4 001CC434 38 60 FF FF */ li r3, -1
lbl_801D07D8:
/* 801D07D8 001CC438 A4 04 00 02 */ lhzu r0, 2(r4)
/* 801D07DC 001CC43C 38 63 00 01 */ addi r3, r3, 1
/* 801D07E0 001CC440 2C 00 00 00 */ cmpwi r0, 0
/* 801D07E4 001CC444 40 82 FF F4 */ bne lbl_801D07D8
/* 801D07E8 001CC448 4E 80 00 20 */ blr
.global func_801D07EC
func_801D07EC:
/* 801D07EC 001CC44C 38 84 FF FE */ addi r4, r4, -2
/* 801D07F0 001CC450 38 C3 FF FE */ addi r6, r3, -2
/* 801D07F4 001CC454 38 A5 00 01 */ addi r5, r5, 1
/* 801D07F8 001CC458 48 00 00 2C */ b lbl_801D0824
lbl_801D07FC:
/* 801D07FC 001CC45C A4 04 00 02 */ lhzu r0, 2(r4)
/* 801D0800 001CC460 2C 00 00 00 */ cmpwi r0, 0
/* 801D0804 001CC464 B4 06 00 02 */ sthu r0, 2(r6)
/* 801D0808 001CC468 40 82 00 1C */ bne lbl_801D0824
/* 801D080C 001CC46C 38 00 00 00 */ li r0, 0
/* 801D0810 001CC470 48 00 00 08 */ b lbl_801D0818
lbl_801D0814:
/* 801D0814 001CC474 B4 06 00 02 */ sthu r0, 2(r6)
lbl_801D0818:
/* 801D0818 001CC478 34 A5 FF FF */ addic. r5, r5, -1
/* 801D081C 001CC47C 40 82 FF F8 */ bne lbl_801D0814
/* 801D0820 001CC480 4E 80 00 20 */ blr
lbl_801D0824:
/* 801D0824 001CC484 34 A5 FF FF */ addic. r5, r5, -1
/* 801D0828 001CC488 40 82 FF D4 */ bne lbl_801D07FC
/* 801D082C 001CC48C 4E 80 00 20 */ blr
.global func_801D0830
func_801D0830:
/* 801D0830 001CC490 38 A3 FF FE */ addi r5, r3, -2
/* 801D0834 001CC494 38 84 FF FE */ addi r4, r4, -2
/* 801D0838 001CC498 48 00 00 14 */ b lbl_801D084C
lbl_801D083C:
/* 801D083C 001CC49C 2C 03 00 00 */ cmpwi r3, 0
/* 801D0840 001CC4A0 40 82 00 0C */ bne lbl_801D084C
/* 801D0844 001CC4A4 38 60 00 00 */ li r3, 0
/* 801D0848 001CC4A8 4E 80 00 20 */ blr
lbl_801D084C:
/* 801D084C 001CC4AC A4 65 00 02 */ lhzu r3, 2(r5)
/* 801D0850 001CC4B0 A4 04 00 02 */ lhzu r0, 2(r4)
/* 801D0854 001CC4B4 7C 03 00 40 */ cmplw r3, r0
/* 801D0858 001CC4B8 41 82 FF E4 */ beq lbl_801D083C
/* 801D085C 001CC4BC 7C 60 18 50 */ subf r3, r0, r3
/* 801D0860 001CC4C0 4E 80 00 20 */ blr
.global func_801D0864
func_801D0864:
/* 801D0864 001CC4C4 2C 03 00 00 */ cmpwi r3, 0
/* 801D0868 001CC4C8 41 82 00 10 */ beq lbl_801D0878
/* 801D086C 001CC4CC 80 A3 00 04 */ lwz r5, 4(r3)
/* 801D0870 001CC4D0 54 A0 57 7F */ rlwinm. r0, r5, 0xa, 0x1d, 0x1f
/* 801D0874 001CC4D4 40 82 00 0C */ bne lbl_801D0880
lbl_801D0878:
/* 801D0878 001CC4D8 38 60 00 00 */ li r3, 0
/* 801D087C 001CC4DC 4E 80 00 20 */ blr
lbl_801D0880:
/* 801D0880 001CC4E0 54 A0 67 BE */ rlwinm r0, r5, 0xc, 0x1e, 0x1f
/* 801D0884 001CC4E4 2C 00 00 01 */ cmpwi r0, 1
/* 801D0888 001CC4E8 41 82 00 54 */ beq lbl_801D08DC
/* 801D088C 001CC4EC 40 80 00 10 */ bge lbl_801D089C
/* 801D0890 001CC4F0 2C 00 00 00 */ cmpwi r0, 0
/* 801D0894 001CC4F4 40 80 00 14 */ bge lbl_801D08A8
/* 801D0898 001CC4F8 48 00 00 48 */ b lbl_801D08E0
lbl_801D089C:
/* 801D089C 001CC4FC 2C 00 00 03 */ cmpwi r0, 3
/* 801D08A0 001CC500 40 80 00 40 */ bge lbl_801D08E0
/* 801D08A4 001CC504 48 00 00 30 */ b lbl_801D08D4
lbl_801D08A8:
/* 801D08A8 001CC508 2C 04 00 00 */ cmpwi r4, 0
/* 801D08AC 001CC50C 40 81 00 14 */ ble lbl_801D08C0
/* 801D08B0 001CC510 38 00 00 02 */ li r0, 2
/* 801D08B4 001CC514 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb
/* 801D08B8 001CC518 90 A3 00 04 */ stw r5, 4(r3)
/* 801D08BC 001CC51C 48 00 00 24 */ b lbl_801D08E0
lbl_801D08C0:
/* 801D08C0 001CC520 40 80 00 20 */ bge lbl_801D08E0
/* 801D08C4 001CC524 38 00 00 01 */ li r0, 1
/* 801D08C8 001CC528 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb
/* 801D08CC 001CC52C 90 A3 00 04 */ stw r5, 4(r3)
/* 801D08D0 001CC530 48 00 00 10 */ b lbl_801D08E0
lbl_801D08D4:
/* 801D08D4 001CC534 38 80 00 01 */ li r4, 1
/* 801D08D8 001CC538 48 00 00 08 */ b lbl_801D08E0
lbl_801D08DC:
/* 801D08DC 001CC53C 38 80 FF FF */ li r4, -1
lbl_801D08E0:
/* 801D08E0 001CC540 7C 83 23 78 */ mr r3, r4
/* 801D08E4 001CC544 4E 80 00 20 */ blr
.global __write_console
__write_console:
/* 801D08E8 001CC548 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D08EC 001CC54C 7C 08 02 A6 */ mflr r0
/* 801D08F0 001CC550 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D08F4 001CC554 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D08F8 001CC558 7C DF 33 78 */ mr r31, r6
/* 801D08FC 001CC55C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D0900 001CC560 7C BE 2B 78 */ mr r30, r5
/* 801D0904 001CC564 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D0908 001CC568 7C 9D 23 78 */ mr r29, r4
/* 801D090C 001CC56C 93 81 00 10 */ stw r28, 0x10(r1)
/* 801D0910 001CC570 7C 7C 1B 78 */ mr r28, r3
/* 801D0914 001CC574 48 09 7C 19 */ bl OSGetConsoleType
/* 801D0918 001CC578 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2
/* 801D091C 001CC57C 40 82 00 64 */ bne lbl_801D0980
/* 801D0920 001CC580 80 0D 9F D0 */ lwz r0, lbl_8063F290-_SDA_BASE_(r13)
/* 801D0924 001CC584 38 60 00 00 */ li r3, 0
/* 801D0928 001CC588 2C 00 00 00 */ cmpwi r0, 0
/* 801D092C 001CC58C 40 82 00 20 */ bne lbl_801D094C
/* 801D0930 001CC590 3C 60 00 01 */ lis r3, 0x0000E100@ha
/* 801D0934 001CC594 38 63 E1 00 */ addi r3, r3, 0x0000E100@l
/* 801D0938 001CC598 48 0E 30 75 */ bl func_802B39AC
/* 801D093C 001CC59C 2C 03 00 00 */ cmpwi r3, 0
/* 801D0940 001CC5A0 40 82 00 0C */ bne lbl_801D094C
/* 801D0944 001CC5A4 38 00 00 01 */ li r0, 1
/* 801D0948 001CC5A8 90 0D 9F D0 */ stw r0, lbl_8063F290-_SDA_BASE_(r13)
lbl_801D094C:
/* 801D094C 001CC5AC 2C 03 00 00 */ cmpwi r3, 0
/* 801D0950 001CC5B0 41 82 00 0C */ beq lbl_801D095C
/* 801D0954 001CC5B4 38 60 00 01 */ li r3, 1
/* 801D0958 001CC5B8 48 00 00 40 */ b lbl_801D0998
lbl_801D095C:
/* 801D095C 001CC5BC 80 9E 00 00 */ lwz r4, 0(r30)
/* 801D0960 001CC5C0 7F A3 EB 78 */ mr r3, r29
/* 801D0964 001CC5C4 48 0E 30 91 */ bl func_802B39F4
/* 801D0968 001CC5C8 2C 03 00 00 */ cmpwi r3, 0
/* 801D096C 001CC5CC 41 82 00 14 */ beq lbl_801D0980
/* 801D0970 001CC5D0 38 00 00 00 */ li r0, 0
/* 801D0974 001CC5D4 38 60 00 01 */ li r3, 1
/* 801D0978 001CC5D8 90 1E 00 00 */ stw r0, 0(r30)
/* 801D097C 001CC5DC 48 00 00 1C */ b lbl_801D0998
lbl_801D0980:
/* 801D0980 001CC5E0 7F 83 E3 78 */ mr r3, r28
/* 801D0984 001CC5E4 7F A4 EB 78 */ mr r4, r29
/* 801D0988 001CC5E8 7F C5 F3 78 */ mr r5, r30
/* 801D098C 001CC5EC 7F E6 FB 78 */ mr r6, r31
/* 801D0990 001CC5F0 48 00 86 31 */ bl func_801D8FC0
/* 801D0994 001CC5F4 38 60 00 00 */ li r3, 0
lbl_801D0998:
/* 801D0998 001CC5F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D099C 001CC5FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D09A0 001CC600 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D09A4 001CC604 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D09A8 001CC608 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801D09AC 001CC60C 7C 08 03 A6 */ mtlr r0
/* 801D09B0 001CC610 38 21 00 20 */ addi r1, r1, 0x20
/* 801D09B4 001CC614 4E 80 00 20 */ blr
/* 801D09B8 001CC618 38 60 00 00 */ li r3, 0
/* 801D09BC 001CC61C 4E 80 00 20 */ blr
.global func_801D09C0
func_801D09C0:
/* 801D09C0 001CC620 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D09C4 001CC624 7C 08 02 A6 */ mflr r0
/* 801D09C8 001CC628 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D09CC 001CC62C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D09D0 001CC630 7C 7F 1B 78 */ mr r31, r3
/* 801D09D4 001CC634 38 61 00 08 */ addi r3, r1, 8
/* 801D09D8 001CC638 48 00 38 B9 */ bl func_801D4290
/* 801D09DC 001CC63C 80 01 00 08 */ lwz r0, 8(r1)
/* 801D09E0 001CC640 7C 60 FA 14 */ add r3, r0, r31
/* 801D09E4 001CC644 90 61 00 08 */ stw r3, 8(r1)
/* 801D09E8 001CC648 48 00 39 31 */ bl func_801D4318
/* 801D09EC 001CC64C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D09F0 001CC650 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D09F4 001CC654 7C 08 03 A6 */ mtlr r0
/* 801D09F8 001CC658 38 21 00 20 */ addi r1, r1, 0x20
/* 801D09FC 001CC65C 4E 80 00 20 */ blr
.global func_801D0A00
func_801D0A00:
/* 801D0A00 001CC660 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 801D0A04 001CC664 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 801D0A08 001CC668 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_801D0A0C:
/* 801D0A0C 001CC66C 88 A3 00 00 */ lbz r5, 0(r3)
/* 801D0A10 001CC670 38 00 00 00 */ li r0, 0
/* 801D0A14 001CC674 38 63 00 01 */ addi r3, r3, 1
/* 801D0A18 001CC678 7C A7 07 75 */ extsb. r7, r5
/* 801D0A1C 001CC67C 41 80 00 0C */ blt lbl_801D0A28
/* 801D0A20 001CC680 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0A24 001CC684 41 80 00 08 */ blt lbl_801D0A2C
lbl_801D0A28:
/* 801D0A28 001CC688 38 00 00 01 */ li r0, 1
lbl_801D0A2C:
/* 801D0A2C 001CC68C 2C 00 00 00 */ cmpwi r0, 0
/* 801D0A30 001CC690 41 82 00 08 */ beq lbl_801D0A38
/* 801D0A34 001CC694 48 00 00 0C */ b lbl_801D0A40
lbl_801D0A38:
/* 801D0A38 001CC698 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0A3C 001CC69C 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0A40:
/* 801D0A40 001CC6A0 88 A4 00 00 */ lbz r5, 0(r4)
/* 801D0A44 001CC6A4 7C E8 07 74 */ extsb r8, r7
/* 801D0A48 001CC6A8 38 00 00 00 */ li r0, 0
/* 801D0A4C 001CC6AC 38 84 00 01 */ addi r4, r4, 1
/* 801D0A50 001CC6B0 7C A7 07 75 */ extsb. r7, r5
/* 801D0A54 001CC6B4 41 80 00 0C */ blt lbl_801D0A60
/* 801D0A58 001CC6B8 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0A5C 001CC6BC 41 80 00 08 */ blt lbl_801D0A64
lbl_801D0A60:
/* 801D0A60 001CC6C0 38 00 00 01 */ li r0, 1
lbl_801D0A64:
/* 801D0A64 001CC6C4 2C 00 00 00 */ cmpwi r0, 0
/* 801D0A68 001CC6C8 41 82 00 08 */ beq lbl_801D0A70
/* 801D0A6C 001CC6CC 48 00 00 0C */ b lbl_801D0A78
lbl_801D0A70:
/* 801D0A70 001CC6D0 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0A74 001CC6D4 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0A78:
/* 801D0A78 001CC6D8 7C E0 07 74 */ extsb r0, r7
/* 801D0A7C 001CC6DC 7C 08 00 00 */ cmpw r8, r0
/* 801D0A80 001CC6E0 40 80 00 0C */ bge lbl_801D0A8C
/* 801D0A84 001CC6E4 38 60 FF FF */ li r3, -1
/* 801D0A88 001CC6E8 4E 80 00 20 */ blr
lbl_801D0A8C:
/* 801D0A8C 001CC6EC 40 81 00 0C */ ble lbl_801D0A98
/* 801D0A90 001CC6F0 38 60 00 01 */ li r3, 1
/* 801D0A94 001CC6F4 4E 80 00 20 */ blr
lbl_801D0A98:
/* 801D0A98 001CC6F8 2C 08 00 00 */ cmpwi r8, 0
/* 801D0A9C 001CC6FC 40 82 FF 70 */ bne lbl_801D0A0C
/* 801D0AA0 001CC700 38 60 00 00 */ li r3, 0
/* 801D0AA4 001CC704 4E 80 00 20 */ blr
.global func_801D0AA8
func_801D0AA8:
/* 801D0AA8 001CC708 4B FF 93 18 */ b func_801C9DC0
.global func_801D0AAC
func_801D0AAC:
/* 801D0AAC 001CC70C 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 801D0AB0 001CC710 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 801D0AB4 001CC714 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_801D0AB8:
/* 801D0AB8 001CC718 88 A3 00 00 */ lbz r5, 0(r3)
/* 801D0ABC 001CC71C 38 00 00 00 */ li r0, 0
/* 801D0AC0 001CC720 38 63 00 01 */ addi r3, r3, 1
/* 801D0AC4 001CC724 7C A7 07 75 */ extsb. r7, r5
/* 801D0AC8 001CC728 41 80 00 0C */ blt lbl_801D0AD4
/* 801D0ACC 001CC72C 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0AD0 001CC730 41 80 00 08 */ blt lbl_801D0AD8
lbl_801D0AD4:
/* 801D0AD4 001CC734 38 00 00 01 */ li r0, 1
lbl_801D0AD8:
/* 801D0AD8 001CC738 2C 00 00 00 */ cmpwi r0, 0
/* 801D0ADC 001CC73C 41 82 00 08 */ beq lbl_801D0AE4
/* 801D0AE0 001CC740 48 00 00 0C */ b lbl_801D0AEC
lbl_801D0AE4:
/* 801D0AE4 001CC744 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0AE8 001CC748 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0AEC:
/* 801D0AEC 001CC74C 88 A4 00 00 */ lbz r5, 0(r4)
/* 801D0AF0 001CC750 7C E8 07 74 */ extsb r8, r7
/* 801D0AF4 001CC754 38 00 00 00 */ li r0, 0
/* 801D0AF8 001CC758 38 84 00 01 */ addi r4, r4, 1
/* 801D0AFC 001CC75C 7C A7 07 75 */ extsb. r7, r5
/* 801D0B00 001CC760 41 80 00 0C */ blt lbl_801D0B0C
/* 801D0B04 001CC764 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0B08 001CC768 41 80 00 08 */ blt lbl_801D0B10
lbl_801D0B0C:
/* 801D0B0C 001CC76C 38 00 00 01 */ li r0, 1
lbl_801D0B10:
/* 801D0B10 001CC770 2C 00 00 00 */ cmpwi r0, 0
/* 801D0B14 001CC774 41 82 00 08 */ beq lbl_801D0B1C
/* 801D0B18 001CC778 48 00 00 0C */ b lbl_801D0B24
lbl_801D0B1C:
/* 801D0B1C 001CC77C 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0B20 001CC780 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0B24:
/* 801D0B24 001CC784 7C E0 07 74 */ extsb r0, r7
/* 801D0B28 001CC788 7C 08 00 00 */ cmpw r8, r0
/* 801D0B2C 001CC78C 40 80 00 0C */ bge lbl_801D0B38
/* 801D0B30 001CC790 38 60 FF FF */ li r3, -1
/* 801D0B34 001CC794 4E 80 00 20 */ blr
lbl_801D0B38:
/* 801D0B38 001CC798 40 81 00 0C */ ble lbl_801D0B44
/* 801D0B3C 001CC79C 38 60 00 01 */ li r3, 1
/* 801D0B40 001CC7A0 4E 80 00 20 */ blr
lbl_801D0B44:
/* 801D0B44 001CC7A4 2C 08 00 00 */ cmpwi r8, 0
/* 801D0B48 001CC7A8 40 82 FF 70 */ bne lbl_801D0AB8
/* 801D0B4C 001CC7AC 38 60 00 00 */ li r3, 0
/* 801D0B50 001CC7B0 4E 80 00 20 */ blr
.global func_801D0B54
func_801D0B54:
/* 801D0B54 001CC7B4 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 801D0B58 001CC7B8 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 801D0B5C 001CC7BC 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_801D0B60:
/* 801D0B60 001CC7C0 88 A3 00 00 */ lbz r5, 0(r3)
/* 801D0B64 001CC7C4 38 00 00 00 */ li r0, 0
/* 801D0B68 001CC7C8 38 63 00 01 */ addi r3, r3, 1
/* 801D0B6C 001CC7CC 7C A7 07 75 */ extsb. r7, r5
/* 801D0B70 001CC7D0 41 80 00 0C */ blt lbl_801D0B7C
/* 801D0B74 001CC7D4 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0B78 001CC7D8 41 80 00 08 */ blt lbl_801D0B80
lbl_801D0B7C:
/* 801D0B7C 001CC7DC 38 00 00 01 */ li r0, 1
lbl_801D0B80:
/* 801D0B80 001CC7E0 2C 00 00 00 */ cmpwi r0, 0
/* 801D0B84 001CC7E4 41 82 00 08 */ beq lbl_801D0B8C
/* 801D0B88 001CC7E8 48 00 00 0C */ b lbl_801D0B94
lbl_801D0B8C:
/* 801D0B8C 001CC7EC 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0B90 001CC7F0 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0B94:
/* 801D0B94 001CC7F4 88 A4 00 00 */ lbz r5, 0(r4)
/* 801D0B98 001CC7F8 7C E8 07 74 */ extsb r8, r7
/* 801D0B9C 001CC7FC 38 00 00 00 */ li r0, 0
/* 801D0BA0 001CC800 38 84 00 01 */ addi r4, r4, 1
/* 801D0BA4 001CC804 7C A7 07 75 */ extsb. r7, r5
/* 801D0BA8 001CC808 41 80 00 0C */ blt lbl_801D0BB4
/* 801D0BAC 001CC80C 2C 07 01 00 */ cmpwi r7, 0x100
/* 801D0BB0 001CC810 41 80 00 08 */ blt lbl_801D0BB8
lbl_801D0BB4:
/* 801D0BB4 001CC814 38 00 00 01 */ li r0, 1
lbl_801D0BB8:
/* 801D0BB8 001CC818 2C 00 00 00 */ cmpwi r0, 0
/* 801D0BBC 001CC81C 41 82 00 08 */ beq lbl_801D0BC4
/* 801D0BC0 001CC820 48 00 00 0C */ b lbl_801D0BCC
lbl_801D0BC4:
/* 801D0BC4 001CC824 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 801D0BC8 001CC828 7C E5 38 AE */ lbzx r7, r5, r7
lbl_801D0BCC:
/* 801D0BCC 001CC82C 7C E0 07 74 */ extsb r0, r7
/* 801D0BD0 001CC830 7C 08 00 00 */ cmpw r8, r0
/* 801D0BD4 001CC834 40 80 00 0C */ bge lbl_801D0BE0
/* 801D0BD8 001CC838 38 60 FF FF */ li r3, -1
/* 801D0BDC 001CC83C 4E 80 00 20 */ blr
lbl_801D0BE0:
/* 801D0BE0 001CC840 40 81 00 0C */ ble lbl_801D0BEC
/* 801D0BE4 001CC844 38 60 00 01 */ li r3, 1
/* 801D0BE8 001CC848 4E 80 00 20 */ blr
lbl_801D0BEC:
/* 801D0BEC 001CC84C 2C 08 00 00 */ cmpwi r8, 0
/* 801D0BF0 001CC850 40 82 FF 70 */ bne lbl_801D0B60
/* 801D0BF4 001CC854 38 60 00 00 */ li r3, 0
/* 801D0BF8 001CC858 4E 80 00 20 */ blr
lbl_801D0BFC:
/* 801D0BFC 001CC85C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801D0C00 001CC860 7C 08 02 A6 */ mflr r0
/* 801D0C04 001CC864 90 01 00 44 */ stw r0, 0x44(r1)
/* 801D0C08 001CC868 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 801D0C0C 001CC86C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 801D0C10 001CC870 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 801D0C14 001CC874 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 801D0C18 001CC878 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D0C1C 001CC87C 3C 00 3F F0 */ lis r0, 0x3ff0
/* 801D0C20 001CC880 80 81 00 08 */ lwz r4, 8(r1)
/* 801D0C24 001CC884 54 83 00 7E */ clrlwi r3, r4, 1
/* 801D0C28 001CC888 7C 03 00 00 */ cmpw r3, r0
/* 801D0C2C 001CC88C 41 80 00 38 */ blt lbl_801D0C64
/* 801D0C30 001CC890 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D0C34 001CC894 3C 63 C0 10 */ addis r3, r3, 0xc010
/* 801D0C38 001CC898 7C 60 03 79 */ or. r0, r3, r0
/* 801D0C3C 001CC89C 40 82 00 1C */ bne lbl_801D0C58
/* 801D0C40 001CC8A0 2C 04 00 00 */ cmpwi r4, 0
/* 801D0C44 001CC8A4 40 81 00 0C */ ble lbl_801D0C50
/* 801D0C48 001CC8A8 C8 22 91 90 */ lfd f1, lbl_80641790-_SDA2_BASE_(r2)
/* 801D0C4C 001CC8AC 48 00 02 54 */ b lbl_801D0EA0
lbl_801D0C50:
/* 801D0C50 001CC8B0 C8 22 91 98 */ lfd f1, lbl_80641798-_SDA2_BASE_(r2)
/* 801D0C54 001CC8B4 48 00 02 4C */ b lbl_801D0EA0
lbl_801D0C58:
/* 801D0C58 001CC8B8 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801D0C5C 001CC8BC C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801D0C60 001CC8C0 48 00 02 40 */ b lbl_801D0EA0
lbl_801D0C64:
/* 801D0C64 001CC8C4 3C 00 3F E0 */ lis r0, 0x3fe0
/* 801D0C68 001CC8C8 7C 03 00 00 */ cmpw r3, r0
/* 801D0C6C 001CC8CC 40 80 00 B4 */ bge lbl_801D0D20
/* 801D0C70 001CC8D0 3C 00 3C 60 */ lis r0, 0x3c60
/* 801D0C74 001CC8D4 7C 03 00 00 */ cmpw r3, r0
/* 801D0C78 001CC8D8 41 81 00 0C */ bgt lbl_801D0C84
/* 801D0C7C 001CC8DC C8 22 91 A0 */ lfd f1, lbl_806417A0-_SDA2_BASE_(r2)
/* 801D0C80 001CC8E0 48 00 02 20 */ b lbl_801D0EA0
lbl_801D0C84:
/* 801D0C84 001CC8E4 FD 81 00 72 */ fmul f12, f1, f1
/* 801D0C88 001CC8E8 C8 02 91 D0 */ lfd f0, lbl_806417D0-_SDA2_BASE_(r2)
/* 801D0C8C 001CC8EC C8 42 91 F8 */ lfd f2, lbl_806417F8-_SDA2_BASE_(r2)
/* 801D0C90 001CC8F0 C8 62 91 C8 */ lfd f3, lbl_806417C8-_SDA2_BASE_(r2)
/* 801D0C94 001CC8F4 C9 42 91 C0 */ lfd f10, lbl_806417C0-_SDA2_BASE_(r2)
/* 801D0C98 001CC8F8 FC 80 03 32 */ fmul f4, f0, f12
/* 801D0C9C 001CC8FC C8 02 91 F0 */ lfd f0, lbl_806417F0-_SDA2_BASE_(r2)
/* 801D0CA0 001CC900 FC 42 03 32 */ fmul f2, f2, f12
/* 801D0CA4 001CC904 C8 A2 91 E8 */ lfd f5, lbl_806417E8-_SDA2_BASE_(r2)
/* 801D0CA8 001CC908 C9 22 91 B8 */ lfd f9, lbl_806417B8-_SDA2_BASE_(r2)
/* 801D0CAC 001CC90C FC 63 20 2A */ fadd f3, f3, f4
/* 801D0CB0 001CC910 C8 82 91 E0 */ lfd f4, lbl_806417E0-_SDA2_BASE_(r2)
/* 801D0CB4 001CC914 FC 00 10 2A */ fadd f0, f0, f2
/* 801D0CB8 001CC918 FD 6C 00 F2 */ fmul f11, f12, f3
/* 801D0CBC 001CC91C C9 02 91 B0 */ lfd f8, lbl_806417B0-_SDA2_BASE_(r2)
/* 801D0CC0 001CC920 C8 62 91 D8 */ lfd f3, lbl_806417D8-_SDA2_BASE_(r2)
/* 801D0CC4 001CC924 FC CC 00 32 */ fmul f6, f12, f0
/* 801D0CC8 001CC928 C8 E2 91 A8 */ lfd f7, lbl_806417A8-_SDA2_BASE_(r2)
/* 801D0CCC 001CC92C C8 42 92 00 */ lfd f2, lbl_80641800-_SDA2_BASE_(r2)
/* 801D0CD0 001CC930 FD 4A 58 2A */ fadd f10, f10, f11
/* 801D0CD4 001CC934 C8 02 91 A0 */ lfd f0, lbl_806417A0-_SDA2_BASE_(r2)
/* 801D0CD8 001CC938 FC A5 30 2A */ fadd f5, f5, f6
/* 801D0CDC 001CC93C FC CC 02 B2 */ fmul f6, f12, f10
/* 801D0CE0 001CC940 FC AC 01 72 */ fmul f5, f12, f5
/* 801D0CE4 001CC944 FC C9 30 2A */ fadd f6, f9, f6
/* 801D0CE8 001CC948 FC 84 28 2A */ fadd f4, f4, f5
/* 801D0CEC 001CC94C FC AC 01 B2 */ fmul f5, f12, f6
/* 801D0CF0 001CC950 FC 8C 01 32 */ fmul f4, f12, f4
/* 801D0CF4 001CC954 FC A8 28 2A */ fadd f5, f8, f5
/* 801D0CF8 001CC958 FC 83 20 2A */ fadd f4, f3, f4
/* 801D0CFC 001CC95C FC 6C 01 72 */ fmul f3, f12, f5
/* 801D0D00 001CC960 FC 67 18 2A */ fadd f3, f7, f3
/* 801D0D04 001CC964 FC 6C 00 F2 */ fmul f3, f12, f3
/* 801D0D08 001CC968 FC 63 20 24 */ fdiv f3, f3, f4
/* 801D0D0C 001CC96C FC 61 00 F2 */ fmul f3, f1, f3
/* 801D0D10 001CC970 FC 42 18 28 */ fsub f2, f2, f3
/* 801D0D14 001CC974 FC 21 10 28 */ fsub f1, f1, f2
/* 801D0D18 001CC978 FC 20 08 28 */ fsub f1, f0, f1
/* 801D0D1C 001CC97C 48 00 01 84 */ b lbl_801D0EA0
lbl_801D0D20:
/* 801D0D20 001CC980 2C 04 00 00 */ cmpwi r4, 0
/* 801D0D24 001CC984 40 80 00 B4 */ bge lbl_801D0DD8
/* 801D0D28 001CC988 C9 62 91 D8 */ lfd f11, lbl_806417D8-_SDA2_BASE_(r2)
/* 801D0D2C 001CC98C C8 02 92 08 */ lfd f0, lbl_80641808-_SDA2_BASE_(r2)
/* 801D0D30 001CC990 FC 2B 08 2A */ fadd f1, f11, f1
/* 801D0D34 001CC994 C8 82 91 D0 */ lfd f4, lbl_806417D0-_SDA2_BASE_(r2)
/* 801D0D38 001CC998 C9 22 91 C8 */ lfd f9, lbl_806417C8-_SDA2_BASE_(r2)
/* 801D0D3C 001CC99C C8 62 91 F0 */ lfd f3, lbl_806417F0-_SDA2_BASE_(r2)
/* 801D0D40 001CC9A0 FC 20 00 72 */ fmul f1, f0, f1
/* 801D0D44 001CC9A4 C8 02 91 F8 */ lfd f0, lbl_806417F8-_SDA2_BASE_(r2)
/* 801D0D48 001CC9A8 C9 02 91 C0 */ lfd f8, lbl_806417C0-_SDA2_BASE_(r2)
/* 801D0D4C 001CC9AC C8 42 91 E8 */ lfd f2, lbl_806417E8-_SDA2_BASE_(r2)
/* 801D0D50 001CC9B0 C8 E2 91 B8 */ lfd f7, lbl_806417B8-_SDA2_BASE_(r2)
/* 801D0D54 001CC9B4 FD 44 00 72 */ fmul f10, f4, f1
/* 801D0D58 001CC9B8 C8 C2 91 B0 */ lfd f6, lbl_806417B0-_SDA2_BASE_(r2)
/* 801D0D5C 001CC9BC FC 80 00 72 */ fmul f4, f0, f1
/* 801D0D60 001CC9C0 C8 02 91 E0 */ lfd f0, lbl_806417E0-_SDA2_BASE_(r2)
/* 801D0D64 001CC9C4 C8 A2 91 A8 */ lfd f5, lbl_806417A8-_SDA2_BASE_(r2)
/* 801D0D68 001CC9C8 FD 29 50 2A */ fadd f9, f9, f10
/* 801D0D6C 001CC9CC FC 63 20 2A */ fadd f3, f3, f4
/* 801D0D70 001CC9D0 FC 81 02 72 */ fmul f4, f1, f9
/* 801D0D74 001CC9D4 FC 61 00 F2 */ fmul f3, f1, f3
/* 801D0D78 001CC9D8 FC 88 20 2A */ fadd f4, f8, f4
/* 801D0D7C 001CC9DC FC 42 18 2A */ fadd f2, f2, f3
/* 801D0D80 001CC9E0 FC 61 01 32 */ fmul f3, f1, f4
/* 801D0D84 001CC9E4 FC 41 00 B2 */ fmul f2, f1, f2
/* 801D0D88 001CC9E8 FC 67 18 2A */ fadd f3, f7, f3
/* 801D0D8C 001CC9EC FC 00 10 2A */ fadd f0, f0, f2
/* 801D0D90 001CC9F0 FC 41 00 F2 */ fmul f2, f1, f3
/* 801D0D94 001CC9F4 FC 01 00 32 */ fmul f0, f1, f0
/* 801D0D98 001CC9F8 FC 46 10 2A */ fadd f2, f6, f2
/* 801D0D9C 001CC9FC FF CB 00 2A */ fadd f30, f11, f0
/* 801D0DA0 001CCA00 FC 01 00 B2 */ fmul f0, f1, f2
/* 801D0DA4 001CCA04 FC 05 00 2A */ fadd f0, f5, f0
/* 801D0DA8 001CCA08 FF E1 00 32 */ fmul f31, f1, f0
/* 801D0DAC 001CCA0C 48 00 3A 89 */ bl func_801D4834
/* 801D0DB0 001CCA10 FC 9F F0 24 */ fdiv f4, f31, f30
/* 801D0DB4 001CCA14 C8 62 92 00 */ lfd f3, lbl_80641800-_SDA2_BASE_(r2)
/* 801D0DB8 001CCA18 C8 42 92 10 */ lfd f2, lbl_80641810-_SDA2_BASE_(r2)
/* 801D0DBC 001CCA1C C8 02 91 98 */ lfd f0, lbl_80641798-_SDA2_BASE_(r2)
/* 801D0DC0 001CCA20 FC 84 00 72 */ fmul f4, f4, f1
/* 801D0DC4 001CCA24 FC 64 18 28 */ fsub f3, f4, f3
/* 801D0DC8 001CCA28 FC 21 18 2A */ fadd f1, f1, f3
/* 801D0DCC 001CCA2C FC 22 00 72 */ fmul f1, f2, f1
/* 801D0DD0 001CCA30 FC 20 08 28 */ fsub f1, f0, f1
/* 801D0DD4 001CCA34 48 00 00 CC */ b lbl_801D0EA0
lbl_801D0DD8:
/* 801D0DD8 001CCA38 C8 42 91 D8 */ lfd f2, lbl_806417D8-_SDA2_BASE_(r2)
/* 801D0DDC 001CCA3C C8 02 92 08 */ lfd f0, lbl_80641808-_SDA2_BASE_(r2)
/* 801D0DE0 001CCA40 FC 22 08 28 */ fsub f1, f2, f1
/* 801D0DE4 001CCA44 FF E0 00 72 */ fmul f31, f0, f1
/* 801D0DE8 001CCA48 FC 20 F8 90 */ fmr f1, f31
/* 801D0DEC 001CCA4C 48 00 3A 49 */ bl func_801D4834
/* 801D0DF0 001CCA50 C8 42 91 D0 */ lfd f2, lbl_806417D0-_SDA2_BASE_(r2)
/* 801D0DF4 001CCA54 38 00 00 00 */ li r0, 0
/* 801D0DF8 001CCA58 D8 21 00 10 */ stfd f1, 0x10(r1)
/* 801D0DFC 001CCA5C FC 82 07 F2 */ fmul f4, f2, f31
/* 801D0E00 001CCA60 C8 02 91 F8 */ lfd f0, lbl_806417F8-_SDA2_BASE_(r2)
/* 801D0E04 001CCA64 C8 62 91 C8 */ lfd f3, lbl_806417C8-_SDA2_BASE_(r2)
/* 801D0E08 001CCA68 FC 40 07 F2 */ fmul f2, f0, f31
/* 801D0E0C 001CCA6C C8 02 91 F0 */ lfd f0, lbl_806417F0-_SDA2_BASE_(r2)
/* 801D0E10 001CCA70 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D0E14 001CCA74 FC 63 20 2A */ fadd f3, f3, f4
/* 801D0E18 001CCA78 C9 61 00 10 */ lfd f11, 0x10(r1)
/* 801D0E1C 001CCA7C FC 00 10 2A */ fadd f0, f0, f2
/* 801D0E20 001CCA80 FD 4B 02 F2 */ fmul f10, f11, f11
/* 801D0E24 001CCA84 C8 C2 91 C0 */ lfd f6, lbl_806417C0-_SDA2_BASE_(r2)
/* 801D0E28 001CCA88 C9 02 91 B8 */ lfd f8, lbl_806417B8-_SDA2_BASE_(r2)
/* 801D0E2C 001CCA8C FC 5F 00 F2 */ fmul f2, f31, f3
/* 801D0E30 001CCA90 C8 82 91 E8 */ lfd f4, lbl_806417E8-_SDA2_BASE_(r2)
/* 801D0E34 001CCA94 C8 E2 91 B0 */ lfd f7, lbl_806417B0-_SDA2_BASE_(r2)
/* 801D0E38 001CCA98 FC BF 00 32 */ fmul f5, f31, f0
/* 801D0E3C 001CCA9C C8 62 91 E0 */ lfd f3, lbl_806417E0-_SDA2_BASE_(r2)
/* 801D0E40 001CCAA0 FC 06 10 2A */ fadd f0, f6, f2
/* 801D0E44 001CCAA4 C8 C2 91 A8 */ lfd f6, lbl_806417A8-_SDA2_BASE_(r2)
/* 801D0E48 001CCAA8 C8 42 91 D8 */ lfd f2, lbl_806417D8-_SDA2_BASE_(r2)
/* 801D0E4C 001CCAAC FD 5F 50 28 */ fsub f10, f31, f10
/* 801D0E50 001CCAB0 FD 3F 00 32 */ fmul f9, f31, f0
/* 801D0E54 001CCAB4 C8 02 92 10 */ lfd f0, lbl_80641810-_SDA2_BASE_(r2)
/* 801D0E58 001CCAB8 FC 84 28 2A */ fadd f4, f4, f5
/* 801D0E5C 001CCABC FC A8 48 2A */ fadd f5, f8, f9
/* 801D0E60 001CCAC0 FC 9F 01 32 */ fmul f4, f31, f4
/* 801D0E64 001CCAC4 FC BF 01 72 */ fmul f5, f31, f5
/* 801D0E68 001CCAC8 FC 63 20 2A */ fadd f3, f3, f4
/* 801D0E6C 001CCACC FD 01 58 2A */ fadd f8, f1, f11
/* 801D0E70 001CCAD0 FC 87 28 2A */ fadd f4, f7, f5
/* 801D0E74 001CCAD4 FC 7F 00 F2 */ fmul f3, f31, f3
/* 801D0E78 001CCAD8 FC 9F 01 32 */ fmul f4, f31, f4
/* 801D0E7C 001CCADC FC 62 18 2A */ fadd f3, f2, f3
/* 801D0E80 001CCAE0 FC AA 40 24 */ fdiv f5, f10, f8
/* 801D0E84 001CCAE4 FC 46 20 2A */ fadd f2, f6, f4
/* 801D0E88 001CCAE8 FC 5F 00 B2 */ fmul f2, f31, f2
/* 801D0E8C 001CCAEC FC 42 18 24 */ fdiv f2, f2, f3
/* 801D0E90 001CCAF0 FC 22 00 72 */ fmul f1, f2, f1
/* 801D0E94 001CCAF4 FC 25 08 2A */ fadd f1, f5, f1
/* 801D0E98 001CCAF8 FC 2B 08 2A */ fadd f1, f11, f1
/* 801D0E9C 001CCAFC FC 20 00 72 */ fmul f1, f0, f1
lbl_801D0EA0:
/* 801D0EA0 001CCB00 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 801D0EA4 001CCB04 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 801D0EA8 001CCB08 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 801D0EAC 001CCB0C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801D0EB0 001CCB10 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 801D0EB4 001CCB14 7C 08 03 A6 */ mtlr r0
/* 801D0EB8 001CCB18 38 21 00 40 */ addi r1, r1, 0x40
/* 801D0EBC 001CCB1C 4E 80 00 20 */ blr
lbl_801D0EC0:
/* 801D0EC0 001CCB20 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D0EC4 001CCB24 7C 08 02 A6 */ mflr r0
/* 801D0EC8 001CCB28 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D0ECC 001CCB2C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 801D0ED0 001CCB30 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 801D0ED4 001CCB34 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 801D0ED8 001CCB38 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 801D0EDC 001CCB3C DB A1 00 20 */ stfd f29, 0x20(r1)
/* 801D0EE0 001CCB40 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
/* 801D0EE4 001CCB44 3C 00 3F F0 */ lis r0, 0x3ff0
/* 801D0EE8 001CCB48 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D0EEC 001CCB4C D8 21 00 08 */ stfd f1, 8(r1)
/* 801D0EF0 001CCB50 83 E1 00 08 */ lwz r31, 8(r1)
/* 801D0EF4 001CCB54 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D0EF8 001CCB58 57 FE 00 7E */ clrlwi r30, r31, 1
/* 801D0EFC 001CCB5C 7C 1E 00 00 */ cmpw r30, r0
/* 801D0F00 001CCB60 41 80 00 38 */ blt lbl_801D0F38
/* 801D0F04 001CCB64 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D0F08 001CCB68 3C 7E C0 10 */ addis r3, r30, 0xc010
/* 801D0F0C 001CCB6C 7C 60 03 79 */ or. r0, r3, r0
/* 801D0F10 001CCB70 40 82 00 1C */ bne lbl_801D0F2C
/* 801D0F14 001CCB74 C8 42 92 18 */ lfd f2, lbl_80641818-_SDA2_BASE_(r2)
/* 801D0F18 001CCB78 C8 02 92 20 */ lfd f0, lbl_80641820-_SDA2_BASE_(r2)
/* 801D0F1C 001CCB7C FC 42 00 72 */ fmul f2, f2, f1
/* 801D0F20 001CCB80 FC 00 00 72 */ fmul f0, f0, f1
/* 801D0F24 001CCB84 FC 22 00 2A */ fadd f1, f2, f0
/* 801D0F28 001CCB88 48 00 02 00 */ b lbl_801D1128
lbl_801D0F2C:
/* 801D0F2C 001CCB8C 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801D0F30 001CCB90 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801D0F34 001CCB94 48 00 01 F4 */ b lbl_801D1128
lbl_801D0F38:
/* 801D0F38 001CCB98 3C 00 3F E0 */ lis r0, 0x3fe0
/* 801D0F3C 001CCB9C 7C 1E 00 00 */ cmpw r30, r0
/* 801D0F40 001CCBA0 40 80 00 B8 */ bge lbl_801D0FF8
/* 801D0F44 001CCBA4 3C 00 3E 40 */ lis r0, 0x3e40
/* 801D0F48 001CCBA8 7C 1E 00 00 */ cmpw r30, r0
/* 801D0F4C 001CCBAC 40 80 00 1C */ bge lbl_801D0F68
/* 801D0F50 001CCBB0 C8 42 92 28 */ lfd f2, lbl_80641828-_SDA2_BASE_(r2)
/* 801D0F54 001CCBB4 C8 02 92 30 */ lfd f0, lbl_80641830-_SDA2_BASE_(r2)
/* 801D0F58 001CCBB8 FC 42 08 2A */ fadd f2, f2, f1
/* 801D0F5C 001CCBBC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801D0F60 001CCBC0 40 81 00 0C */ ble lbl_801D0F6C
/* 801D0F64 001CCBC4 48 00 01 C4 */ b lbl_801D1128
lbl_801D0F68:
/* 801D0F68 001CCBC8 FF E1 00 72 */ fmul f31, f1, f1
lbl_801D0F6C:
/* 801D0F6C 001CCBCC C8 42 92 60 */ lfd f2, lbl_80641860-_SDA2_BASE_(r2)
/* 801D0F70 001CCBD0 C8 02 92 80 */ lfd f0, lbl_80641880-_SDA2_BASE_(r2)
/* 801D0F74 001CCBD4 FC 82 07 F2 */ fmul f4, f2, f31
/* 801D0F78 001CCBD8 C8 62 92 58 */ lfd f3, lbl_80641858-_SDA2_BASE_(r2)
/* 801D0F7C 001CCBDC C9 02 92 50 */ lfd f8, lbl_80641850-_SDA2_BASE_(r2)
/* 801D0F80 001CCBE0 FC 40 07 F2 */ fmul f2, f0, f31
/* 801D0F84 001CCBE4 C8 02 92 78 */ lfd f0, lbl_80641878-_SDA2_BASE_(r2)
/* 801D0F88 001CCBE8 C8 E2 92 48 */ lfd f7, lbl_80641848-_SDA2_BASE_(r2)
/* 801D0F8C 001CCBEC FC 83 20 2A */ fadd f4, f3, f4
/* 801D0F90 001CCBF0 C8 62 92 70 */ lfd f3, lbl_80641870-_SDA2_BASE_(r2)
/* 801D0F94 001CCBF4 FC 00 10 2A */ fadd f0, f0, f2
/* 801D0F98 001CCBF8 C8 42 92 68 */ lfd f2, lbl_80641868-_SDA2_BASE_(r2)
/* 801D0F9C 001CCBFC FD 3F 01 32 */ fmul f9, f31, f4
/* 801D0FA0 001CCC00 C8 C2 92 40 */ lfd f6, lbl_80641840-_SDA2_BASE_(r2)
/* 801D0FA4 001CCC04 C8 A2 92 38 */ lfd f5, lbl_80641838-_SDA2_BASE_(r2)
/* 801D0FA8 001CCC08 FC 9F 00 32 */ fmul f4, f31, f0
/* 801D0FAC 001CCC0C C8 02 92 30 */ lfd f0, lbl_80641830-_SDA2_BASE_(r2)
/* 801D0FB0 001CCC10 FD 08 48 2A */ fadd f8, f8, f9
/* 801D0FB4 001CCC14 FC 63 20 2A */ fadd f3, f3, f4
/* 801D0FB8 001CCC18 FC 9F 02 32 */ fmul f4, f31, f8
/* 801D0FBC 001CCC1C FC 7F 00 F2 */ fmul f3, f31, f3
/* 801D0FC0 001CCC20 FC 87 20 2A */ fadd f4, f7, f4
/* 801D0FC4 001CCC24 FC 42 18 2A */ fadd f2, f2, f3
/* 801D0FC8 001CCC28 FC 7F 01 32 */ fmul f3, f31, f4
/* 801D0FCC 001CCC2C FC 5F 00 B2 */ fmul f2, f31, f2
/* 801D0FD0 001CCC30 FC 66 18 2A */ fadd f3, f6, f3
/* 801D0FD4 001CCC34 FC 40 10 2A */ fadd f2, f0, f2
/* 801D0FD8 001CCC38 FC 1F 00 F2 */ fmul f0, f31, f3
/* 801D0FDC 001CCC3C FC 05 00 2A */ fadd f0, f5, f0
/* 801D0FE0 001CCC40 FC 1F 00 32 */ fmul f0, f31, f0
/* 801D0FE4 001CCC44 FC 40 10 24 */ fdiv f2, f0, f2
/* 801D0FE8 001CCC48 FC 01 00 B2 */ fmul f0, f1, f2
/* 801D0FEC 001CCC4C D8 41 00 10 */ stfd f2, 0x10(r1)
/* 801D0FF0 001CCC50 FC 21 00 2A */ fadd f1, f1, f0
/* 801D0FF4 001CCC54 48 00 01 34 */ b lbl_801D1128
lbl_801D0FF8:
/* 801D0FF8 001CCC58 FC 20 0A 10 */ fabs f1, f1
/* 801D0FFC 001CCC5C C9 62 92 30 */ lfd f11, lbl_80641830-_SDA2_BASE_(r2)
/* 801D1000 001CCC60 C8 42 92 88 */ lfd f2, lbl_80641888-_SDA2_BASE_(r2)
/* 801D1004 001CCC64 C8 02 92 60 */ lfd f0, lbl_80641860-_SDA2_BASE_(r2)
/* 801D1008 001CCC68 FC 6B 08 28 */ fsub f3, f11, f1
/* 801D100C 001CCC6C C8 22 92 80 */ lfd f1, lbl_80641880-_SDA2_BASE_(r2)
/* 801D1010 001CCC70 C9 22 92 58 */ lfd f9, lbl_80641858-_SDA2_BASE_(r2)
/* 801D1014 001CCC74 C9 02 92 50 */ lfd f8, lbl_80641850-_SDA2_BASE_(r2)
/* 801D1018 001CCC78 FF E2 00 F2 */ fmul f31, f2, f3
/* 801D101C 001CCC7C C8 62 92 78 */ lfd f3, lbl_80641878-_SDA2_BASE_(r2)
/* 801D1020 001CCC80 C8 42 92 70 */ lfd f2, lbl_80641870-_SDA2_BASE_(r2)
/* 801D1024 001CCC84 C8 E2 92 48 */ lfd f7, lbl_80641848-_SDA2_BASE_(r2)
/* 801D1028 001CCC88 C8 C2 92 40 */ lfd f6, lbl_80641840-_SDA2_BASE_(r2)
/* 801D102C 001CCC8C FD 40 07 F2 */ fmul f10, f0, f31
/* 801D1030 001CCC90 C8 02 92 68 */ lfd f0, lbl_80641868-_SDA2_BASE_(r2)
/* 801D1034 001CCC94 FC 81 07 F2 */ fmul f4, f1, f31
/* 801D1038 001CCC98 C8 A2 92 38 */ lfd f5, lbl_80641838-_SDA2_BASE_(r2)
/* 801D103C 001CCC9C FD 29 50 2A */ fadd f9, f9, f10
/* 801D1040 001CCCA0 FC 20 F8 90 */ fmr f1, f31
/* 801D1044 001CCCA4 FC 63 20 2A */ fadd f3, f3, f4
/* 801D1048 001CCCA8 FC 9F 02 72 */ fmul f4, f31, f9
/* 801D104C 001CCCAC FC 7F 00 F2 */ fmul f3, f31, f3
/* 801D1050 001CCCB0 FC 88 20 2A */ fadd f4, f8, f4
/* 801D1054 001CCCB4 FC 42 18 2A */ fadd f2, f2, f3
/* 801D1058 001CCCB8 FC 7F 01 32 */ fmul f3, f31, f4
/* 801D105C 001CCCBC FC 5F 00 B2 */ fmul f2, f31, f2
/* 801D1060 001CCCC0 FC 67 18 2A */ fadd f3, f7, f3
/* 801D1064 001CCCC4 FC 00 10 2A */ fadd f0, f0, f2
/* 801D1068 001CCCC8 FC 5F 00 F2 */ fmul f2, f31, f3
/* 801D106C 001CCCCC FC 1F 00 32 */ fmul f0, f31, f0
/* 801D1070 001CCCD0 FC 46 10 2A */ fadd f2, f6, f2
/* 801D1074 001CCCD4 FF AB 00 2A */ fadd f29, f11, f0
/* 801D1078 001CCCD8 FC 1F 00 B2 */ fmul f0, f31, f2
/* 801D107C 001CCCDC FC 05 00 2A */ fadd f0, f5, f0
/* 801D1080 001CCCE0 FF DF 00 32 */ fmul f30, f31, f0
/* 801D1084 001CCCE4 48 00 37 B1 */ bl func_801D4834
/* 801D1088 001CCCE8 3C 60 3F EF */ lis r3, 0x3FEF3333@ha
/* 801D108C 001CCCEC 38 03 33 33 */ addi r0, r3, 0x3FEF3333@l
/* 801D1090 001CCCF0 7C 1E 00 00 */ cmpw r30, r0
/* 801D1094 001CCCF4 41 80 00 30 */ blt lbl_801D10C4
/* 801D1098 001CCCF8 FC BE E8 24 */ fdiv f5, f30, f29
/* 801D109C 001CCCFC C8 62 92 90 */ lfd f3, lbl_80641890-_SDA2_BASE_(r2)
/* 801D10A0 001CCD00 C8 42 92 20 */ lfd f2, lbl_80641820-_SDA2_BASE_(r2)
/* 801D10A4 001CCD04 C8 02 92 18 */ lfd f0, lbl_80641818-_SDA2_BASE_(r2)
/* 801D10A8 001CCD08 FC 81 01 72 */ fmul f4, f1, f5
/* 801D10AC 001CCD0C D8 A1 00 10 */ stfd f5, 0x10(r1)
/* 801D10B0 001CCD10 FC 21 20 2A */ fadd f1, f1, f4
/* 801D10B4 001CCD14 FC 23 00 72 */ fmul f1, f3, f1
/* 801D10B8 001CCD18 FC 21 10 28 */ fsub f1, f1, f2
/* 801D10BC 001CCD1C FC 20 08 28 */ fsub f1, f0, f1
/* 801D10C0 001CCD20 48 00 00 58 */ b lbl_801D1118
lbl_801D10C4:
/* 801D10C4 001CCD24 D8 21 00 10 */ stfd f1, 0x10(r1)
/* 801D10C8 001CCD28 38 00 00 00 */ li r0, 0
/* 801D10CC 001CCD2C C8 A2 92 90 */ lfd f5, lbl_80641890-_SDA2_BASE_(r2)
/* 801D10D0 001CCD30 FD 1E E8 24 */ fdiv f8, f30, f29
/* 801D10D4 001CCD34 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D10D8 001CCD38 C8 62 92 20 */ lfd f3, lbl_80641820-_SDA2_BASE_(r2)
/* 801D10DC 001CCD3C C8 E1 00 10 */ lfd f7, 0x10(r1)
/* 801D10E0 001CCD40 C8 42 92 98 */ lfd f2, lbl_80641898-_SDA2_BASE_(r2)
/* 801D10E4 001CCD44 FC 85 00 72 */ fmul f4, f5, f1
/* 801D10E8 001CCD48 FC 07 01 F2 */ fmul f0, f7, f7
/* 801D10EC 001CCD4C FC C1 38 2A */ fadd f6, f1, f7
/* 801D10F0 001CCD50 FC 84 02 32 */ fmul f4, f4, f8
/* 801D10F4 001CCD54 FC 3F 00 28 */ fsub f1, f31, f0
/* 801D10F8 001CCD58 FC 05 01 F2 */ fmul f0, f5, f7
/* 801D10FC 001CCD5C FC 21 30 24 */ fdiv f1, f1, f6
/* 801D1100 001CCD60 FC 25 00 72 */ fmul f1, f5, f1
/* 801D1104 001CCD64 FC 23 08 28 */ fsub f1, f3, f1
/* 801D1108 001CCD68 FC 62 00 28 */ fsub f3, f2, f0
/* 801D110C 001CCD6C FC 04 08 28 */ fsub f0, f4, f1
/* 801D1110 001CCD70 FC 00 18 28 */ fsub f0, f0, f3
/* 801D1114 001CCD74 FC 22 00 28 */ fsub f1, f2, f0
lbl_801D1118:
/* 801D1118 001CCD78 2C 1F 00 00 */ cmpwi r31, 0
/* 801D111C 001CCD7C 40 81 00 08 */ ble lbl_801D1124
/* 801D1120 001CCD80 48 00 00 08 */ b lbl_801D1128
lbl_801D1124:
/* 801D1124 001CCD84 FC 20 08 50 */ fneg f1, f1
lbl_801D1128:
/* 801D1128 001CCD88 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 801D112C 001CCD8C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 801D1130 001CCD90 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 801D1134 001CCD94 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 801D1138 001CCD98 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0
/* 801D113C 001CCD9C CB A1 00 20 */ lfd f29, 0x20(r1)
/* 801D1140 001CCDA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D1144 001CCDA4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D1148 001CCDA8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D114C 001CCDAC 7C 08 03 A6 */ mtlr r0
/* 801D1150 001CCDB0 38 21 00 50 */ addi r1, r1, 0x50
/* 801D1154 001CCDB4 4E 80 00 20 */ blr
lbl_801D1158:
/* 801D1158 001CCDB8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D115C 001CCDBC 7C 08 02 A6 */ mflr r0
/* 801D1160 001CCDC0 3C 60 7F F0 */ lis r3, 0x7ff0
/* 801D1164 001CCDC4 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 801D1168 001CCDC8 81 01 00 14 */ lwz r8, 0x14(r1)
/* 801D116C 001CCDCC 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D1170 001CCDD0 7C 08 00 D0 */ neg r0, r8
/* 801D1174 001CCDD4 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801D1178 001CCDD8 7D 00 03 78 */ or r0, r8, r0
/* 801D117C 001CCDDC D8 21 00 08 */ stfd f1, 8(r1)
/* 801D1180 001CCDE0 54 86 00 7E */ clrlwi r6, r4, 1
/* 801D1184 001CCDE4 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801D1188 001CCDE8 80 A1 00 08 */ lwz r5, 8(r1)
/* 801D118C 001CCDEC 7C C0 03 78 */ or r0, r6, r0
/* 801D1190 001CCDF0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D1194 001CCDF4 7C 00 18 40 */ cmplw r0, r3
/* 801D1198 001CCDF8 81 21 00 0C */ lwz r9, 0xc(r1)
/* 801D119C 001CCDFC 54 A7 00 7E */ clrlwi r7, r5, 1
/* 801D11A0 001CCE00 41 81 00 1C */ bgt lbl_801D11BC
/* 801D11A4 001CCE04 7C 09 00 D0 */ neg r0, r9
/* 801D11A8 001CCE08 7D 20 03 78 */ or r0, r9, r0
/* 801D11AC 001CCE0C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801D11B0 001CCE10 7C E0 03 78 */ or r0, r7, r0
/* 801D11B4 001CCE14 7C 00 18 40 */ cmplw r0, r3
/* 801D11B8 001CCE18 40 81 00 0C */ ble lbl_801D11C4
lbl_801D11BC:
/* 801D11BC 001CCE1C FC 22 08 2A */ fadd f1, f2, f1
/* 801D11C0 001CCE20 48 00 01 F4 */ b lbl_801D13B4
lbl_801D11C4:
/* 801D11C4 001CCE24 3C 04 C0 10 */ addis r0, r4, 0xc010
/* 801D11C8 001CCE28 7C 00 43 79 */ or. r0, r0, r8
/* 801D11CC 001CCE2C 40 82 00 0C */ bne lbl_801D11D8
/* 801D11D0 001CCE30 48 00 2C 3D */ bl func_801D3E0C
/* 801D11D4 001CCE34 48 00 01 E0 */ b lbl_801D13B4
lbl_801D11D8:
/* 801D11D8 001CCE38 7C E0 4B 79 */ or. r0, r7, r9
/* 801D11DC 001CCE3C 54 9F 17 BC */ rlwinm r31, r4, 2, 0x1e, 0x1e
/* 801D11E0 001CCE40 50 BF 0F FE */ rlwimi r31, r5, 1, 0x1f, 0x1f
/* 801D11E4 001CCE44 40 82 00 3C */ bne lbl_801D1220
/* 801D11E8 001CCE48 2C 1F 00 02 */ cmpwi r31, 2
/* 801D11EC 001CCE4C 41 82 00 24 */ beq lbl_801D1210
/* 801D11F0 001CCE50 40 80 00 10 */ bge lbl_801D1200
/* 801D11F4 001CCE54 2C 1F 00 00 */ cmpwi r31, 0
/* 801D11F8 001CCE58 40 80 01 BC */ bge lbl_801D13B4
/* 801D11FC 001CCE5C 48 00 00 24 */ b lbl_801D1220
lbl_801D1200:
/* 801D1200 001CCE60 2C 1F 00 04 */ cmpwi r31, 4
/* 801D1204 001CCE64 40 80 00 1C */ bge lbl_801D1220
/* 801D1208 001CCE68 48 00 00 10 */ b lbl_801D1218
/* 801D120C 001CCE6C 48 00 01 A8 */ b lbl_801D13B4
lbl_801D1210:
/* 801D1210 001CCE70 C8 22 92 A0 */ lfd f1, lbl_806418A0-_SDA2_BASE_(r2)
/* 801D1214 001CCE74 48 00 01 A0 */ b lbl_801D13B4
lbl_801D1218:
/* 801D1218 001CCE78 C8 22 92 A8 */ lfd f1, lbl_806418A8-_SDA2_BASE_(r2)
/* 801D121C 001CCE7C 48 00 01 98 */ b lbl_801D13B4
lbl_801D1220:
/* 801D1220 001CCE80 7C C0 43 79 */ or. r0, r6, r8
/* 801D1224 001CCE84 40 82 00 1C */ bne lbl_801D1240
/* 801D1228 001CCE88 2C 05 00 00 */ cmpwi r5, 0
/* 801D122C 001CCE8C 40 80 00 0C */ bge lbl_801D1238
/* 801D1230 001CCE90 C8 22 92 B0 */ lfd f1, lbl_806418B0-_SDA2_BASE_(r2)
/* 801D1234 001CCE94 48 00 01 80 */ b lbl_801D13B4
lbl_801D1238:
/* 801D1238 001CCE98 C8 22 92 B8 */ lfd f1, lbl_806418B8-_SDA2_BASE_(r2)
/* 801D123C 001CCE9C 48 00 01 78 */ b lbl_801D13B4
lbl_801D1240:
/* 801D1240 001CCEA0 3C 06 80 10 */ addis r0, r6, 0x8010
/* 801D1244 001CCEA4 28 00 00 00 */ cmplwi r0, 0
/* 801D1248 001CCEA8 40 82 00 A0 */ bne lbl_801D12E8
/* 801D124C 001CCEAC 3C 07 80 10 */ addis r0, r7, 0x8010
/* 801D1250 001CCEB0 28 00 00 00 */ cmplwi r0, 0
/* 801D1254 001CCEB4 40 82 00 4C */ bne lbl_801D12A0
/* 801D1258 001CCEB8 2C 1F 00 02 */ cmpwi r31, 2
/* 801D125C 001CCEBC 41 82 00 34 */ beq lbl_801D1290
/* 801D1260 001CCEC0 40 80 00 14 */ bge lbl_801D1274
/* 801D1264 001CCEC4 2C 1F 00 00 */ cmpwi r31, 0
/* 801D1268 001CCEC8 41 82 00 18 */ beq lbl_801D1280
/* 801D126C 001CCECC 40 80 00 1C */ bge lbl_801D1288
/* 801D1270 001CCED0 48 00 00 78 */ b lbl_801D12E8
lbl_801D1274:
/* 801D1274 001CCED4 2C 1F 00 04 */ cmpwi r31, 4
/* 801D1278 001CCED8 40 80 00 70 */ bge lbl_801D12E8
/* 801D127C 001CCEDC 48 00 00 1C */ b lbl_801D1298
lbl_801D1280:
/* 801D1280 001CCEE0 C8 22 92 C0 */ lfd f1, lbl_806418C0-_SDA2_BASE_(r2)
/* 801D1284 001CCEE4 48 00 01 30 */ b lbl_801D13B4
lbl_801D1288:
/* 801D1288 001CCEE8 C8 22 92 C8 */ lfd f1, lbl_806418C8-_SDA2_BASE_(r2)
/* 801D128C 001CCEEC 48 00 01 28 */ b lbl_801D13B4
lbl_801D1290:
/* 801D1290 001CCEF0 C8 22 92 D0 */ lfd f1, lbl_806418D0-_SDA2_BASE_(r2)
/* 801D1294 001CCEF4 48 00 01 20 */ b lbl_801D13B4
lbl_801D1298:
/* 801D1298 001CCEF8 C8 22 92 D8 */ lfd f1, lbl_806418D8-_SDA2_BASE_(r2)
/* 801D129C 001CCEFC 48 00 01 18 */ b lbl_801D13B4
lbl_801D12A0:
/* 801D12A0 001CCF00 2C 1F 00 02 */ cmpwi r31, 2
/* 801D12A4 001CCF04 41 82 00 34 */ beq lbl_801D12D8
/* 801D12A8 001CCF08 40 80 00 14 */ bge lbl_801D12BC
/* 801D12AC 001CCF0C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D12B0 001CCF10 41 82 00 18 */ beq lbl_801D12C8
/* 801D12B4 001CCF14 40 80 00 1C */ bge lbl_801D12D0
/* 801D12B8 001CCF18 48 00 00 30 */ b lbl_801D12E8
lbl_801D12BC:
/* 801D12BC 001CCF1C 2C 1F 00 04 */ cmpwi r31, 4
/* 801D12C0 001CCF20 40 80 00 28 */ bge lbl_801D12E8
/* 801D12C4 001CCF24 48 00 00 1C */ b lbl_801D12E0
lbl_801D12C8:
/* 801D12C8 001CCF28 C8 22 92 E0 */ lfd f1, lbl_806418E0-_SDA2_BASE_(r2)
/* 801D12CC 001CCF2C 48 00 00 E8 */ b lbl_801D13B4
lbl_801D12D0:
/* 801D12D0 001CCF30 C8 22 92 E8 */ lfd f1, lbl_806418E8-_SDA2_BASE_(r2)
/* 801D12D4 001CCF34 48 00 00 E0 */ b lbl_801D13B4
lbl_801D12D8:
/* 801D12D8 001CCF38 C8 22 92 A0 */ lfd f1, lbl_806418A0-_SDA2_BASE_(r2)
/* 801D12DC 001CCF3C 48 00 00 D8 */ b lbl_801D13B4
lbl_801D12E0:
/* 801D12E0 001CCF40 C8 22 92 A8 */ lfd f1, lbl_806418A8-_SDA2_BASE_(r2)
/* 801D12E4 001CCF44 48 00 00 D0 */ b lbl_801D13B4
lbl_801D12E8:
/* 801D12E8 001CCF48 3C 07 80 10 */ addis r0, r7, 0x8010
/* 801D12EC 001CCF4C 28 00 00 00 */ cmplwi r0, 0
/* 801D12F0 001CCF50 40 82 00 1C */ bne lbl_801D130C
/* 801D12F4 001CCF54 2C 05 00 00 */ cmpwi r5, 0
/* 801D12F8 001CCF58 40 80 00 0C */ bge lbl_801D1304
/* 801D12FC 001CCF5C C8 22 92 B0 */ lfd f1, lbl_806418B0-_SDA2_BASE_(r2)
/* 801D1300 001CCF60 48 00 00 B4 */ b lbl_801D13B4
lbl_801D1304:
/* 801D1304 001CCF64 C8 22 92 B8 */ lfd f1, lbl_806418B8-_SDA2_BASE_(r2)
/* 801D1308 001CCF68 48 00 00 AC */ b lbl_801D13B4
lbl_801D130C:
/* 801D130C 001CCF6C 7C 06 38 50 */ subf r0, r6, r7
/* 801D1310 001CCF70 7C 00 A6 70 */ srawi r0, r0, 0x14
/* 801D1314 001CCF74 2C 00 00 3C */ cmpwi r0, 0x3c
/* 801D1318 001CCF78 40 81 00 10 */ ble lbl_801D1328
/* 801D131C 001CCF7C C8 22 92 B8 */ lfd f1, lbl_806418B8-_SDA2_BASE_(r2)
/* 801D1320 001CCF80 D8 21 00 18 */ stfd f1, 0x18(r1)
/* 801D1324 001CCF84 48 00 00 30 */ b lbl_801D1354
lbl_801D1328:
/* 801D1328 001CCF88 2C 04 00 00 */ cmpwi r4, 0
/* 801D132C 001CCF8C 40 80 00 18 */ bge lbl_801D1344
/* 801D1330 001CCF90 2C 00 FF C4 */ cmpwi r0, -60
/* 801D1334 001CCF94 40 80 00 10 */ bge lbl_801D1344
/* 801D1338 001CCF98 C8 22 92 E0 */ lfd f1, lbl_806418E0-_SDA2_BASE_(r2)
/* 801D133C 001CCF9C D8 21 00 18 */ stfd f1, 0x18(r1)
/* 801D1340 001CCFA0 48 00 00 14 */ b lbl_801D1354
lbl_801D1344:
/* 801D1344 001CCFA4 FC 01 10 24 */ fdiv f0, f1, f2
/* 801D1348 001CCFA8 FC 20 02 10 */ fabs f1, f0
/* 801D134C 001CCFAC 48 00 2A C1 */ bl func_801D3E0C
/* 801D1350 001CCFB0 D8 21 00 18 */ stfd f1, 0x18(r1)
lbl_801D1354:
/* 801D1354 001CCFB4 2C 1F 00 01 */ cmpwi r31, 1
/* 801D1358 001CCFB8 41 82 00 24 */ beq lbl_801D137C
/* 801D135C 001CCFBC 40 80 00 10 */ bge lbl_801D136C
/* 801D1360 001CCFC0 2C 1F 00 00 */ cmpwi r31, 0
/* 801D1364 001CCFC4 40 80 00 50 */ bge lbl_801D13B4
/* 801D1368 001CCFC8 48 00 00 3C */ b lbl_801D13A4
lbl_801D136C:
/* 801D136C 001CCFCC 2C 1F 00 03 */ cmpwi r31, 3
/* 801D1370 001CCFD0 40 80 00 34 */ bge lbl_801D13A4
/* 801D1374 001CCFD4 48 00 00 1C */ b lbl_801D1390
/* 801D1378 001CCFD8 48 00 00 3C */ b lbl_801D13B4
lbl_801D137C:
/* 801D137C 001CCFDC 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801D1380 001CCFE0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D1384 001CCFE4 90 01 00 18 */ stw r0, 0x18(r1)
/* 801D1388 001CCFE8 C8 21 00 18 */ lfd f1, 0x18(r1)
/* 801D138C 001CCFEC 48 00 00 28 */ b lbl_801D13B4
lbl_801D1390:
/* 801D1390 001CCFF0 C8 42 92 F0 */ lfd f2, lbl_806418F0-_SDA2_BASE_(r2)
/* 801D1394 001CCFF4 C8 02 92 A0 */ lfd f0, lbl_806418A0-_SDA2_BASE_(r2)
/* 801D1398 001CCFF8 FC 21 10 28 */ fsub f1, f1, f2
/* 801D139C 001CCFFC FC 20 08 28 */ fsub f1, f0, f1
/* 801D13A0 001CD000 48 00 00 14 */ b lbl_801D13B4
lbl_801D13A4:
/* 801D13A4 001CD004 C8 42 92 F0 */ lfd f2, lbl_806418F0-_SDA2_BASE_(r2)
/* 801D13A8 001CD008 C8 02 92 A0 */ lfd f0, lbl_806418A0-_SDA2_BASE_(r2)
/* 801D13AC 001CD00C FC 21 10 28 */ fsub f1, f1, f2
/* 801D13B0 001CD010 FC 21 00 28 */ fsub f1, f1, f0
lbl_801D13B4:
/* 801D13B4 001CD014 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D13B8 001CD018 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D13BC 001CD01C 7C 08 03 A6 */ mtlr r0
/* 801D13C0 001CD020 38 21 00 30 */ addi r1, r1, 0x30
/* 801D13C4 001CD024 4E 80 00 20 */ blr
lbl_801D13C8:
/* 801D13C8 001CD028 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D13CC 001CD02C D8 41 00 10 */ stfd f2, 0x10(r1)
/* 801D13D0 001CD030 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D13D4 001CD034 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D13D8 001CD038 80 E1 00 08 */ lwz r7, 8(r1)
/* 801D13DC 001CD03C 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 801D13E0 001CD040 54 00 00 7E */ clrlwi r0, r0, 1
/* 801D13E4 001CD044 54 E4 00 00 */ rlwinm r4, r7, 0, 0, 0
/* 801D13E8 001CD048 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801D13EC 001CD04C 7C 03 33 79 */ or. r3, r0, r6
/* 801D13F0 001CD050 7C E8 22 78 */ xor r8, r7, r4
/* 801D13F4 001CD054 41 82 00 28 */ beq lbl_801D141C
/* 801D13F8 001CD058 3C E0 7F F0 */ lis r7, 0x7ff0
/* 801D13FC 001CD05C 7C 08 38 00 */ cmpw r8, r7
/* 801D1400 001CD060 40 80 00 1C */ bge lbl_801D141C
/* 801D1404 001CD064 7C 66 00 D0 */ neg r3, r6
/* 801D1408 001CD068 7C C3 1B 78 */ or r3, r6, r3
/* 801D140C 001CD06C 54 63 0F FE */ srwi r3, r3, 0x1f
/* 801D1410 001CD070 7C 03 1B 78 */ or r3, r0, r3
/* 801D1414 001CD074 7C 03 38 40 */ cmplw r3, r7
/* 801D1418 001CD078 40 81 00 10 */ ble lbl_801D1428
lbl_801D141C:
/* 801D141C 001CD07C FC 01 00 B2 */ fmul f0, f1, f2
/* 801D1420 001CD080 FC 20 00 24 */ fdiv f1, f0, f0
/* 801D1424 001CD084 48 00 02 CC */ b lbl_801D16F0
lbl_801D1428:
/* 801D1428 001CD088 7C 08 00 00 */ cmpw r8, r0
/* 801D142C 001CD08C 41 81 00 2C */ bgt lbl_801D1458
/* 801D1430 001CD090 41 80 02 C0 */ blt lbl_801D16F0
/* 801D1434 001CD094 7C 05 30 40 */ cmplw r5, r6
/* 801D1438 001CD098 40 80 00 08 */ bge lbl_801D1440
/* 801D143C 001CD09C 48 00 02 B4 */ b lbl_801D16F0
lbl_801D1440:
/* 801D1440 001CD0A0 40 82 00 18 */ bne lbl_801D1458
/* 801D1444 001CD0A4 3C 60 80 40 */ lis r3, lbl_803FD328@ha
/* 801D1448 001CD0A8 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 801D144C 001CD0AC 38 63 D3 28 */ addi r3, r3, lbl_803FD328@l
/* 801D1450 001CD0B0 7C 23 04 AE */ lfdx f1, r3, r0
/* 801D1454 001CD0B4 48 00 02 9C */ b lbl_801D16F0
lbl_801D1458:
/* 801D1458 001CD0B8 3C 60 00 10 */ lis r3, 0x10
/* 801D145C 001CD0BC 7C 08 18 00 */ cmpw r8, r3
/* 801D1460 001CD0C0 40 80 00 4C */ bge lbl_801D14AC
/* 801D1464 001CD0C4 2C 08 00 00 */ cmpwi r8, 0
/* 801D1468 001CD0C8 40 82 00 24 */ bne lbl_801D148C
/* 801D146C 001CD0CC 7C A3 2B 78 */ mr r3, r5
/* 801D1470 001CD0D0 39 60 FB ED */ li r11, -1043
/* 801D1474 001CD0D4 48 00 00 0C */ b lbl_801D1480
lbl_801D1478:
/* 801D1478 001CD0D8 54 63 08 3C */ slwi r3, r3, 1
/* 801D147C 001CD0DC 39 6B FF FF */ addi r11, r11, -1
lbl_801D1480:
/* 801D1480 001CD0E0 2C 03 00 00 */ cmpwi r3, 0
/* 801D1484 001CD0E4 41 81 FF F4 */ bgt lbl_801D1478
/* 801D1488 001CD0E8 48 00 00 2C */ b lbl_801D14B4
lbl_801D148C:
/* 801D148C 001CD0EC 55 03 58 28 */ slwi r3, r8, 0xb
/* 801D1490 001CD0F0 39 60 FC 02 */ li r11, -1022
/* 801D1494 001CD0F4 48 00 00 0C */ b lbl_801D14A0
lbl_801D1498:
/* 801D1498 001CD0F8 54 63 08 3C */ slwi r3, r3, 1
/* 801D149C 001CD0FC 39 6B FF FF */ addi r11, r11, -1
lbl_801D14A0:
/* 801D14A0 001CD100 2C 03 00 00 */ cmpwi r3, 0
/* 801D14A4 001CD104 41 81 FF F4 */ bgt lbl_801D1498
/* 801D14A8 001CD108 48 00 00 0C */ b lbl_801D14B4
lbl_801D14AC:
/* 801D14AC 001CD10C 7D 03 A6 70 */ srawi r3, r8, 0x14
/* 801D14B0 001CD110 39 63 FC 01 */ addi r11, r3, -1023
lbl_801D14B4:
/* 801D14B4 001CD114 3C 60 00 10 */ lis r3, 0x10
/* 801D14B8 001CD118 7C 00 18 00 */ cmpw r0, r3
/* 801D14BC 001CD11C 40 80 00 4C */ bge lbl_801D1508
/* 801D14C0 001CD120 2C 00 00 00 */ cmpwi r0, 0
/* 801D14C4 001CD124 40 82 00 24 */ bne lbl_801D14E8
/* 801D14C8 001CD128 7C C7 33 78 */ mr r7, r6
/* 801D14CC 001CD12C 38 60 FB ED */ li r3, -1043
/* 801D14D0 001CD130 48 00 00 0C */ b lbl_801D14DC
lbl_801D14D4:
/* 801D14D4 001CD134 54 E7 08 3C */ slwi r7, r7, 1
/* 801D14D8 001CD138 38 63 FF FF */ addi r3, r3, -1
lbl_801D14DC:
/* 801D14DC 001CD13C 2C 07 00 00 */ cmpwi r7, 0
/* 801D14E0 001CD140 41 81 FF F4 */ bgt lbl_801D14D4
/* 801D14E4 001CD144 48 00 00 2C */ b lbl_801D1510
lbl_801D14E8:
/* 801D14E8 001CD148 54 07 58 28 */ slwi r7, r0, 0xb
/* 801D14EC 001CD14C 38 60 FC 02 */ li r3, -1022
/* 801D14F0 001CD150 48 00 00 0C */ b lbl_801D14FC
lbl_801D14F4:
/* 801D14F4 001CD154 54 E7 08 3C */ slwi r7, r7, 1
/* 801D14F8 001CD158 38 63 FF FF */ addi r3, r3, -1
lbl_801D14FC:
/* 801D14FC 001CD15C 2C 07 00 00 */ cmpwi r7, 0
/* 801D1500 001CD160 41 81 FF F4 */ bgt lbl_801D14F4
/* 801D1504 001CD164 48 00 00 0C */ b lbl_801D1510
lbl_801D1508:
/* 801D1508 001CD168 7C 03 A6 70 */ srawi r3, r0, 0x14
/* 801D150C 001CD16C 38 63 FC 01 */ addi r3, r3, -1023
lbl_801D1510:
/* 801D1510 001CD170 2C 0B FC 02 */ cmpwi r11, -1022
/* 801D1514 001CD174 41 80 00 10 */ blt lbl_801D1524
/* 801D1518 001CD178 55 07 03 3E */ clrlwi r7, r8, 0xc
/* 801D151C 001CD17C 64 E9 00 10 */ oris r9, r7, 0x10
/* 801D1520 001CD180 48 00 00 34 */ b lbl_801D1554
lbl_801D1524:
/* 801D1524 001CD184 21 2B FC 02 */ subfic r9, r11, -1022
/* 801D1528 001CD188 2C 09 00 1F */ cmpwi r9, 0x1f
/* 801D152C 001CD18C 41 81 00 1C */ bgt lbl_801D1548
/* 801D1530 001CD190 20 E9 00 20 */ subfic r7, r9, 0x20
/* 801D1534 001CD194 7D 08 48 30 */ slw r8, r8, r9
/* 801D1538 001CD198 7C A7 3C 30 */ srw r7, r5, r7
/* 801D153C 001CD19C 7C A5 48 30 */ slw r5, r5, r9
/* 801D1540 001CD1A0 7D 09 3B 78 */ or r9, r8, r7
/* 801D1544 001CD1A4 48 00 00 10 */ b lbl_801D1554
lbl_801D1548:
/* 801D1548 001CD1A8 38 E9 FF E0 */ addi r7, r9, -32
/* 801D154C 001CD1AC 7C A9 38 30 */ slw r9, r5, r7
/* 801D1550 001CD1B0 38 A0 00 00 */ li r5, 0
lbl_801D1554:
/* 801D1554 001CD1B4 2C 03 FC 02 */ cmpwi r3, -1022
/* 801D1558 001CD1B8 41 80 00 10 */ blt lbl_801D1568
/* 801D155C 001CD1BC 54 00 03 3E */ clrlwi r0, r0, 0xc
/* 801D1560 001CD1C0 64 08 00 10 */ oris r8, r0, 0x10
/* 801D1564 001CD1C4 48 00 00 34 */ b lbl_801D1598
lbl_801D1568:
/* 801D1568 001CD1C8 21 43 FC 02 */ subfic r10, r3, -1022
/* 801D156C 001CD1CC 2C 0A 00 1F */ cmpwi r10, 0x1f
/* 801D1570 001CD1D0 41 81 00 1C */ bgt lbl_801D158C
/* 801D1574 001CD1D4 20 EA 00 20 */ subfic r7, r10, 0x20
/* 801D1578 001CD1D8 7C 08 50 30 */ slw r8, r0, r10
/* 801D157C 001CD1DC 7C C0 3C 30 */ srw r0, r6, r7
/* 801D1580 001CD1E0 7C C6 50 30 */ slw r6, r6, r10
/* 801D1584 001CD1E4 7D 08 03 78 */ or r8, r8, r0
/* 801D1588 001CD1E8 48 00 00 10 */ b lbl_801D1598
lbl_801D158C:
/* 801D158C 001CD1EC 38 0A FF E0 */ addi r0, r10, -32
/* 801D1590 001CD1F0 7C C8 00 30 */ slw r8, r6, r0
/* 801D1594 001CD1F4 38 C0 00 00 */ li r6, 0
lbl_801D1598:
/* 801D1598 001CD1F8 7C 03 58 51 */ subf. r0, r3, r11
/* 801D159C 001CD1FC 7C 09 03 A6 */ mtctr r0
/* 801D15A0 001CD200 41 82 00 64 */ beq lbl_801D1604
lbl_801D15A4:
/* 801D15A4 001CD204 7C 05 30 40 */ cmplw r5, r6
/* 801D15A8 001CD208 7C E8 48 50 */ subf r7, r8, r9
/* 801D15AC 001CD20C 7D 46 28 50 */ subf r10, r6, r5
/* 801D15B0 001CD210 40 80 00 08 */ bge lbl_801D15B8
/* 801D15B4 001CD214 38 E7 FF FF */ addi r7, r7, -1
lbl_801D15B8:
/* 801D15B8 001CD218 2C 07 00 00 */ cmpwi r7, 0
/* 801D15BC 001CD21C 40 80 00 18 */ bge lbl_801D15D4
/* 801D15C0 001CD220 54 A7 0F FE */ srwi r7, r5, 0x1f
/* 801D15C4 001CD224 55 20 08 3C */ slwi r0, r9, 1
/* 801D15C8 001CD228 7D 27 02 14 */ add r9, r7, r0
/* 801D15CC 001CD22C 7C A5 2A 14 */ add r5, r5, r5
/* 801D15D0 001CD230 48 00 00 30 */ b lbl_801D1600
lbl_801D15D4:
/* 801D15D4 001CD234 7C E0 53 79 */ or. r0, r7, r10
/* 801D15D8 001CD238 40 82 00 18 */ bne lbl_801D15F0
/* 801D15DC 001CD23C 3C 60 80 40 */ lis r3, lbl_803FD328@ha
/* 801D15E0 001CD240 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 801D15E4 001CD244 38 63 D3 28 */ addi r3, r3, lbl_803FD328@l
/* 801D15E8 001CD248 7C 23 04 AE */ lfdx f1, r3, r0
/* 801D15EC 001CD24C 48 00 01 04 */ b lbl_801D16F0
lbl_801D15F0:
/* 801D15F0 001CD250 55 45 0F FE */ srwi r5, r10, 0x1f
/* 801D15F4 001CD254 54 E0 08 3C */ slwi r0, r7, 1
/* 801D15F8 001CD258 7D 25 02 14 */ add r9, r5, r0
/* 801D15FC 001CD25C 55 45 08 3C */ slwi r5, r10, 1
lbl_801D1600:
/* 801D1600 001CD260 42 00 FF A4 */ bdnz lbl_801D15A4
lbl_801D1604:
/* 801D1604 001CD264 7C 05 30 40 */ cmplw r5, r6
/* 801D1608 001CD268 7C E8 48 50 */ subf r7, r8, r9
/* 801D160C 001CD26C 7C 06 28 50 */ subf r0, r6, r5
/* 801D1610 001CD270 40 80 00 08 */ bge lbl_801D1618
/* 801D1614 001CD274 38 E7 FF FF */ addi r7, r7, -1
lbl_801D1618:
/* 801D1618 001CD278 2C 07 00 00 */ cmpwi r7, 0
/* 801D161C 001CD27C 41 80 00 0C */ blt lbl_801D1628
/* 801D1620 001CD280 7C E9 3B 78 */ mr r9, r7
/* 801D1624 001CD284 7C 05 03 78 */ mr r5, r0
lbl_801D1628:
/* 801D1628 001CD288 7D 20 2B 79 */ or. r0, r9, r5
/* 801D162C 001CD28C 40 82 00 18 */ bne lbl_801D1644
/* 801D1630 001CD290 3C 60 80 40 */ lis r3, lbl_803FD328@ha
/* 801D1634 001CD294 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 801D1638 001CD298 38 63 D3 28 */ addi r3, r3, lbl_803FD328@l
/* 801D163C 001CD29C 7C 23 04 AE */ lfdx f1, r3, r0
/* 801D1640 001CD2A0 48 00 00 B0 */ b lbl_801D16F0
lbl_801D1644:
/* 801D1644 001CD2A4 3C 00 00 10 */ lis r0, 0x10
/* 801D1648 001CD2A8 48 00 00 18 */ b lbl_801D1660
lbl_801D164C:
/* 801D164C 001CD2AC 54 A7 0F FE */ srwi r7, r5, 0x1f
/* 801D1650 001CD2B0 55 26 08 3C */ slwi r6, r9, 1
/* 801D1654 001CD2B4 7D 27 32 14 */ add r9, r7, r6
/* 801D1658 001CD2B8 7C A5 2A 14 */ add r5, r5, r5
/* 801D165C 001CD2BC 38 63 FF FF */ addi r3, r3, -1
lbl_801D1660:
/* 801D1660 001CD2C0 7C 09 00 00 */ cmpw r9, r0
/* 801D1664 001CD2C4 41 80 FF E8 */ blt lbl_801D164C
/* 801D1668 001CD2C8 2C 03 FC 02 */ cmpwi r3, -1022
/* 801D166C 001CD2CC 41 80 00 24 */ blt lbl_801D1690
/* 801D1670 001CD2D0 38 03 03 FF */ addi r0, r3, 0x3ff
/* 801D1674 001CD2D4 3C 69 FF F0 */ addis r3, r9, 0xfff0
/* 801D1678 001CD2D8 54 00 A0 16 */ slwi r0, r0, 0x14
/* 801D167C 001CD2DC 90 A1 00 0C */ stw r5, 0xc(r1)
/* 801D1680 001CD2E0 7C 60 03 78 */ or r0, r3, r0
/* 801D1684 001CD2E4 7C 00 23 78 */ or r0, r0, r4
/* 801D1688 001CD2E8 90 01 00 08 */ stw r0, 8(r1)
/* 801D168C 001CD2EC 48 00 00 60 */ b lbl_801D16EC
lbl_801D1690:
/* 801D1690 001CD2F0 20 C3 FC 02 */ subfic r6, r3, -1022
/* 801D1694 001CD2F4 2C 06 00 14 */ cmpwi r6, 0x14
/* 801D1698 001CD2F8 41 81 00 1C */ bgt lbl_801D16B4
/* 801D169C 001CD2FC 20 06 00 20 */ subfic r0, r6, 0x20
/* 801D16A0 001CD300 7C A3 34 30 */ srw r3, r5, r6
/* 801D16A4 001CD304 7D 20 00 30 */ slw r0, r9, r0
/* 801D16A8 001CD308 7D 29 36 30 */ sraw r9, r9, r6
/* 801D16AC 001CD30C 7C 63 03 78 */ or r3, r3, r0
/* 801D16B0 001CD310 48 00 00 30 */ b lbl_801D16E0
lbl_801D16B4:
/* 801D16B4 001CD314 2C 06 00 1F */ cmpwi r6, 0x1f
/* 801D16B8 001CD318 41 81 00 1C */ bgt lbl_801D16D4
/* 801D16BC 001CD31C 20 66 00 20 */ subfic r3, r6, 0x20
/* 801D16C0 001CD320 7C A0 34 30 */ srw r0, r5, r6
/* 801D16C4 001CD324 7D 23 18 30 */ slw r3, r9, r3
/* 801D16C8 001CD328 7C 89 23 78 */ mr r9, r4
/* 801D16CC 001CD32C 7C 63 03 78 */ or r3, r3, r0
/* 801D16D0 001CD330 48 00 00 10 */ b lbl_801D16E0
lbl_801D16D4:
/* 801D16D4 001CD334 38 06 FF E0 */ addi r0, r6, -32
/* 801D16D8 001CD338 7D 23 06 30 */ sraw r3, r9, r0
/* 801D16DC 001CD33C 7C 89 23 78 */ mr r9, r4
lbl_801D16E0:
/* 801D16E0 001CD340 7D 20 23 78 */ or r0, r9, r4
/* 801D16E4 001CD344 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D16E8 001CD348 90 01 00 08 */ stw r0, 8(r1)
lbl_801D16EC:
/* 801D16EC 001CD34C C8 21 00 08 */ lfd f1, 8(r1)
lbl_801D16F0:
/* 801D16F0 001CD350 38 21 00 20 */ addi r1, r1, 0x20
/* 801D16F4 001CD354 4E 80 00 20 */ blr
lbl_801D16F8:
/* 801D16F8 001CD358 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 801D16FC 001CD35C 7C 08 02 A6 */ mflr r0
/* 801D1700 001CD360 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 801D1704 001CD364 DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 801D1708 001CD368 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0
/* 801D170C 001CD36C DB C1 00 A0 */ stfd f30, 0xa0(r1)
/* 801D1710 001CD370 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0
/* 801D1714 001CD374 DB A1 00 90 */ stfd f29, 0x90(r1)
/* 801D1718 001CD378 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0
/* 801D171C 001CD37C DB 81 00 80 */ stfd f28, 0x80(r1)
/* 801D1720 001CD380 F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0
/* 801D1724 001CD384 DB 61 00 70 */ stfd f27, 0x70(r1)
/* 801D1728 001CD388 F3 61 00 78 */ psq_st f27, 120(r1), 0, qr0
/* 801D172C 001CD38C DB 41 00 60 */ stfd f26, 0x60(r1)
/* 801D1730 001CD390 F3 41 00 68 */ psq_st f26, 104(r1), 0, qr0
/* 801D1734 001CD394 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 801D1738 001CD398 3C 60 80 40 */ lis r3, lbl_803FD338@ha
/* 801D173C 001CD39C 38 63 D3 38 */ addi r3, r3, lbl_803FD338@l
/* 801D1740 001CD3A0 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 801D1744 001CD3A4 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D1748 001CD3A8 81 61 00 14 */ lwz r11, 0x14(r1)
/* 801D174C 001CD3AC 54 A7 00 7E */ clrlwi r7, r5, 1
/* 801D1750 001CD3B0 81 21 00 08 */ lwz r9, 8(r1)
/* 801D1754 001CD3B4 7C E0 5B 79 */ or. r0, r7, r11
/* 801D1758 001CD3B8 81 41 00 0C */ lwz r10, 0xc(r1)
/* 801D175C 001CD3BC 55 26 00 7E */ clrlwi r6, r9, 1
/* 801D1760 001CD3C0 40 82 00 0C */ bne lbl_801D176C
/* 801D1764 001CD3C4 C8 22 92 F8 */ lfd f1, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D1768 001CD3C8 48 00 07 98 */ b lbl_801D1F00
lbl_801D176C:
/* 801D176C 001CD3CC 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D1770 001CD3D0 7C 06 00 00 */ cmpw r6, r0
/* 801D1774 001CD3D4 41 81 00 38 */ bgt lbl_801D17AC
/* 801D1778 001CD3D8 3C 06 80 10 */ addis r0, r6, 0x8010
/* 801D177C 001CD3DC 28 00 00 00 */ cmplwi r0, 0
/* 801D1780 001CD3E0 40 82 00 0C */ bne lbl_801D178C
/* 801D1784 001CD3E4 2C 0A 00 00 */ cmpwi r10, 0
/* 801D1788 001CD3E8 40 82 00 24 */ bne lbl_801D17AC
lbl_801D178C:
/* 801D178C 001CD3EC 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D1790 001CD3F0 7C 07 00 00 */ cmpw r7, r0
/* 801D1794 001CD3F4 41 81 00 18 */ bgt lbl_801D17AC
/* 801D1798 001CD3F8 3C 07 80 10 */ addis r0, r7, 0x8010
/* 801D179C 001CD3FC 28 00 00 00 */ cmplwi r0, 0
/* 801D17A0 001CD400 40 82 00 14 */ bne lbl_801D17B4
/* 801D17A4 001CD404 2C 0B 00 00 */ cmpwi r11, 0
/* 801D17A8 001CD408 41 82 00 0C */ beq lbl_801D17B4
lbl_801D17AC:
/* 801D17AC 001CD40C FC 21 10 2A */ fadd f1, f1, f2
/* 801D17B0 001CD410 48 00 07 50 */ b lbl_801D1F00
lbl_801D17B4:
/* 801D17B4 001CD414 2C 09 00 00 */ cmpwi r9, 0
/* 801D17B8 001CD418 38 80 00 00 */ li r4, 0
/* 801D17BC 001CD41C 40 80 00 78 */ bge lbl_801D1834
/* 801D17C0 001CD420 3C 00 43 40 */ lis r0, 0x4340
/* 801D17C4 001CD424 7C 07 00 00 */ cmpw r7, r0
/* 801D17C8 001CD428 41 80 00 0C */ blt lbl_801D17D4
/* 801D17CC 001CD42C 38 80 00 02 */ li r4, 2
/* 801D17D0 001CD430 48 00 00 64 */ b lbl_801D1834
lbl_801D17D4:
/* 801D17D4 001CD434 3C 00 3F F0 */ lis r0, 0x3ff0
/* 801D17D8 001CD438 7C 07 00 00 */ cmpw r7, r0
/* 801D17DC 001CD43C 41 80 00 58 */ blt lbl_801D1834
/* 801D17E0 001CD440 7C E8 A6 70 */ srawi r8, r7, 0x14
/* 801D17E4 001CD444 38 08 FC 01 */ addi r0, r8, -1023
/* 801D17E8 001CD448 2C 00 00 14 */ cmpwi r0, 0x14
/* 801D17EC 001CD44C 40 81 00 24 */ ble lbl_801D1810
/* 801D17F0 001CD450 20 00 00 34 */ subfic r0, r0, 0x34
/* 801D17F4 001CD454 7D 68 04 30 */ srw r8, r11, r0
/* 801D17F8 001CD458 7D 00 00 30 */ slw r0, r8, r0
/* 801D17FC 001CD45C 7C 0B 00 40 */ cmplw r11, r0
/* 801D1800 001CD460 40 82 00 34 */ bne lbl_801D1834
/* 801D1804 001CD464 55 00 07 FE */ clrlwi r0, r8, 0x1f
/* 801D1808 001CD468 20 80 00 02 */ subfic r4, r0, 2
/* 801D180C 001CD46C 48 00 00 28 */ b lbl_801D1834
lbl_801D1810:
/* 801D1810 001CD470 2C 0B 00 00 */ cmpwi r11, 0
/* 801D1814 001CD474 40 82 00 20 */ bne lbl_801D1834
/* 801D1818 001CD478 20 00 00 14 */ subfic r0, r0, 0x14
/* 801D181C 001CD47C 7C E8 06 30 */ sraw r8, r7, r0
/* 801D1820 001CD480 7D 00 00 30 */ slw r0, r8, r0
/* 801D1824 001CD484 7C 07 00 00 */ cmpw r7, r0
/* 801D1828 001CD488 40 82 00 0C */ bne lbl_801D1834
/* 801D182C 001CD48C 55 00 07 FE */ clrlwi r0, r8, 0x1f
/* 801D1830 001CD490 20 80 00 02 */ subfic r4, r0, 2
lbl_801D1834:
/* 801D1834 001CD494 2C 0B 00 00 */ cmpwi r11, 0
/* 801D1838 001CD498 40 82 00 B0 */ bne lbl_801D18E8
/* 801D183C 001CD49C 3C 07 80 10 */ addis r0, r7, 0x8010
/* 801D1840 001CD4A0 28 00 00 00 */ cmplwi r0, 0
/* 801D1844 001CD4A4 40 82 00 54 */ bne lbl_801D1898
/* 801D1848 001CD4A8 3C 06 C0 10 */ addis r0, r6, 0xc010
/* 801D184C 001CD4AC 7C 00 53 79 */ or. r0, r0, r10
/* 801D1850 001CD4B0 40 82 00 0C */ bne lbl_801D185C
/* 801D1854 001CD4B4 FC 22 10 28 */ fsub f1, f2, f2
/* 801D1858 001CD4B8 48 00 06 A8 */ b lbl_801D1F00
lbl_801D185C:
/* 801D185C 001CD4BC 3C 00 3F F0 */ lis r0, 0x3ff0
/* 801D1860 001CD4C0 7C 06 00 00 */ cmpw r6, r0
/* 801D1864 001CD4C4 41 80 00 1C */ blt lbl_801D1880
/* 801D1868 001CD4C8 2C 05 00 00 */ cmpwi r5, 0
/* 801D186C 001CD4CC 41 80 00 0C */ blt lbl_801D1878
/* 801D1870 001CD4D0 FC 20 10 90 */ fmr f1, f2
/* 801D1874 001CD4D4 48 00 06 8C */ b lbl_801D1F00
lbl_801D1878:
/* 801D1878 001CD4D8 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2)
/* 801D187C 001CD4DC 48 00 06 84 */ b lbl_801D1F00
lbl_801D1880:
/* 801D1880 001CD4E0 2C 05 00 00 */ cmpwi r5, 0
/* 801D1884 001CD4E4 40 80 00 0C */ bge lbl_801D1890
/* 801D1888 001CD4E8 FC 20 10 50 */ fneg f1, f2
/* 801D188C 001CD4EC 48 00 06 74 */ b lbl_801D1F00
lbl_801D1890:
/* 801D1890 001CD4F0 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2)
/* 801D1894 001CD4F4 48 00 06 6C */ b lbl_801D1F00
lbl_801D1898:
/* 801D1898 001CD4F8 3C 07 C0 10 */ addis r0, r7, 0xc010
/* 801D189C 001CD4FC 28 00 00 00 */ cmplwi r0, 0
/* 801D18A0 001CD500 40 82 00 18 */ bne lbl_801D18B8
/* 801D18A4 001CD504 2C 05 00 00 */ cmpwi r5, 0
/* 801D18A8 001CD508 40 80 06 58 */ bge lbl_801D1F00
/* 801D18AC 001CD50C C8 02 92 F8 */ lfd f0, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D18B0 001CD510 FC 20 08 24 */ fdiv f1, f0, f1
/* 801D18B4 001CD514 48 00 06 4C */ b lbl_801D1F00
lbl_801D18B8:
/* 801D18B8 001CD518 3C 05 C0 00 */ addis r0, r5, 0xc000
/* 801D18BC 001CD51C 28 00 00 00 */ cmplwi r0, 0
/* 801D18C0 001CD520 40 82 00 0C */ bne lbl_801D18CC
/* 801D18C4 001CD524 FC 21 00 72 */ fmul f1, f1, f1
/* 801D18C8 001CD528 48 00 06 38 */ b lbl_801D1F00
lbl_801D18CC:
/* 801D18CC 001CD52C 3C 05 C0 20 */ addis r0, r5, 0xc020
/* 801D18D0 001CD530 28 00 00 00 */ cmplwi r0, 0
/* 801D18D4 001CD534 40 82 00 14 */ bne lbl_801D18E8
/* 801D18D8 001CD538 2C 09 00 00 */ cmpwi r9, 0
/* 801D18DC 001CD53C 41 80 00 0C */ blt lbl_801D18E8
/* 801D18E0 001CD540 48 00 2F 55 */ bl func_801D4834
/* 801D18E4 001CD544 48 00 06 1C */ b lbl_801D1F00
lbl_801D18E8:
/* 801D18E8 001CD548 FC 00 0A 10 */ fabs f0, f1
/* 801D18EC 001CD54C 2C 0A 00 00 */ cmpwi r10, 0
/* 801D18F0 001CD550 D8 01 00 48 */ stfd f0, 0x48(r1)
/* 801D18F4 001CD554 40 82 00 78 */ bne lbl_801D196C
/* 801D18F8 001CD558 3C 06 80 10 */ addis r0, r6, 0x8010
/* 801D18FC 001CD55C 28 00 00 00 */ cmplwi r0, 0
/* 801D1900 001CD560 41 82 00 18 */ beq lbl_801D1918
/* 801D1904 001CD564 2C 06 00 00 */ cmpwi r6, 0
/* 801D1908 001CD568 41 82 00 10 */ beq lbl_801D1918
/* 801D190C 001CD56C 3C 06 C0 10 */ addis r0, r6, 0xc010
/* 801D1910 001CD570 28 00 00 00 */ cmplwi r0, 0
/* 801D1914 001CD574 40 82 00 58 */ bne lbl_801D196C
lbl_801D1918:
/* 801D1918 001CD578 2C 05 00 00 */ cmpwi r5, 0
/* 801D191C 001CD57C D8 01 00 50 */ stfd f0, 0x50(r1)
/* 801D1920 001CD580 40 80 00 10 */ bge lbl_801D1930
/* 801D1924 001CD584 C8 22 92 F8 */ lfd f1, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D1928 001CD588 FC 01 00 24 */ fdiv f0, f1, f0
/* 801D192C 001CD58C D8 01 00 50 */ stfd f0, 0x50(r1)
lbl_801D1930:
/* 801D1930 001CD590 2C 09 00 00 */ cmpwi r9, 0
/* 801D1934 001CD594 40 80 00 30 */ bge lbl_801D1964
/* 801D1938 001CD598 3C 06 C0 10 */ addis r0, r6, 0xc010
/* 801D193C 001CD59C 7C 00 23 79 */ or. r0, r0, r4
/* 801D1940 001CD5A0 40 82 00 14 */ bne lbl_801D1954
/* 801D1944 001CD5A4 FC 00 00 28 */ fsub f0, f0, f0
/* 801D1948 001CD5A8 FC 00 00 24 */ fdiv f0, f0, f0
/* 801D194C 001CD5AC D8 01 00 50 */ stfd f0, 0x50(r1)
/* 801D1950 001CD5B0 48 00 00 14 */ b lbl_801D1964
lbl_801D1954:
/* 801D1954 001CD5B4 2C 04 00 01 */ cmpwi r4, 1
/* 801D1958 001CD5B8 40 82 00 0C */ bne lbl_801D1964
/* 801D195C 001CD5BC FC 00 00 50 */ fneg f0, f0
/* 801D1960 001CD5C0 D8 01 00 50 */ stfd f0, 0x50(r1)
lbl_801D1964:
/* 801D1964 001CD5C4 FC 20 00 90 */ fmr f1, f0
/* 801D1968 001CD5C8 48 00 05 98 */ b lbl_801D1F00
lbl_801D196C:
/* 801D196C 001CD5CC 7D 28 FE 70 */ srawi r8, r9, 0x1f
/* 801D1970 001CD5D0 38 08 00 01 */ addi r0, r8, 1
/* 801D1974 001CD5D4 7C 08 23 79 */ or. r8, r0, r4
/* 801D1978 001CD5D8 40 82 00 18 */ bne lbl_801D1990
/* 801D197C 001CD5DC 38 00 00 21 */ li r0, 0x21
/* 801D1980 001CD5E0 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801D1984 001CD5E4 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
/* 801D1988 001CD5E8 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801D198C 001CD5EC 48 00 05 74 */ b lbl_801D1F00
lbl_801D1990:
/* 801D1990 001CD5F0 3D 00 41 E0 */ lis r8, 0x41e0
/* 801D1994 001CD5F4 7C 07 40 00 */ cmpw r7, r8
/* 801D1998 001CD5F8 40 81 01 0C */ ble lbl_801D1AA4
/* 801D199C 001CD5FC 3C 60 43 F0 */ lis r3, 0x43f0
/* 801D19A0 001CD600 7C 07 18 00 */ cmpw r7, r3
/* 801D19A4 001CD604 40 81 00 4C */ ble lbl_801D19F0
/* 801D19A8 001CD608 3C 60 3F F0 */ lis r3, 0x3FEFFFFF@ha
/* 801D19AC 001CD60C 38 E3 FF FF */ addi r7, r3, 0x3FEFFFFF@l
/* 801D19B0 001CD610 7C 06 38 00 */ cmpw r6, r7
/* 801D19B4 001CD614 41 81 00 1C */ bgt lbl_801D19D0
/* 801D19B8 001CD618 2C 05 00 00 */ cmpwi r5, 0
/* 801D19BC 001CD61C 40 80 00 0C */ bge lbl_801D19C8
/* 801D19C0 001CD620 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2)
/* 801D19C4 001CD624 48 00 05 3C */ b lbl_801D1F00
lbl_801D19C8:
/* 801D19C8 001CD628 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2)
/* 801D19CC 001CD62C 48 00 05 34 */ b lbl_801D1F00
lbl_801D19D0:
/* 801D19D0 001CD630 7C 06 18 00 */ cmpw r6, r3
/* 801D19D4 001CD634 41 80 00 1C */ blt lbl_801D19F0
/* 801D19D8 001CD638 2C 05 00 00 */ cmpwi r5, 0
/* 801D19DC 001CD63C 40 81 00 0C */ ble lbl_801D19E8
/* 801D19E0 001CD640 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2)
/* 801D19E4 001CD644 48 00 05 1C */ b lbl_801D1F00
lbl_801D19E8:
/* 801D19E8 001CD648 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2)
/* 801D19EC 001CD64C 48 00 05 14 */ b lbl_801D1F00
lbl_801D19F0:
/* 801D19F0 001CD650 3C 60 3F F0 */ lis r3, 0x3FEFFFFF@ha
/* 801D19F4 001CD654 38 E3 FF FF */ addi r7, r3, 0x3FEFFFFF@l
/* 801D19F8 001CD658 7C 06 38 00 */ cmpw r6, r7
/* 801D19FC 001CD65C 40 80 00 1C */ bge lbl_801D1A18
/* 801D1A00 001CD660 2C 05 00 00 */ cmpwi r5, 0
/* 801D1A04 001CD664 40 80 00 0C */ bge lbl_801D1A10
/* 801D1A08 001CD668 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2)
/* 801D1A0C 001CD66C 48 00 04 F4 */ b lbl_801D1F00
lbl_801D1A10:
/* 801D1A10 001CD670 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2)
/* 801D1A14 001CD674 48 00 04 EC */ b lbl_801D1F00
lbl_801D1A18:
/* 801D1A18 001CD678 7C 06 18 00 */ cmpw r6, r3
/* 801D1A1C 001CD67C 40 81 00 1C */ ble lbl_801D1A38
/* 801D1A20 001CD680 2C 05 00 00 */ cmpwi r5, 0
/* 801D1A24 001CD684 40 81 00 0C */ ble lbl_801D1A30
/* 801D1A28 001CD688 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2)
/* 801D1A2C 001CD68C 48 00 04 D4 */ b lbl_801D1F00
lbl_801D1A30:
/* 801D1A30 001CD690 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2)
/* 801D1A34 001CD694 48 00 04 CC */ b lbl_801D1F00
lbl_801D1A38:
/* 801D1A38 001CD698 C8 62 92 F8 */ lfd f3, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D1A3C 001CD69C 38 60 00 00 */ li r3, 0
/* 801D1A40 001CD6A0 C8 02 93 20 */ lfd f0, lbl_80641920-_SDA2_BASE_(r2)
/* 801D1A44 001CD6A4 FD 01 18 28 */ fsub f8, f1, f3
/* 801D1A48 001CD6A8 C8 22 93 30 */ lfd f1, lbl_80641930-_SDA2_BASE_(r2)
/* 801D1A4C 001CD6AC C8 A2 93 18 */ lfd f5, lbl_80641918-_SDA2_BASE_(r2)
/* 801D1A50 001CD6B0 C8 62 93 28 */ lfd f3, lbl_80641928-_SDA2_BASE_(r2)
/* 801D1A54 001CD6B4 FC C0 02 32 */ fmul f6, f0, f8
/* 801D1A58 001CD6B8 C8 82 93 10 */ lfd f4, lbl_80641910-_SDA2_BASE_(r2)
/* 801D1A5C 001CD6BC C8 02 93 38 */ lfd f0, lbl_80641938-_SDA2_BASE_(r2)
/* 801D1A60 001CD6C0 FC E8 02 32 */ fmul f7, f8, f8
/* 801D1A64 001CD6C4 D9 01 00 28 */ stfd f8, 0x28(r1)
/* 801D1A68 001CD6C8 FC A5 30 28 */ fsub f5, f5, f6
/* 801D1A6C 001CD6CC FC C3 02 32 */ fmul f6, f3, f8
/* 801D1A70 001CD6D0 FC A8 01 72 */ fmul f5, f8, f5
/* 801D1A74 001CD6D4 FC 21 02 32 */ fmul f1, f1, f8
/* 801D1A78 001CD6D8 FC 64 28 28 */ fsub f3, f4, f5
/* 801D1A7C 001CD6DC FC 67 00 F2 */ fmul f3, f7, f3
/* 801D1A80 001CD6E0 FC 00 00 F2 */ fmul f0, f0, f3
/* 801D1A84 001CD6E4 FC 21 00 28 */ fsub f1, f1, f0
/* 801D1A88 001CD6E8 FC 06 08 2A */ fadd f0, f6, f1
/* 801D1A8C 001CD6EC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 801D1A90 001CD6F0 90 61 00 34 */ stw r3, 0x34(r1)
/* 801D1A94 001CD6F4 C8 01 00 30 */ lfd f0, 0x30(r1)
/* 801D1A98 001CD6F8 FC 00 30 28 */ fsub f0, f0, f6
/* 801D1A9C 001CD6FC FC 01 00 28 */ fsub f0, f1, f0
/* 801D1AA0 001CD700 48 00 02 10 */ b lbl_801D1CB0
lbl_801D1AA4:
/* 801D1AA4 001CD704 3C A0 00 10 */ lis r5, 0x10
/* 801D1AA8 001CD708 39 60 00 00 */ li r11, 0
/* 801D1AAC 001CD70C 7C 06 28 00 */ cmpw r6, r5
/* 801D1AB0 001CD710 40 80 00 18 */ bge lbl_801D1AC8
/* 801D1AB4 001CD714 C8 22 93 40 */ lfd f1, lbl_80641940-_SDA2_BASE_(r2)
/* 801D1AB8 001CD718 39 60 FF CB */ li r11, -53
/* 801D1ABC 001CD71C FC 00 00 72 */ fmul f0, f0, f1
/* 801D1AC0 001CD720 D8 01 00 48 */ stfd f0, 0x48(r1)
/* 801D1AC4 001CD724 80 C1 00 48 */ lwz r6, 0x48(r1)
lbl_801D1AC8:
/* 801D1AC8 001CD728 3C A0 00 04 */ lis r5, 0x0003988E@ha
/* 801D1ACC 001CD72C 54 C8 03 3E */ clrlwi r8, r6, 0xc
/* 801D1AD0 001CD730 38 A5 98 8E */ addi r5, r5, 0x0003988E@l
/* 801D1AD4 001CD734 7C C6 A6 70 */ srawi r6, r6, 0x14
/* 801D1AD8 001CD738 7C 08 28 00 */ cmpw r8, r5
/* 801D1ADC 001CD73C 65 07 3F F0 */ oris r7, r8, 0x3ff0
/* 801D1AE0 001CD740 7C AB 32 14 */ add r5, r11, r6
/* 801D1AE4 001CD744 39 65 FC 01 */ addi r11, r5, -1023
/* 801D1AE8 001CD748 41 81 00 0C */ bgt lbl_801D1AF4
/* 801D1AEC 001CD74C 38 C0 00 00 */ li r6, 0
/* 801D1AF0 001CD750 48 00 00 28 */ b lbl_801D1B18
lbl_801D1AF4:
/* 801D1AF4 001CD754 3C A0 00 0C */ lis r5, 0x000BB67A@ha
/* 801D1AF8 001CD758 38 A5 B6 7A */ addi r5, r5, 0x000BB67A@l
/* 801D1AFC 001CD75C 7C 08 28 00 */ cmpw r8, r5
/* 801D1B00 001CD760 40 80 00 0C */ bge lbl_801D1B0C
/* 801D1B04 001CD764 38 C0 00 01 */ li r6, 1
/* 801D1B08 001CD768 48 00 00 10 */ b lbl_801D1B18
lbl_801D1B0C:
/* 801D1B0C 001CD76C 3C E7 FF F0 */ addis r7, r7, 0xfff0
/* 801D1B10 001CD770 38 C0 00 00 */ li r6, 0
/* 801D1B14 001CD774 39 6B 00 01 */ addi r11, r11, 1
lbl_801D1B18:
/* 801D1B18 001CD778 90 E1 00 48 */ stw r7, 0x48(r1)
/* 801D1B1C 001CD77C 7C E9 0E 70 */ srawi r9, r7, 1
/* 801D1B20 001CD780 54 CA 18 38 */ slwi r10, r6, 3
/* 801D1B24 001CD784 38 A3 00 00 */ addi r5, r3, 0
/* 801D1B28 001CD788 7C E5 54 AE */ lfdx f7, r5, r10
/* 801D1B2C 001CD78C 54 C8 90 1A */ slwi r8, r6, 0x12
/* 801D1B30 001CD790 C9 41 00 48 */ lfd f10, 0x48(r1)
/* 801D1B34 001CD794 6D 66 80 00 */ xoris r6, r11, 0x8000
/* 801D1B38 001CD798 C8 82 93 00 */ lfd f4, lbl_80641900-_SDA2_BASE_(r2)
/* 801D1B3C 001CD79C 3C A0 43 30 */ lis r5, 0x4330
/* 801D1B40 001CD7A0 FC 6A 38 2A */ fadd f3, f10, f7
/* 801D1B44 001CD7A4 C8 22 92 F8 */ lfd f1, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D1B48 001CD7A8 FF 4A 38 28 */ fsub f26, f10, f7
/* 801D1B4C 001CD7AC D8 81 00 18 */ stfd f4, 0x18(r1)
/* 801D1B50 001CD7B0 65 29 20 00 */ oris r9, r9, 0x2000
/* 801D1B54 001CD7B4 3D 08 00 08 */ addis r8, r8, 8
/* 801D1B58 001CD7B8 FC 21 18 24 */ fdiv f1, f1, f3
/* 801D1B5C 001CD7BC 7D 09 42 14 */ add r8, r9, r8
/* 801D1B60 001CD7C0 91 01 00 18 */ stw r8, 0x18(r1)
/* 801D1B64 001CD7C4 39 20 00 00 */ li r9, 0
/* 801D1B68 001CD7C8 C8 02 93 70 */ lfd f0, lbl_80641970-_SDA2_BASE_(r2)
/* 801D1B6C 001CD7CC 38 E3 00 20 */ addi r7, r3, 0x20
/* 801D1B70 001CD7D0 FC 9A 00 72 */ fmul f4, f26, f1
/* 801D1B74 001CD7D4 C9 21 00 18 */ lfd f9, 0x18(r1)
/* 801D1B78 001CD7D8 C8 62 93 68 */ lfd f3, lbl_80641968-_SDA2_BASE_(r2)
/* 801D1B7C 001CD7DC FD 09 38 28 */ fsub f8, f9, f7
/* 801D1B80 001CD7E0 C8 C2 93 60 */ lfd f6, lbl_80641960-_SDA2_BASE_(r2)
/* 801D1B84 001CD7E4 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 801D1B88 001CD7E8 FC A4 01 32 */ fmul f5, f4, f4
/* 801D1B8C 001CD7EC D8 81 00 20 */ stfd f4, 0x20(r1)
/* 801D1B90 001CD7F0 CB C2 93 58 */ lfd f30, lbl_80641958-_SDA2_BASE_(r2)
/* 801D1B94 001CD7F4 FD 6A 40 28 */ fsub f11, f10, f8
/* 801D1B98 001CD7F8 90 A1 00 58 */ stw r5, 0x58(r1)
/* 801D1B9C 001CD7FC CB E2 93 50 */ lfd f31, lbl_80641950-_SDA2_BASE_(r2)
/* 801D1BA0 001CD800 FC E0 01 72 */ fmul f7, f0, f5
/* 801D1BA4 001CD804 91 21 00 24 */ stw r9, 0x24(r1)
/* 801D1BA8 001CD808 C9 A2 93 48 */ lfd f13, lbl_80641948-_SDA2_BASE_(r2)
/* 801D1BAC 001CD80C C8 01 00 20 */ lfd f0, 0x20(r1)
/* 801D1BB0 001CD810 C9 82 93 78 */ lfd f12, lbl_80641978-_SDA2_BASE_(r2)
/* 801D1BB4 001CD814 FC E3 38 2A */ fadd f7, f3, f7
/* 801D1BB8 001CD818 FF 60 02 72 */ fmul f27, f0, f9
/* 801D1BBC 001CD81C C9 42 93 88 */ lfd f10, lbl_80641988-_SDA2_BASE_(r2)
/* 801D1BC0 001CD820 C9 22 93 90 */ lfd f9, lbl_80641990-_SDA2_BASE_(r2)
/* 801D1BC4 001CD824 FD 05 01 F2 */ fmul f8, f5, f7
/* 801D1BC8 001CD828 C8 E2 94 00 */ lfd f7, lbl_80641A00-_SDA2_BASE_(r2)
/* 801D1BCC 001CD82C FF 80 02 F2 */ fmul f28, f0, f11
/* 801D1BD0 001CD830 C9 62 93 80 */ lfd f11, lbl_80641980-_SDA2_BASE_(r2)
/* 801D1BD4 001CD834 FF A6 40 2A */ fadd f29, f6, f8
/* 801D1BD8 001CD838 C8 C1 00 58 */ lfd f6, 0x58(r1)
/* 801D1BDC 001CD83C FF 7A D8 28 */ fsub f27, f26, f27
/* 801D1BE0 001CD840 7D 07 54 AE */ lfdx f8, r7, r10
/* 801D1BE4 001CD844 FC C6 38 28 */ fsub f6, f6, f7
/* 801D1BE8 001CD848 FF A5 07 72 */ fmul f29, f5, f29
/* 801D1BEC 001CD84C FF 9B E0 28 */ fsub f28, f27, f28
/* 801D1BF0 001CD850 D8 C1 00 28 */ stfd f6, 0x28(r1)
/* 801D1BF4 001CD854 FC 60 00 32 */ fmul f3, f0, f0
/* 801D1BF8 001CD858 FC FE E8 2A */ fadd f7, f30, f29
/* 801D1BFC 001CD85C FF 41 07 32 */ fmul f26, f1, f28
/* 801D1C00 001CD860 FC E5 01 F2 */ fmul f7, f5, f7
/* 801D1C04 001CD864 FF A5 01 72 */ fmul f29, f5, f5
/* 801D1C08 001CD868 FF FF 38 2A */ fadd f31, f31, f7
/* 801D1C0C 001CD86C FC 20 20 2A */ fadd f1, f0, f4
/* 801D1C10 001CD870 FC A5 07 F2 */ fmul f5, f5, f31
/* 801D1C14 001CD874 FC FA 00 72 */ fmul f7, f26, f1
/* 801D1C18 001CD878 FC AD 28 2A */ fadd f5, f13, f5
/* 801D1C1C 001CD87C FC 2C 18 2A */ fadd f1, f12, f3
/* 801D1C20 001CD880 FD BD 01 72 */ fmul f13, f29, f5
/* 801D1C24 001CD884 FD AD 38 2A */ fadd f13, f13, f7
/* 801D1C28 001CD888 FC 21 68 2A */ fadd f1, f1, f13
/* 801D1C2C 001CD88C D8 21 00 18 */ stfd f1, 0x18(r1)
/* 801D1C30 001CD890 91 21 00 1C */ stw r9, 0x1c(r1)
/* 801D1C34 001CD894 C8 E1 00 18 */ lfd f7, 0x18(r1)
/* 801D1C38 001CD898 FC A7 60 28 */ fsub f5, f7, f12
/* 801D1C3C 001CD89C FC 3A 01 F2 */ fmul f1, f26, f7
/* 801D1C40 001CD8A0 FC 65 18 28 */ fsub f3, f5, f3
/* 801D1C44 001CD8A4 FC A0 01 F2 */ fmul f5, f0, f7
/* 801D1C48 001CD8A8 FC 0D 18 28 */ fsub f0, f13, f3
/* 801D1C4C 001CD8AC FC 00 01 32 */ fmul f0, f0, f4
/* 801D1C50 001CD8B0 FC 81 00 2A */ fadd f4, f1, f0
/* 801D1C54 001CD8B4 FC 65 20 2A */ fadd f3, f5, f4
/* 801D1C58 001CD8B8 D8 61 00 40 */ stfd f3, 0x40(r1)
/* 801D1C5C 001CD8BC 91 21 00 44 */ stw r9, 0x44(r1)
/* 801D1C60 001CD8C0 C8 61 00 40 */ lfd f3, 0x40(r1)
/* 801D1C64 001CD8C4 FC 03 28 28 */ fsub f0, f3, f5
/* 801D1C68 001CD8C8 FC 2A 00 F2 */ fmul f1, f10, f3
/* 801D1C6C 001CD8CC FC 04 00 28 */ fsub f0, f4, f0
/* 801D1C70 001CD8D0 FC 6B 00 F2 */ fmul f3, f11, f3
/* 801D1C74 001CD8D4 FC 09 00 32 */ fmul f0, f9, f0
/* 801D1C78 001CD8D8 FC 01 00 2A */ fadd f0, f1, f0
/* 801D1C7C 001CD8DC FC 88 00 2A */ fadd f4, f8, f0
/* 801D1C80 001CD8E0 38 63 00 10 */ addi r3, r3, 0x10
/* 801D1C84 001CD8E4 FC 03 20 2A */ fadd f0, f3, f4
/* 801D1C88 001CD8E8 7C 23 54 AE */ lfdx f1, r3, r10
/* 801D1C8C 001CD8EC FC 00 08 2A */ fadd f0, f0, f1
/* 801D1C90 001CD8F0 FC 06 00 2A */ fadd f0, f6, f0
/* 801D1C94 001CD8F4 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 801D1C98 001CD8F8 91 21 00 34 */ stw r9, 0x34(r1)
/* 801D1C9C 001CD8FC C8 01 00 30 */ lfd f0, 0x30(r1)
/* 801D1CA0 001CD900 FC 00 30 28 */ fsub f0, f0, f6
/* 801D1CA4 001CD904 FC 00 08 28 */ fsub f0, f0, f1
/* 801D1CA8 001CD908 FC 00 18 28 */ fsub f0, f0, f3
/* 801D1CAC 001CD90C FC 04 00 28 */ fsub f0, f4, f0
lbl_801D1CB0:
/* 801D1CB0 001CD910 38 64 FF FF */ addi r3, r4, -1
/* 801D1CB4 001CD914 CB E2 92 F8 */ lfd f31, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D1CB8 001CD918 7C 00 1B 79 */ or. r0, r0, r3
/* 801D1CBC 001CD91C 40 82 00 08 */ bne lbl_801D1CC4
/* 801D1CC0 001CD920 CB E2 93 98 */ lfd f31, lbl_80641998-_SDA2_BASE_(r2)
lbl_801D1CC4:
/* 801D1CC4 001CD924 D8 41 00 38 */ stfd f2, 0x38(r1)
/* 801D1CC8 001CD928 38 00 00 00 */ li r0, 0
/* 801D1CCC 001CD92C FC 02 00 32 */ fmul f0, f2, f0
/* 801D1CD0 001CD930 C8 21 00 30 */ lfd f1, 0x30(r1)
/* 801D1CD4 001CD934 90 01 00 3C */ stw r0, 0x3c(r1)
/* 801D1CD8 001CD938 3C 00 40 90 */ lis r0, 0x4090
/* 801D1CDC 001CD93C C8 61 00 38 */ lfd f3, 0x38(r1)
/* 801D1CE0 001CD940 FC 42 18 28 */ fsub f2, f2, f3
/* 801D1CE4 001CD944 FC 63 00 72 */ fmul f3, f3, f1
/* 801D1CE8 001CD948 FC 21 00 B2 */ fmul f1, f1, f2
/* 801D1CEC 001CD94C D8 61 00 40 */ stfd f3, 0x40(r1)
/* 801D1CF0 001CD950 FD 61 00 2A */ fadd f11, f1, f0
/* 801D1CF4 001CD954 FC 0B 18 2A */ fadd f0, f11, f3
/* 801D1CF8 001CD958 D8 01 00 50 */ stfd f0, 0x50(r1)
/* 801D1CFC 001CD95C 80 C1 00 50 */ lwz r6, 0x50(r1)
/* 801D1D00 001CD960 80 A1 00 54 */ lwz r5, 0x54(r1)
/* 801D1D04 001CD964 7C 06 00 00 */ cmpw r6, r0
/* 801D1D08 001CD968 41 80 00 44 */ blt lbl_801D1D4C
/* 801D1D0C 001CD96C 3C 06 BF 70 */ addis r0, r6, 0xbf70
/* 801D1D10 001CD970 7C 00 2B 79 */ or. r0, r0, r5
/* 801D1D14 001CD974 41 82 00 14 */ beq lbl_801D1D28
/* 801D1D18 001CD978 C8 22 93 A0 */ lfd f1, lbl_806419A0-_SDA2_BASE_(r2)
/* 801D1D1C 001CD97C FC 01 07 F2 */ fmul f0, f1, f31
/* 801D1D20 001CD980 FC 21 00 32 */ fmul f1, f1, f0
/* 801D1D24 001CD984 48 00 01 DC */ b lbl_801D1F00
lbl_801D1D28:
/* 801D1D28 001CD988 C8 22 93 A8 */ lfd f1, lbl_806419A8-_SDA2_BASE_(r2)
/* 801D1D2C 001CD98C FC 00 18 28 */ fsub f0, f0, f3
/* 801D1D30 001CD990 FC 21 58 2A */ fadd f1, f1, f11
/* 801D1D34 001CD994 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801D1D38 001CD998 40 81 00 68 */ ble lbl_801D1DA0
/* 801D1D3C 001CD99C C8 22 93 A0 */ lfd f1, lbl_806419A0-_SDA2_BASE_(r2)
/* 801D1D40 001CD9A0 FC 01 07 F2 */ fmul f0, f1, f31
/* 801D1D44 001CD9A4 FC 21 00 32 */ fmul f1, f1, f0
/* 801D1D48 001CD9A8 48 00 01 B8 */ b lbl_801D1F00
lbl_801D1D4C:
/* 801D1D4C 001CD9AC 3C 60 40 91 */ lis r3, 0x4090CC00@ha
/* 801D1D50 001CD9B0 54 C4 00 7E */ clrlwi r4, r6, 1
/* 801D1D54 001CD9B4 38 03 CC 00 */ addi r0, r3, 0x4090CC00@l
/* 801D1D58 001CD9B8 7C 04 00 00 */ cmpw r4, r0
/* 801D1D5C 001CD9BC 41 80 00 44 */ blt lbl_801D1DA0
/* 801D1D60 001CD9C0 3C 66 3F 6F */ addis r3, r6, 0x3f6f
/* 801D1D64 001CD9C4 38 03 34 00 */ addi r0, r3, 0x3400
/* 801D1D68 001CD9C8 7C 00 2B 79 */ or. r0, r0, r5
/* 801D1D6C 001CD9CC 41 82 00 14 */ beq lbl_801D1D80
/* 801D1D70 001CD9D0 C8 22 93 B0 */ lfd f1, lbl_806419B0-_SDA2_BASE_(r2)
/* 801D1D74 001CD9D4 FC 01 07 F2 */ fmul f0, f1, f31
/* 801D1D78 001CD9D8 FC 21 00 32 */ fmul f1, f1, f0
/* 801D1D7C 001CD9DC 48 00 01 84 */ b lbl_801D1F00
lbl_801D1D80:
/* 801D1D80 001CD9E0 FC 00 18 28 */ fsub f0, f0, f3
/* 801D1D84 001CD9E4 FC 0B 00 40 */ fcmpo cr0, f11, f0
/* 801D1D88 001CD9E8 4C 40 13 82 */ cror 2, 0, 2
/* 801D1D8C 001CD9EC 40 82 00 14 */ bne lbl_801D1DA0
/* 801D1D90 001CD9F0 C8 22 93 B0 */ lfd f1, lbl_806419B0-_SDA2_BASE_(r2)
/* 801D1D94 001CD9F4 FC 01 07 F2 */ fmul f0, f1, f31
/* 801D1D98 001CD9F8 FC 21 00 32 */ fmul f1, f1, f0
/* 801D1D9C 001CD9FC 48 00 01 64 */ b lbl_801D1F00
lbl_801D1DA0:
/* 801D1DA0 001CDA00 54 C3 00 7E */ clrlwi r3, r6, 1
/* 801D1DA4 001CDA04 3C 00 3F E0 */ lis r0, 0x3fe0
/* 801D1DA8 001CDA08 7C 03 00 00 */ cmpw r3, r0
/* 801D1DAC 001CDA0C 54 C4 65 7E */ rlwinm r4, r6, 0xc, 0x15, 0x1f
/* 801D1DB0 001CDA10 38 60 00 00 */ li r3, 0
/* 801D1DB4 001CDA14 40 81 00 60 */ ble lbl_801D1E14
/* 801D1DB8 001CDA18 3C 60 00 10 */ lis r3, 0x000FFFFF@ha
/* 801D1DBC 001CDA1C 38 04 FC 02 */ addi r0, r4, -1022
/* 801D1DC0 001CDA20 7C 60 06 30 */ sraw r0, r3, r0
/* 801D1DC4 001CDA24 C8 02 93 00 */ lfd f0, lbl_80641900-_SDA2_BASE_(r2)
/* 801D1DC8 001CDA28 7C E6 02 14 */ add r7, r6, r0
/* 801D1DCC 001CDA2C 38 63 FF FF */ addi r3, r3, 0x000FFFFF@l
/* 801D1DD0 001CDA30 54 E0 00 7E */ clrlwi r0, r7, 1
/* 801D1DD4 001CDA34 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 801D1DD8 001CDA38 7C 04 A6 70 */ srawi r4, r0, 0x14
/* 801D1DDC 001CDA3C 2C 06 00 00 */ cmpwi r6, 0
/* 801D1DE0 001CDA40 38 A4 FC 01 */ addi r5, r4, -1023
/* 801D1DE4 001CDA44 54 E0 03 3E */ clrlwi r0, r7, 0xc
/* 801D1DE8 001CDA48 7C 64 2E 30 */ sraw r4, r3, r5
/* 801D1DEC 001CDA4C 7C E4 20 78 */ andc r4, r7, r4
/* 801D1DF0 001CDA50 64 03 00 10 */ oris r3, r0, 0x10
/* 801D1DF4 001CDA54 20 05 00 14 */ subfic r0, r5, 0x14
/* 801D1DF8 001CDA58 90 81 00 28 */ stw r4, 0x28(r1)
/* 801D1DFC 001CDA5C 7C 63 06 30 */ sraw r3, r3, r0
/* 801D1E00 001CDA60 40 80 00 08 */ bge lbl_801D1E08
/* 801D1E04 001CDA64 7C 63 00 D0 */ neg r3, r3
lbl_801D1E08:
/* 801D1E08 001CDA68 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801D1E0C 001CDA6C FC 63 00 28 */ fsub f3, f3, f0
/* 801D1E10 001CDA70 D8 61 00 40 */ stfd f3, 0x40(r1)
lbl_801D1E14:
/* 801D1E14 001CDA74 FC 2B 18 2A */ fadd f1, f11, f3
/* 801D1E18 001CDA78 38 00 00 00 */ li r0, 0
/* 801D1E1C 001CDA7C C8 02 93 C8 */ lfd f0, lbl_806419C8-_SDA2_BASE_(r2)
/* 801D1E20 001CDA80 54 64 A0 16 */ slwi r4, r3, 0x14
/* 801D1E24 001CDA84 C9 02 93 C0 */ lfd f8, lbl_806419C0-_SDA2_BASE_(r2)
/* 801D1E28 001CDA88 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 801D1E2C 001CDA8C C9 42 93 B8 */ lfd f10, lbl_806419B8-_SDA2_BASE_(r2)
/* 801D1E30 001CDA90 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801D1E34 001CDA94 C8 C2 93 F0 */ lfd f6, lbl_806419F0-_SDA2_BASE_(r2)
/* 801D1E38 001CDA98 C9 21 00 28 */ lfd f9, 0x28(r1)
/* 801D1E3C 001CDA9C C8 22 93 E8 */ lfd f1, lbl_806419E8-_SDA2_BASE_(r2)
/* 801D1E40 001CDAA0 FC 49 18 28 */ fsub f2, f9, f3
/* 801D1E44 001CDAA4 C8 A2 93 E0 */ lfd f5, lbl_806419E0-_SDA2_BASE_(r2)
/* 801D1E48 001CDAA8 FC E0 02 72 */ fmul f7, f0, f9
/* 801D1E4C 001CDAAC C8 82 93 D8 */ lfd f4, lbl_806419D8-_SDA2_BASE_(r2)
/* 801D1E50 001CDAB0 C8 62 93 D0 */ lfd f3, lbl_806419D0-_SDA2_BASE_(r2)
/* 801D1E54 001CDAB4 FC 0B 10 28 */ fsub f0, f11, f2
/* 801D1E58 001CDAB8 FD 4A 02 72 */ fmul f10, f10, f9
/* 801D1E5C 001CDABC C8 42 93 F8 */ lfd f2, lbl_806419F8-_SDA2_BASE_(r2)
/* 801D1E60 001CDAC0 FD 08 00 32 */ fmul f8, f8, f0
/* 801D1E64 001CDAC4 C8 02 92 F8 */ lfd f0, lbl_806418F8-_SDA2_BASE_(r2)
/* 801D1E68 001CDAC8 FD 68 38 2A */ fadd f11, f8, f7
/* 801D1E6C 001CDACC FD 2A 58 2A */ fadd f9, f10, f11
/* 801D1E70 001CDAD0 FC E9 02 72 */ fmul f7, f9, f9
/* 801D1E74 001CDAD4 FD 09 50 28 */ fsub f8, f9, f10
/* 801D1E78 001CDAD8 FC C6 01 F2 */ fmul f6, f6, f7
/* 801D1E7C 001CDADC D8 E1 00 28 */ stfd f7, 0x28(r1)
/* 801D1E80 001CDAE0 FD 0B 40 28 */ fsub f8, f11, f8
/* 801D1E84 001CDAE4 FC C1 30 2A */ fadd f6, f1, f6
/* 801D1E88 001CDAE8 FC 29 02 32 */ fmul f1, f9, f8
/* 801D1E8C 001CDAEC FC C7 01 B2 */ fmul f6, f7, f6
/* 801D1E90 001CDAF0 FC 28 08 2A */ fadd f1, f8, f1
/* 801D1E94 001CDAF4 FC A5 30 2A */ fadd f5, f5, f6
/* 801D1E98 001CDAF8 FC A7 01 72 */ fmul f5, f7, f5
/* 801D1E9C 001CDAFC FC 84 28 2A */ fadd f4, f4, f5
/* 801D1EA0 001CDB00 FC 87 01 32 */ fmul f4, f7, f4
/* 801D1EA4 001CDB04 FC 63 20 2A */ fadd f3, f3, f4
/* 801D1EA8 001CDB08 FC 67 00 F2 */ fmul f3, f7, f3
/* 801D1EAC 001CDB0C FC 89 18 28 */ fsub f4, f9, f3
/* 801D1EB0 001CDB10 FC 69 01 32 */ fmul f3, f9, f4
/* 801D1EB4 001CDB14 D8 81 00 30 */ stfd f4, 0x30(r1)
/* 801D1EB8 001CDB18 FC 44 10 28 */ fsub f2, f4, f2
/* 801D1EBC 001CDB1C FC 43 10 24 */ fdiv f2, f3, f2
/* 801D1EC0 001CDB20 FC 22 08 28 */ fsub f1, f2, f1
/* 801D1EC4 001CDB24 FC 21 48 28 */ fsub f1, f1, f9
/* 801D1EC8 001CDB28 FC 20 08 28 */ fsub f1, f0, f1
/* 801D1ECC 001CDB2C D8 21 00 50 */ stfd f1, 0x50(r1)
/* 801D1ED0 001CDB30 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801D1ED4 001CDB34 7C 00 22 14 */ add r0, r0, r4
/* 801D1ED8 001CDB38 7C 00 A6 71 */ srawi. r0, r0, 0x14
/* 801D1EDC 001CDB3C 41 81 00 10 */ bgt lbl_801D1EEC
/* 801D1EE0 001CDB40 4B FF EA E1 */ bl func_801D09C0
/* 801D1EE4 001CDB44 D8 21 00 50 */ stfd f1, 0x50(r1)
/* 801D1EE8 001CDB48 48 00 00 10 */ b lbl_801D1EF8
lbl_801D1EEC:
/* 801D1EEC 001CDB4C 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801D1EF0 001CDB50 7C 00 22 14 */ add r0, r0, r4
/* 801D1EF4 001CDB54 90 01 00 50 */ stw r0, 0x50(r1)
lbl_801D1EF8:
/* 801D1EF8 001CDB58 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 801D1EFC 001CDB5C FC 3F 00 32 */ fmul f1, f31, f0
lbl_801D1F00:
/* 801D1F00 001CDB60 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 801D1F04 001CDB64 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 801D1F08 001CDB68 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0
/* 801D1F0C 001CDB6C CB C1 00 A0 */ lfd f30, 0xa0(r1)
/* 801D1F10 001CDB70 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0
/* 801D1F14 001CDB74 CB A1 00 90 */ lfd f29, 0x90(r1)
/* 801D1F18 001CDB78 E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0
/* 801D1F1C 001CDB7C CB 81 00 80 */ lfd f28, 0x80(r1)
/* 801D1F20 001CDB80 E3 61 00 78 */ psq_l f27, 120(r1), 0, qr0
/* 801D1F24 001CDB84 CB 61 00 70 */ lfd f27, 0x70(r1)
/* 801D1F28 001CDB88 E3 41 00 68 */ psq_l f26, 104(r1), 0, qr0
/* 801D1F2C 001CDB8C 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 801D1F30 001CDB90 CB 41 00 60 */ lfd f26, 0x60(r1)
/* 801D1F34 001CDB94 7C 08 03 A6 */ mtlr r0
/* 801D1F38 001CDB98 38 21 00 C0 */ addi r1, r1, 0xc0
/* 801D1F3C 001CDB9C 4E 80 00 20 */ blr
.global func_801D1F40
func_801D1F40:
/* 801D1F40 001CDBA0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801D1F44 001CDBA4 7C 08 02 A6 */ mflr r0
/* 801D1F48 001CDBA8 3C 80 3F E9 */ lis r4, 0x3FE921FB@ha
/* 801D1F4C 001CDBAC 90 01 00 64 */ stw r0, 0x64(r1)
/* 801D1F50 001CDBB0 38 04 21 FB */ addi r0, r4, 0x3FE921FB@l
/* 801D1F54 001CDBB4 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 801D1F58 001CDBB8 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D1F5C 001CDBBC 83 E1 00 08 */ lwz r31, 8(r1)
/* 801D1F60 001CDBC0 93 C1 00 58 */ stw r30, 0x58(r1)
/* 801D1F64 001CDBC4 7C 7E 1B 78 */ mr r30, r3
/* 801D1F68 001CDBC8 57 E6 00 7E */ clrlwi r6, r31, 1
/* 801D1F6C 001CDBCC 7C 06 00 00 */ cmpw r6, r0
/* 801D1F70 001CDBD0 41 81 00 18 */ bgt lbl_801D1F88
/* 801D1F74 001CDBD4 C8 02 94 08 */ lfd f0, lbl_80641A08-_SDA2_BASE_(r2)
/* 801D1F78 001CDBD8 D8 23 00 00 */ stfd f1, 0(r3)
/* 801D1F7C 001CDBDC D8 03 00 08 */ stfd f0, 8(r3)
/* 801D1F80 001CDBE0 38 60 00 00 */ li r3, 0
/* 801D1F84 001CDBE4 48 00 03 3C */ b lbl_801D22C0
lbl_801D1F88:
/* 801D1F88 001CDBE8 3C 80 40 03 */ lis r4, 0x4002D97C@ha
/* 801D1F8C 001CDBEC 38 04 D9 7C */ addi r0, r4, 0x4002D97C@l
/* 801D1F90 001CDBF0 7C 06 00 00 */ cmpw r6, r0
/* 801D1F94 001CDBF4 40 80 00 CC */ bge lbl_801D2060
/* 801D1F98 001CDBF8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D1F9C 001CDBFC 40 81 00 64 */ ble lbl_801D2000
/* 801D1FA0 001CDC00 C8 02 94 10 */ lfd f0, lbl_80641A10-_SDA2_BASE_(r2)
/* 801D1FA4 001CDC04 3C 06 C0 07 */ addis r0, r6, 0xc007
/* 801D1FA8 001CDC08 28 00 21 FB */ cmplwi r0, 0x21fb
/* 801D1FAC 001CDC0C FC 61 00 28 */ fsub f3, f1, f0
/* 801D1FB0 001CDC10 D8 61 00 10 */ stfd f3, 0x10(r1)
/* 801D1FB4 001CDC14 41 82 00 20 */ beq lbl_801D1FD4
/* 801D1FB8 001CDC18 C8 42 94 18 */ lfd f2, lbl_80641A18-_SDA2_BASE_(r2)
/* 801D1FBC 001CDC1C FC 23 10 28 */ fsub f1, f3, f2
/* 801D1FC0 001CDC20 FC 03 08 28 */ fsub f0, f3, f1
/* 801D1FC4 001CDC24 D8 23 00 00 */ stfd f1, 0(r3)
/* 801D1FC8 001CDC28 FC 00 10 28 */ fsub f0, f0, f2
/* 801D1FCC 001CDC2C D8 03 00 08 */ stfd f0, 8(r3)
/* 801D1FD0 001CDC30 48 00 00 28 */ b lbl_801D1FF8
lbl_801D1FD4:
/* 801D1FD4 001CDC34 C8 02 94 20 */ lfd f0, lbl_80641A20-_SDA2_BASE_(r2)
/* 801D1FD8 001CDC38 C8 42 94 28 */ lfd f2, lbl_80641A28-_SDA2_BASE_(r2)
/* 801D1FDC 001CDC3C FC 03 00 28 */ fsub f0, f3, f0
/* 801D1FE0 001CDC40 FC 20 10 28 */ fsub f1, f0, f2
/* 801D1FE4 001CDC44 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D1FE8 001CDC48 FC 00 08 28 */ fsub f0, f0, f1
/* 801D1FEC 001CDC4C D8 23 00 00 */ stfd f1, 0(r3)
/* 801D1FF0 001CDC50 FC 00 10 28 */ fsub f0, f0, f2
/* 801D1FF4 001CDC54 D8 03 00 08 */ stfd f0, 8(r3)
lbl_801D1FF8:
/* 801D1FF8 001CDC58 38 60 00 01 */ li r3, 1
/* 801D1FFC 001CDC5C 48 00 02 C4 */ b lbl_801D22C0
lbl_801D2000:
/* 801D2000 001CDC60 C8 02 94 10 */ lfd f0, lbl_80641A10-_SDA2_BASE_(r2)
/* 801D2004 001CDC64 3C 06 C0 07 */ addis r0, r6, 0xc007
/* 801D2008 001CDC68 28 00 21 FB */ cmplwi r0, 0x21fb
/* 801D200C 001CDC6C FC 60 08 2A */ fadd f3, f0, f1
/* 801D2010 001CDC70 D8 61 00 10 */ stfd f3, 0x10(r1)
/* 801D2014 001CDC74 41 82 00 20 */ beq lbl_801D2034
/* 801D2018 001CDC78 C8 42 94 18 */ lfd f2, lbl_80641A18-_SDA2_BASE_(r2)
/* 801D201C 001CDC7C FC 22 18 2A */ fadd f1, f2, f3
/* 801D2020 001CDC80 FC 03 08 28 */ fsub f0, f3, f1
/* 801D2024 001CDC84 D8 23 00 00 */ stfd f1, 0(r3)
/* 801D2028 001CDC88 FC 02 00 2A */ fadd f0, f2, f0
/* 801D202C 001CDC8C D8 03 00 08 */ stfd f0, 8(r3)
/* 801D2030 001CDC90 48 00 00 28 */ b lbl_801D2058
lbl_801D2034:
/* 801D2034 001CDC94 C8 02 94 20 */ lfd f0, lbl_80641A20-_SDA2_BASE_(r2)
/* 801D2038 001CDC98 C8 42 94 28 */ lfd f2, lbl_80641A28-_SDA2_BASE_(r2)
/* 801D203C 001CDC9C FC 03 00 2A */ fadd f0, f3, f0
/* 801D2040 001CDCA0 FC 22 00 2A */ fadd f1, f2, f0
/* 801D2044 001CDCA4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D2048 001CDCA8 FC 00 08 28 */ fsub f0, f0, f1
/* 801D204C 001CDCAC D8 23 00 00 */ stfd f1, 0(r3)
/* 801D2050 001CDCB0 FC 02 00 2A */ fadd f0, f2, f0
/* 801D2054 001CDCB4 D8 03 00 08 */ stfd f0, 8(r3)
lbl_801D2058:
/* 801D2058 001CDCB8 38 60 FF FF */ li r3, -1
/* 801D205C 001CDCBC 48 00 02 64 */ b lbl_801D22C0
lbl_801D2060:
/* 801D2060 001CDCC0 3C 80 41 39 */ lis r4, 0x413921FB@ha
/* 801D2064 001CDCC4 38 04 21 FB */ addi r0, r4, 0x413921FB@l
/* 801D2068 001CDCC8 7C 06 00 00 */ cmpw r6, r0
/* 801D206C 001CDCCC 41 81 01 48 */ bgt lbl_801D21B4
/* 801D2070 001CDCD0 FC A0 0A 10 */ fabs f5, f1
/* 801D2074 001CDCD4 C8 02 94 38 */ lfd f0, lbl_80641A38-_SDA2_BASE_(r2)
/* 801D2078 001CDCD8 3C 00 43 30 */ lis r0, 0x4330
/* 801D207C 001CDCDC C8 42 94 30 */ lfd f2, lbl_80641A30-_SDA2_BASE_(r2)
/* 801D2080 001CDCE0 90 01 00 38 */ stw r0, 0x38(r1)
/* 801D2084 001CDCE4 FC 80 01 72 */ fmul f4, f0, f5
/* 801D2088 001CDCE8 C8 62 94 58 */ lfd f3, lbl_80641A58-_SDA2_BASE_(r2)
/* 801D208C 001CDCEC C8 22 94 10 */ lfd f1, lbl_80641A10-_SDA2_BASE_(r2)
/* 801D2090 001CDCF0 C8 02 94 18 */ lfd f0, lbl_80641A18-_SDA2_BASE_(r2)
/* 801D2094 001CDCF4 FC 42 20 2A */ fadd f2, f2, f4
/* 801D2098 001CDCF8 FC 40 10 1E */ fctiwz f2, f2
/* 801D209C 001CDCFC D8 41 00 30 */ stfd f2, 0x30(r1)
/* 801D20A0 001CDD00 80 A1 00 34 */ lwz r5, 0x34(r1)
/* 801D20A4 001CDD04 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 801D20A8 001CDD08 2C 05 00 20 */ cmpwi r5, 0x20
/* 801D20AC 001CDD0C 90 01 00 3C */ stw r0, 0x3c(r1)
/* 801D20B0 001CDD10 C8 41 00 38 */ lfd f2, 0x38(r1)
/* 801D20B4 001CDD14 FC C2 18 28 */ fsub f6, f2, f3
/* 801D20B8 001CDD18 FC 21 01 B2 */ fmul f1, f1, f6
/* 801D20BC 001CDD1C FC 40 01 B2 */ fmul f2, f0, f6
/* 801D20C0 001CDD20 FC 85 08 28 */ fsub f4, f5, f1
/* 801D20C4 001CDD24 40 80 00 2C */ bge lbl_801D20F0
/* 801D20C8 001CDD28 38 05 FF FF */ addi r0, r5, -1
/* 801D20CC 001CDD2C 3C 80 80 40 */ lis r4, lbl_803FD470@ha
/* 801D20D0 001CDD30 54 00 10 3A */ slwi r0, r0, 2
/* 801D20D4 001CDD34 38 84 D4 70 */ addi r4, r4, lbl_803FD470@l
/* 801D20D8 001CDD38 7C 04 00 2E */ lwzx r0, r4, r0
/* 801D20DC 001CDD3C 7C 06 00 00 */ cmpw r6, r0
/* 801D20E0 001CDD40 41 82 00 10 */ beq lbl_801D20F0
/* 801D20E4 001CDD44 FC 04 10 28 */ fsub f0, f4, f2
/* 801D20E8 001CDD48 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D20EC 001CDD4C 48 00 00 90 */ b lbl_801D217C
lbl_801D20F0:
/* 801D20F0 001CDD50 FC 04 10 28 */ fsub f0, f4, f2
/* 801D20F4 001CDD54 7C C4 A6 70 */ srawi r4, r6, 0x14
/* 801D20F8 001CDD58 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D20FC 001CDD5C 80 03 00 00 */ lwz r0, 0(r3)
/* 801D2100 001CDD60 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f
/* 801D2104 001CDD64 7C 00 20 50 */ subf r0, r0, r4
/* 801D2108 001CDD68 2C 00 00 10 */ cmpwi r0, 0x10
/* 801D210C 001CDD6C 40 81 00 70 */ ble lbl_801D217C
/* 801D2110 001CDD70 C8 22 94 20 */ lfd f1, lbl_80641A20-_SDA2_BASE_(r2)
/* 801D2114 001CDD74 FC 40 20 90 */ fmr f2, f4
/* 801D2118 001CDD78 C8 02 94 28 */ lfd f0, lbl_80641A28-_SDA2_BASE_(r2)
/* 801D211C 001CDD7C FC 61 01 B2 */ fmul f3, f1, f6
/* 801D2120 001CDD80 FC 20 01 B2 */ fmul f1, f0, f6
/* 801D2124 001CDD84 FC 84 18 28 */ fsub f4, f4, f3
/* 801D2128 001CDD88 FC 02 20 28 */ fsub f0, f2, f4
/* 801D212C 001CDD8C FC 00 18 28 */ fsub f0, f0, f3
/* 801D2130 001CDD90 FC 41 00 28 */ fsub f2, f1, f0
/* 801D2134 001CDD94 FC 04 10 28 */ fsub f0, f4, f2
/* 801D2138 001CDD98 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D213C 001CDD9C 80 03 00 00 */ lwz r0, 0(r3)
/* 801D2140 001CDDA0 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f
/* 801D2144 001CDDA4 7C 00 20 50 */ subf r0, r0, r4
/* 801D2148 001CDDA8 2C 00 00 31 */ cmpwi r0, 0x31
/* 801D214C 001CDDAC 40 81 00 30 */ ble lbl_801D217C
/* 801D2150 001CDDB0 C8 22 94 40 */ lfd f1, lbl_80641A40-_SDA2_BASE_(r2)
/* 801D2154 001CDDB4 FC 40 20 90 */ fmr f2, f4
/* 801D2158 001CDDB8 C8 02 94 48 */ lfd f0, lbl_80641A48-_SDA2_BASE_(r2)
/* 801D215C 001CDDBC FC 61 01 B2 */ fmul f3, f1, f6
/* 801D2160 001CDDC0 FC 20 01 B2 */ fmul f1, f0, f6
/* 801D2164 001CDDC4 FC 84 18 28 */ fsub f4, f4, f3
/* 801D2168 001CDDC8 FC 02 20 28 */ fsub f0, f2, f4
/* 801D216C 001CDDCC FC 00 18 28 */ fsub f0, f0, f3
/* 801D2170 001CDDD0 FC 41 00 28 */ fsub f2, f1, f0
/* 801D2174 001CDDD4 FC 04 10 28 */ fsub f0, f4, f2
/* 801D2178 001CDDD8 D8 03 00 00 */ stfd f0, 0(r3)
lbl_801D217C:
/* 801D217C 001CDDDC C8 23 00 00 */ lfd f1, 0(r3)
/* 801D2180 001CDDE0 2C 1F 00 00 */ cmpwi r31, 0
/* 801D2184 001CDDE4 FC 04 08 28 */ fsub f0, f4, f1
/* 801D2188 001CDDE8 FC 00 10 28 */ fsub f0, f0, f2
/* 801D218C 001CDDEC D8 03 00 08 */ stfd f0, 8(r3)
/* 801D2190 001CDDF0 40 80 00 1C */ bge lbl_801D21AC
/* 801D2194 001CDDF4 FC 20 08 50 */ fneg f1, f1
/* 801D2198 001CDDF8 FC 00 00 50 */ fneg f0, f0
/* 801D219C 001CDDFC D8 23 00 00 */ stfd f1, 0(r3)
/* 801D21A0 001CDE00 D8 03 00 08 */ stfd f0, 8(r3)
/* 801D21A4 001CDE04 7C 65 00 D0 */ neg r3, r5
/* 801D21A8 001CDE08 48 00 01 18 */ b lbl_801D22C0
lbl_801D21AC:
/* 801D21AC 001CDE0C 7C A3 2B 78 */ mr r3, r5
/* 801D21B0 001CDE10 48 00 01 10 */ b lbl_801D22C0
lbl_801D21B4:
/* 801D21B4 001CDE14 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D21B8 001CDE18 7C 06 00 00 */ cmpw r6, r0
/* 801D21BC 001CDE1C 41 80 00 18 */ blt lbl_801D21D4
/* 801D21C0 001CDE20 FC 01 08 28 */ fsub f0, f1, f1
/* 801D21C4 001CDE24 D8 03 00 08 */ stfd f0, 8(r3)
/* 801D21C8 001CDE28 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D21CC 001CDE2C 38 60 00 00 */ li r3, 0
/* 801D21D0 001CDE30 48 00 00 F0 */ b lbl_801D22C0
lbl_801D21D4:
/* 801D21D4 001CDE34 7C C3 A6 70 */ srawi r3, r6, 0x14
/* 801D21D8 001CDE38 3C 00 43 30 */ lis r0, 0x4330
/* 801D21DC 001CDE3C 38 A3 FB EA */ addi r5, r3, -1046
/* 801D21E0 001CDE40 80 81 00 0C */ lwz r4, 0xc(r1)
/* 801D21E4 001CDE44 54 A3 A0 16 */ slwi r3, r5, 0x14
/* 801D21E8 001CDE48 90 01 00 30 */ stw r0, 0x30(r1)
/* 801D21EC 001CDE4C 7C 63 30 50 */ subf r3, r3, r6
/* 801D21F0 001CDE50 C8 A2 94 58 */ lfd f5, lbl_80641A58-_SDA2_BASE_(r2)
/* 801D21F4 001CDE54 90 81 00 14 */ stw r4, 0x14(r1)
/* 801D21F8 001CDE58 38 81 00 30 */ addi r4, r1, 0x30
/* 801D21FC 001CDE5C C8 82 94 50 */ lfd f4, lbl_80641A50-_SDA2_BASE_(r2)
/* 801D2200 001CDE60 38 C0 00 03 */ li r6, 3
/* 801D2204 001CDE64 90 61 00 10 */ stw r3, 0x10(r1)
/* 801D2208 001CDE68 C8 22 94 08 */ lfd f1, lbl_80641A08-_SDA2_BASE_(r2)
/* 801D220C 001CDE6C C8 61 00 10 */ lfd f3, 0x10(r1)
/* 801D2210 001CDE70 90 01 00 48 */ stw r0, 0x48(r1)
/* 801D2214 001CDE74 FC 00 18 1E */ fctiwz f0, f3
/* 801D2218 001CDE78 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 801D221C 001CDE7C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 801D2220 001CDE80 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D2224 001CDE84 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D2228 001CDE88 C8 01 00 30 */ lfd f0, 0x30(r1)
/* 801D222C 001CDE8C FC 40 28 28 */ fsub f2, f0, f5
/* 801D2230 001CDE90 FC 03 10 28 */ fsub f0, f3, f2
/* 801D2234 001CDE94 D8 41 00 18 */ stfd f2, 0x18(r1)
/* 801D2238 001CDE98 FC 64 00 32 */ fmul f3, f4, f0
/* 801D223C 001CDE9C FC 00 18 1E */ fctiwz f0, f3
/* 801D2240 001CDEA0 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 801D2244 001CDEA4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801D2248 001CDEA8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D224C 001CDEAC 90 01 00 4C */ stw r0, 0x4c(r1)
/* 801D2250 001CDEB0 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 801D2254 001CDEB4 FC 40 28 28 */ fsub f2, f0, f5
/* 801D2258 001CDEB8 FC 03 10 28 */ fsub f0, f3, f2
/* 801D225C 001CDEBC D8 41 00 20 */ stfd f2, 0x20(r1)
/* 801D2260 001CDEC0 FC 04 00 32 */ fmul f0, f4, f0
/* 801D2264 001CDEC4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D2268 001CDEC8 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 801D226C 001CDECC 48 00 00 0C */ b lbl_801D2278
lbl_801D2270:
/* 801D2270 001CDED0 38 84 FF F8 */ addi r4, r4, -8
/* 801D2274 001CDED4 38 C6 FF FF */ addi r6, r6, -1
lbl_801D2278:
/* 801D2278 001CDED8 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D227C 001CDEDC FC 01 00 00 */ fcmpu cr0, f1, f0
/* 801D2280 001CDEE0 41 82 FF F0 */ beq lbl_801D2270
/* 801D2284 001CDEE4 3D 00 80 40 */ lis r8, lbl_803FD368@ha
/* 801D2288 001CDEE8 7F C4 F3 78 */ mr r4, r30
/* 801D228C 001CDEEC 38 61 00 18 */ addi r3, r1, 0x18
/* 801D2290 001CDEF0 38 E0 00 02 */ li r7, 2
/* 801D2294 001CDEF4 39 08 D3 68 */ addi r8, r8, lbl_803FD368@l
/* 801D2298 001CDEF8 48 00 01 51 */ bl func_801D23E8
/* 801D229C 001CDEFC 2C 1F 00 00 */ cmpwi r31, 0
/* 801D22A0 001CDF00 40 80 00 20 */ bge lbl_801D22C0
/* 801D22A4 001CDF04 C8 3E 00 00 */ lfd f1, 0(r30)
/* 801D22A8 001CDF08 7C 63 00 D0 */ neg r3, r3
/* 801D22AC 001CDF0C C8 1E 00 08 */ lfd f0, 8(r30)
/* 801D22B0 001CDF10 FC 20 08 50 */ fneg f1, f1
/* 801D22B4 001CDF14 FC 00 00 50 */ fneg f0, f0
/* 801D22B8 001CDF18 D8 3E 00 00 */ stfd f1, 0(r30)
/* 801D22BC 001CDF1C D8 1E 00 08 */ stfd f0, 8(r30)
lbl_801D22C0:
/* 801D22C0 001CDF20 80 01 00 64 */ lwz r0, 0x64(r1)
/* 801D22C4 001CDF24 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 801D22C8 001CDF28 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 801D22CC 001CDF2C 7C 08 03 A6 */ mtlr r0
/* 801D22D0 001CDF30 38 21 00 60 */ addi r1, r1, 0x60
/* 801D22D4 001CDF34 4E 80 00 20 */ blr
.global func_801D22D8
func_801D22D8:
/* 801D22D8 001CDF38 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D22DC 001CDF3C 3C 00 3E 40 */ lis r0, 0x3e40
/* 801D22E0 001CDF40 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D22E4 001CDF44 80 61 00 08 */ lwz r3, 8(r1)
/* 801D22E8 001CDF48 54 64 00 7E */ clrlwi r4, r3, 1
/* 801D22EC 001CDF4C 7C 04 00 00 */ cmpw r4, r0
/* 801D22F0 001CDF50 40 80 00 20 */ bge lbl_801D2310
/* 801D22F4 001CDF54 FC 00 08 1E */ fctiwz f0, f1
/* 801D22F8 001CDF58 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 801D22FC 001CDF5C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801D2300 001CDF60 2C 00 00 00 */ cmpwi r0, 0
/* 801D2304 001CDF64 40 82 00 0C */ bne lbl_801D2310
/* 801D2308 001CDF68 C8 22 94 60 */ lfd f1, lbl_80641A60-_SDA2_BASE_(r2)
/* 801D230C 001CDF6C 48 00 00 D4 */ b lbl_801D23E0
lbl_801D2310:
/* 801D2310 001CDF70 FD 01 00 72 */ fmul f8, f1, f1
/* 801D2314 001CDF74 C8 02 94 90 */ lfd f0, lbl_80641A90-_SDA2_BASE_(r2)
/* 801D2318 001CDF78 3C 60 3F D3 */ lis r3, 0x3FD33333@ha
/* 801D231C 001CDF7C C8 C2 94 88 */ lfd f6, lbl_80641A88-_SDA2_BASE_(r2)
/* 801D2320 001CDF80 38 03 33 33 */ addi r0, r3, 0x3FD33333@l
/* 801D2324 001CDF84 C8 A2 94 80 */ lfd f5, lbl_80641A80-_SDA2_BASE_(r2)
/* 801D2328 001CDF88 FC E0 02 32 */ fmul f7, f0, f8
/* 801D232C 001CDF8C C8 82 94 78 */ lfd f4, lbl_80641A78-_SDA2_BASE_(r2)
/* 801D2330 001CDF90 C8 62 94 70 */ lfd f3, lbl_80641A70-_SDA2_BASE_(r2)
/* 801D2334 001CDF94 7C 04 00 00 */ cmpw r4, r0
/* 801D2338 001CDF98 C8 02 94 68 */ lfd f0, lbl_80641A68-_SDA2_BASE_(r2)
/* 801D233C 001CDF9C FC C6 38 2A */ fadd f6, f6, f7
/* 801D2340 001CDFA0 FC C8 01 B2 */ fmul f6, f8, f6
/* 801D2344 001CDFA4 FC A5 30 2A */ fadd f5, f5, f6
/* 801D2348 001CDFA8 FC A8 01 72 */ fmul f5, f8, f5
/* 801D234C 001CDFAC FC 84 28 2A */ fadd f4, f4, f5
/* 801D2350 001CDFB0 FC 88 01 32 */ fmul f4, f8, f4
/* 801D2354 001CDFB4 FC 63 20 2A */ fadd f3, f3, f4
/* 801D2358 001CDFB8 FC 68 00 F2 */ fmul f3, f8, f3
/* 801D235C 001CDFBC FC 00 18 2A */ fadd f0, f0, f3
/* 801D2360 001CDFC0 FC 68 00 32 */ fmul f3, f8, f0
/* 801D2364 001CDFC4 40 80 00 28 */ bge lbl_801D238C
/* 801D2368 001CDFC8 FC 68 00 F2 */ fmul f3, f8, f3
/* 801D236C 001CDFCC C8 82 94 98 */ lfd f4, lbl_80641A98-_SDA2_BASE_(r2)
/* 801D2370 001CDFD0 C8 02 94 60 */ lfd f0, lbl_80641A60-_SDA2_BASE_(r2)
/* 801D2374 001CDFD4 FC 21 00 B2 */ fmul f1, f1, f2
/* 801D2378 001CDFD8 FC 44 02 32 */ fmul f2, f4, f8
/* 801D237C 001CDFDC FC 23 08 28 */ fsub f1, f3, f1
/* 801D2380 001CDFE0 FC 22 08 28 */ fsub f1, f2, f1
/* 801D2384 001CDFE4 FC 20 08 28 */ fsub f1, f0, f1
/* 801D2388 001CDFE8 48 00 00 58 */ b lbl_801D23E0
lbl_801D238C:
/* 801D238C 001CDFEC 3C 00 3F E9 */ lis r0, 0x3fe9
/* 801D2390 001CDFF0 7C 04 00 00 */ cmpw r4, r0
/* 801D2394 001CDFF4 40 81 00 10 */ ble lbl_801D23A4
/* 801D2398 001CDFF8 C8 02 94 A0 */ lfd f0, lbl_80641AA0-_SDA2_BASE_(r2)
/* 801D239C 001CDFFC D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D23A0 001CE000 48 00 00 14 */ b lbl_801D23B4
lbl_801D23A4:
/* 801D23A4 001CE004 3C 64 FF E0 */ addis r3, r4, 0xffe0
/* 801D23A8 001CE008 38 00 00 00 */ li r0, 0
/* 801D23AC 001CE00C 90 61 00 10 */ stw r3, 0x10(r1)
/* 801D23B0 001CE010 90 01 00 14 */ stw r0, 0x14(r1)
lbl_801D23B4:
/* 801D23B4 001CE014 C8 02 94 98 */ lfd f0, lbl_80641A98-_SDA2_BASE_(r2)
/* 801D23B8 001CE018 FC 68 00 F2 */ fmul f3, f8, f3
/* 801D23BC 001CE01C C8 A1 00 10 */ lfd f5, 0x10(r1)
/* 801D23C0 001CE020 FC C0 02 32 */ fmul f6, f0, f8
/* 801D23C4 001CE024 C8 82 94 60 */ lfd f4, lbl_80641A60-_SDA2_BASE_(r2)
/* 801D23C8 001CE028 FC 01 00 B2 */ fmul f0, f1, f2
/* 801D23CC 001CE02C FC 46 28 28 */ fsub f2, f6, f5
/* 801D23D0 001CE030 FC 24 28 28 */ fsub f1, f4, f5
/* 801D23D4 001CE034 FC 03 00 28 */ fsub f0, f3, f0
/* 801D23D8 001CE038 FC 02 00 28 */ fsub f0, f2, f0
/* 801D23DC 001CE03C FC 21 00 28 */ fsub f1, f1, f0
lbl_801D23E0:
/* 801D23E0 001CE040 38 21 00 20 */ addi r1, r1, 0x20
/* 801D23E4 001CE044 4E 80 00 20 */ blr
.global func_801D23E8
func_801D23E8:
/* 801D23E8 001CE048 94 21 FC 90 */ stwu r1, -0x370(r1)
/* 801D23EC 001CE04C 7C 08 02 A6 */ mflr r0
/* 801D23F0 001CE050 90 01 03 74 */ stw r0, 0x374(r1)
/* 801D23F4 001CE054 39 61 03 70 */ addi r11, r1, 0x370
/* 801D23F8 001CE058 4B FF 4C 89 */ bl func_801C7080
/* 801D23FC 001CE05C BD C1 02 E0 */ stmw r14, 0x2e0(r1)
/* 801D2400 001CE060 3D 20 2A AB */ lis r9, 0x2AAAAAAB@ha
/* 801D2404 001CE064 3D 80 43 30 */ lis r12, 0x4330
/* 801D2408 001CE068 38 05 FF FD */ addi r0, r5, -3
/* 801D240C 001CE06C 3D 40 80 40 */ lis r10, lbl_803FD4F0@ha
/* 801D2410 001CE070 39 29 AA AB */ addi r9, r9, 0x2AAAAAAB@l
/* 801D2414 001CE074 54 EB 10 3A */ slwi r11, r7, 2
/* 801D2418 001CE078 7C 09 00 96 */ mulhw r0, r9, r0
/* 801D241C 001CE07C 39 4A D4 F0 */ addi r10, r10, lbl_803FD4F0@l
/* 801D2420 001CE080 7C 91 23 78 */ mr r17, r4
/* 801D2424 001CE084 7E AA 58 2E */ lwzx r21, r10, r11
/* 801D2428 001CE088 91 81 02 40 */ stw r12, 0x240(r1)
/* 801D242C 001CE08C 7C 70 1B 78 */ mr r16, r3
/* 801D2430 001CE090 7C 00 16 70 */ srawi r0, r0, 2
/* 801D2434 001CE094 91 81 02 48 */ stw r12, 0x248(r1)
/* 801D2438 001CE098 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D243C 001CE09C 3A C6 FF FF */ addi r22, r6, -1
/* 801D2440 001CE0A0 7D 40 22 15 */ add. r10, r0, r4
/* 801D2444 001CE0A4 90 E1 00 08 */ stw r7, 8(r1)
/* 801D2448 001CE0A8 40 80 00 08 */ bge lbl_801D2450
/* 801D244C 001CE0AC 39 40 00 00 */ li r10, 0
lbl_801D2450:
/* 801D2450 001CE0B0 38 0A 00 01 */ addi r0, r10, 1
/* 801D2454 001CE0B4 7D 36 AA 15 */ add. r9, r22, r21
/* 801D2458 001CE0B8 1C C0 00 18 */ mulli r6, r0, 0x18
/* 801D245C 001CE0BC 7C F6 50 50 */ subf r7, r22, r10
/* 801D2460 001CE0C0 C8 22 94 E0 */ lfd f1, lbl_80641AE0-_SDA2_BASE_(r2)
/* 801D2464 001CE0C4 54 E4 10 3A */ slwi r4, r7, 2
/* 801D2468 001CE0C8 7E 66 28 50 */ subf r19, r6, r5
/* 801D246C 001CE0CC 38 09 00 01 */ addi r0, r9, 1
/* 801D2470 001CE0D0 7C 88 22 14 */ add r4, r8, r4
/* 801D2474 001CE0D4 38 A1 01 A0 */ addi r5, r1, 0x1a0
/* 801D2478 001CE0D8 7C 09 03 A6 */ mtctr r0
/* 801D247C 001CE0DC 41 80 00 3C */ blt lbl_801D24B8
lbl_801D2480:
/* 801D2480 001CE0E0 2C 07 00 00 */ cmpwi r7, 0
/* 801D2484 001CE0E4 40 80 00 0C */ bge lbl_801D2490
/* 801D2488 001CE0E8 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D248C 001CE0EC 48 00 00 18 */ b lbl_801D24A4
lbl_801D2490:
/* 801D2490 001CE0F0 80 04 00 00 */ lwz r0, 0(r4)
/* 801D2494 001CE0F4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D2498 001CE0F8 90 01 02 44 */ stw r0, 0x244(r1)
/* 801D249C 001CE0FC C8 01 02 40 */ lfd f0, 0x240(r1)
/* 801D24A0 001CE100 FC 00 08 28 */ fsub f0, f0, f1
lbl_801D24A4:
/* 801D24A4 001CE104 D8 05 00 00 */ stfd f0, 0(r5)
/* 801D24A8 001CE108 38 A5 00 08 */ addi r5, r5, 8
/* 801D24AC 001CE10C 38 84 00 04 */ addi r4, r4, 4
/* 801D24B0 001CE110 38 E7 00 01 */ addi r7, r7, 1
/* 801D24B4 001CE114 42 00 FF CC */ bdnz lbl_801D2480
lbl_801D24B8:
/* 801D24B8 001CE118 38 16 00 01 */ addi r0, r22, 1
/* 801D24BC 001CE11C 38 A1 00 60 */ addi r5, r1, 0x60
/* 801D24C0 001CE120 56 D9 00 00 */ rlwinm r25, r22, 0, 0, 0
/* 801D24C4 001CE124 39 81 01 A0 */ addi r12, r1, 0x1a0
/* 801D24C8 001CE128 54 18 00 00 */ rlwinm r24, r0, 0, 0, 0
/* 801D24CC 001CE12C 39 20 00 00 */ li r9, 0
/* 801D24D0 001CE130 3C 80 80 00 */ lis r4, 0x8000
/* 801D24D4 001CE134 48 00 01 C8 */ b lbl_801D269C
lbl_801D24D8:
/* 801D24D8 001CE138 2C 96 00 00 */ cmpwi cr1, r22, 0
/* 801D24DC 001CE13C C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D24E0 001CE140 38 E0 00 00 */ li r7, 0
/* 801D24E4 001CE144 41 84 01 AC */ blt cr1, lbl_801D2690
/* 801D24E8 001CE148 38 16 00 01 */ addi r0, r22, 1
/* 801D24EC 001CE14C 39 D6 FF F8 */ addi r14, r22, -8
/* 801D24F0 001CE150 2C 00 00 08 */ cmpwi r0, 8
/* 801D24F4 001CE154 40 81 01 58 */ ble lbl_801D264C
/* 801D24F8 001CE158 38 C0 00 00 */ li r6, 0
/* 801D24FC 001CE15C 39 60 00 00 */ li r11, 0
/* 801D2500 001CE160 41 84 00 14 */ blt cr1, lbl_801D2514
/* 801D2504 001CE164 38 04 FF FE */ addi r0, r4, -2
/* 801D2508 001CE168 7C 16 00 00 */ cmpw r22, r0
/* 801D250C 001CE16C 41 81 00 08 */ bgt lbl_801D2514
/* 801D2510 001CE170 39 60 00 01 */ li r11, 1
lbl_801D2514:
/* 801D2514 001CE174 2C 0B 00 00 */ cmpwi r11, 0
/* 801D2518 001CE178 41 82 00 28 */ beq lbl_801D2540
/* 801D251C 001CE17C 2C 19 00 00 */ cmpwi r25, 0
/* 801D2520 001CE180 38 00 00 01 */ li r0, 1
/* 801D2524 001CE184 40 82 00 10 */ bne lbl_801D2534
/* 801D2528 001CE188 2C 18 00 00 */ cmpwi r24, 0
/* 801D252C 001CE18C 41 82 00 08 */ beq lbl_801D2534
/* 801D2530 001CE190 38 00 00 00 */ li r0, 0
lbl_801D2534:
/* 801D2534 001CE194 2C 00 00 00 */ cmpwi r0, 0
/* 801D2538 001CE198 41 82 00 08 */ beq lbl_801D2540
/* 801D253C 001CE19C 38 C0 00 01 */ li r6, 1
lbl_801D2540:
/* 801D2540 001CE1A0 2C 06 00 00 */ cmpwi r6, 0
/* 801D2544 001CE1A4 41 82 01 08 */ beq lbl_801D264C
/* 801D2548 001CE1A8 39 6E 00 08 */ addi r11, r14, 8
/* 801D254C 001CE1AC 7E 06 83 78 */ mr r6, r16
/* 801D2550 001CE1B0 55 6B E8 FE */ srwi r11, r11, 3
/* 801D2554 001CE1B4 7C 16 4A 14 */ add r0, r22, r9
/* 801D2558 001CE1B8 7D 69 03 A6 */ mtctr r11
/* 801D255C 001CE1BC 2C 0E 00 00 */ cmpwi r14, 0
/* 801D2560 001CE1C0 41 80 00 EC */ blt lbl_801D264C
lbl_801D2564:
/* 801D2564 001CE1C4 7D 67 00 50 */ subf r11, r7, r0
/* 801D2568 001CE1C8 39 C7 00 01 */ addi r14, r7, 1
/* 801D256C 001CE1CC 55 6F 18 38 */ slwi r15, r11, 3
/* 801D2570 001CE1D0 C8 26 00 00 */ lfd f1, 0(r6)
/* 801D2574 001CE1D4 7C 0C 7C AE */ lfdx f0, r12, r15
/* 801D2578 001CE1D8 7D CE 00 50 */ subf r14, r14, r0
/* 801D257C 001CE1DC 55 CF 18 38 */ slwi r15, r14, 3
/* 801D2580 001CE1E0 39 67 00 02 */ addi r11, r7, 2
/* 801D2584 001CE1E4 FC 41 00 32 */ fmul f2, f1, f0
/* 801D2588 001CE1E8 7D CB 00 50 */ subf r14, r11, r0
/* 801D258C 001CE1EC 7C 0C 7C AE */ lfdx f0, r12, r15
/* 801D2590 001CE1F0 55 CF 18 38 */ slwi r15, r14, 3
/* 801D2594 001CE1F4 C8 26 00 08 */ lfd f1, 8(r6)
/* 801D2598 001CE1F8 39 67 00 03 */ addi r11, r7, 3
/* 801D259C 001CE1FC FC 61 00 32 */ fmul f3, f1, f0
/* 801D25A0 001CE200 7D CB 00 50 */ subf r14, r11, r0
/* 801D25A4 001CE204 C8 26 00 10 */ lfd f1, 0x10(r6)
/* 801D25A8 001CE208 55 CE 18 38 */ slwi r14, r14, 3
/* 801D25AC 001CE20C FC C6 10 2A */ fadd f6, f6, f2
/* 801D25B0 001CE210 7C 0C 7C AE */ lfdx f0, r12, r15
/* 801D25B4 001CE214 FC 41 00 32 */ fmul f2, f1, f0
/* 801D25B8 001CE218 39 67 00 04 */ addi r11, r7, 4
/* 801D25BC 001CE21C 7C 0C 74 AE */ lfdx f0, r12, r14
/* 801D25C0 001CE220 7D 6B 00 50 */ subf r11, r11, r0
/* 801D25C4 001CE224 FC C6 18 2A */ fadd f6, f6, f3
/* 801D25C8 001CE228 C8 26 00 18 */ lfd f1, 0x18(r6)
/* 801D25CC 001CE22C 55 72 18 38 */ slwi r18, r11, 3
/* 801D25D0 001CE230 FC 21 00 32 */ fmul f1, f1, f0
/* 801D25D4 001CE234 39 67 00 05 */ addi r11, r7, 5
/* 801D25D8 001CE238 39 C7 00 06 */ addi r14, r7, 6
/* 801D25DC 001CE23C FC C6 10 2A */ fadd f6, f6, f2
/* 801D25E0 001CE240 7D 6B 00 50 */ subf r11, r11, r0
/* 801D25E4 001CE244 55 6F 18 38 */ slwi r15, r11, 3
/* 801D25E8 001CE248 39 67 00 07 */ addi r11, r7, 7
/* 801D25EC 001CE24C FC C6 08 2A */ fadd f6, f6, f1
/* 801D25F0 001CE250 7D CE 00 50 */ subf r14, r14, r0
/* 801D25F4 001CE254 C8 46 00 20 */ lfd f2, 0x20(r6)
/* 801D25F8 001CE258 7C 0C 94 AE */ lfdx f0, r12, r18
/* 801D25FC 001CE25C 7D 6B 00 50 */ subf r11, r11, r0
/* 801D2600 001CE260 C8 26 00 28 */ lfd f1, 0x28(r6)
/* 801D2604 001CE264 FC A2 00 32 */ fmul f5, f2, f0
/* 801D2608 001CE268 7C 0C 7C AE */ lfdx f0, r12, r15
/* 801D260C 001CE26C 55 CE 18 38 */ slwi r14, r14, 3
/* 801D2610 001CE270 C8 66 00 30 */ lfd f3, 0x30(r6)
/* 801D2614 001CE274 FC 81 00 32 */ fmul f4, f1, f0
/* 801D2618 001CE278 7C 4C 74 AE */ lfdx f2, r12, r14
/* 801D261C 001CE27C FC C6 28 2A */ fadd f6, f6, f5
/* 801D2620 001CE280 55 6B 18 38 */ slwi r11, r11, 3
/* 801D2624 001CE284 C8 26 00 38 */ lfd f1, 0x38(r6)
/* 801D2628 001CE288 FC 43 00 B2 */ fmul f2, f3, f2
/* 801D262C 001CE28C 7C 0C 5C AE */ lfdx f0, r12, r11
/* 801D2630 001CE290 38 E7 00 08 */ addi r7, r7, 8
/* 801D2634 001CE294 FC C6 20 2A */ fadd f6, f6, f4
/* 801D2638 001CE298 38 C6 00 40 */ addi r6, r6, 0x40
/* 801D263C 001CE29C FC 01 00 32 */ fmul f0, f1, f0
/* 801D2640 001CE2A0 FC C6 10 2A */ fadd f6, f6, f2
/* 801D2644 001CE2A4 FC C6 00 2A */ fadd f6, f6, f0
/* 801D2648 001CE2A8 42 00 FF 1C */ bdnz lbl_801D2564
lbl_801D264C:
/* 801D264C 001CE2AC 38 16 00 01 */ addi r0, r22, 1
/* 801D2650 001CE2B0 54 E6 18 38 */ slwi r6, r7, 3
/* 801D2654 001CE2B4 7C 07 00 50 */ subf r0, r7, r0
/* 801D2658 001CE2B8 7D 76 4A 14 */ add r11, r22, r9
/* 801D265C 001CE2BC 7C C3 32 14 */ add r6, r3, r6
/* 801D2660 001CE2C0 7C 09 03 A6 */ mtctr r0
/* 801D2664 001CE2C4 7C 07 B0 00 */ cmpw r7, r22
/* 801D2668 001CE2C8 41 81 00 28 */ bgt lbl_801D2690
lbl_801D266C:
/* 801D266C 001CE2CC 7C 07 58 50 */ subf r0, r7, r11
/* 801D2670 001CE2D0 C8 26 00 00 */ lfd f1, 0(r6)
/* 801D2674 001CE2D4 54 00 18 38 */ slwi r0, r0, 3
/* 801D2678 001CE2D8 38 C6 00 08 */ addi r6, r6, 8
/* 801D267C 001CE2DC 7C 0C 04 AE */ lfdx f0, r12, r0
/* 801D2680 001CE2E0 38 E7 00 01 */ addi r7, r7, 1
/* 801D2684 001CE2E4 FC 01 00 32 */ fmul f0, f1, f0
/* 801D2688 001CE2E8 FC C6 00 2A */ fadd f6, f6, f0
/* 801D268C 001CE2EC 42 00 FF E0 */ bdnz lbl_801D266C
lbl_801D2690:
/* 801D2690 001CE2F0 D8 C5 00 00 */ stfd f6, 0(r5)
/* 801D2694 001CE2F4 38 A5 00 08 */ addi r5, r5, 8
/* 801D2698 001CE2F8 39 29 00 01 */ addi r9, r9, 1
lbl_801D269C:
/* 801D269C 001CE2FC 7C 09 A8 00 */ cmpw r9, r21
/* 801D26A0 001CE300 40 81 FE 38 */ ble lbl_801D24D8
/* 801D26A4 001CE304 23 93 00 18 */ subfic r28, r19, 0x18
/* 801D26A8 001CE308 7C B5 00 D0 */ neg r5, r21
/* 801D26AC 001CE30C 20 13 00 17 */ subfic r0, r19, 0x17
/* 801D26B0 001CE310 55 44 10 3A */ slwi r4, r10, 2
/* 801D26B4 001CE314 56 C3 18 38 */ slwi r3, r22, 3
/* 801D26B8 001CE318 3B 41 01 A0 */ addi r26, r1, 0x1a0
/* 801D26BC 001CE31C CB 02 94 B0 */ lfd f24, lbl_80641AB0-_SDA2_BASE_(r2)
/* 801D26C0 001CE320 7E B7 AB 78 */ mr r23, r21
/* 801D26C4 001CE324 CB 22 94 E0 */ lfd f25, lbl_80641AE0-_SDA2_BASE_(r2)
/* 801D26C8 001CE328 54 AE 00 00 */ rlwinm r14, r5, 0, 0, 0
/* 801D26CC 001CE32C CB 42 94 B8 */ lfd f26, lbl_80641AB8-_SDA2_BASE_(r2)
/* 801D26D0 001CE330 7F 68 22 14 */ add r27, r8, r4
/* 801D26D4 001CE334 90 01 02 D0 */ stw r0, 0x2d0(r1)
/* 801D26D8 001CE338 7F 5A 1A 14 */ add r26, r26, r3
/* 801D26DC 001CE33C CB 62 94 C8 */ lfd f27, lbl_80641AC8-_SDA2_BASE_(r2)
/* 801D26E0 001CE340 3B A1 00 10 */ addi r29, r1, 0x10
/* 801D26E4 001CE344 CB 82 94 C0 */ lfd f28, lbl_80641AC0-_SDA2_BASE_(r2)
/* 801D26E8 001CE348 39 E1 01 A0 */ addi r15, r1, 0x1a0
/* 801D26EC 001CE34C CB A2 94 D0 */ lfd f29, lbl_80641AD0-_SDA2_BASE_(r2)
/* 801D26F0 001CE350 3F C0 01 00 */ lis r30, 0x100
/* 801D26F4 001CE354 CB C2 94 D8 */ lfd f30, lbl_80641AD8-_SDA2_BASE_(r2)
/* 801D26F8 001CE358 3F E0 80 00 */ lis r31, 0x8000
/* 801D26FC 001CE35C CB E2 94 A8 */ lfd f31, lbl_80641AA8-_SDA2_BASE_(r2)
lbl_801D2700:
/* 801D2700 001CE360 56 E0 18 38 */ slwi r0, r23, 3
/* 801D2704 001CE364 2C 97 00 00 */ cmpwi cr1, r23, 0
/* 801D2708 001CE368 38 61 00 60 */ addi r3, r1, 0x60
/* 801D270C 001CE36C 7C 23 04 EE */ lfdux f1, r3, r0
/* 801D2710 001CE370 7E E4 BB 78 */ mr r4, r23
/* 801D2714 001CE374 38 A0 00 00 */ li r5, 0
/* 801D2718 001CE378 38 C0 00 00 */ li r6, 0
/* 801D271C 001CE37C 40 85 02 F8 */ ble cr1, lbl_801D2A14
/* 801D2720 001CE380 2C 17 00 08 */ cmpwi r23, 8
/* 801D2724 001CE384 40 81 02 80 */ ble lbl_801D29A4
/* 801D2728 001CE388 38 E0 00 00 */ li r7, 0
/* 801D272C 001CE38C 41 84 00 14 */ blt cr1, lbl_801D2740
/* 801D2730 001CE390 38 1F 00 01 */ addi r0, r31, 1
/* 801D2734 001CE394 7C 17 00 00 */ cmpw r23, r0
/* 801D2738 001CE398 41 80 00 08 */ blt lbl_801D2740
/* 801D273C 001CE39C 38 E0 00 01 */ li r7, 1
lbl_801D2740:
/* 801D2740 001CE3A0 2C 07 00 00 */ cmpwi r7, 0
/* 801D2744 001CE3A4 41 82 02 60 */ beq lbl_801D29A4
/* 801D2748 001CE3A8 38 17 FF FF */ addi r0, r23, -1
/* 801D274C 001CE3AC 54 00 E8 FE */ srwi r0, r0, 3
/* 801D2750 001CE3B0 7C 09 03 A6 */ mtctr r0
/* 801D2754 001CE3B4 2C 17 00 08 */ cmpwi r23, 8
/* 801D2758 001CE3B8 40 81 02 4C */ ble lbl_801D29A4
lbl_801D275C:
/* 801D275C 001CE3BC FC 18 00 72 */ fmul f0, f24, f1
/* 801D2760 001CE3C0 38 05 00 01 */ addi r0, r5, 1
/* 801D2764 001CE3C4 39 25 00 02 */ addi r9, r5, 2
/* 801D2768 001CE3C8 39 05 00 03 */ addi r8, r5, 3
/* 801D276C 001CE3CC 38 E5 00 04 */ addi r7, r5, 4
/* 801D2770 001CE3D0 C8 83 FF F8 */ lfd f4, -8(r3)
/* 801D2774 001CE3D4 FC A0 00 1E */ fctiwz f5, f0
/* 801D2778 001CE3D8 C8 63 FF F0 */ lfd f3, -0x10(r3)
/* 801D277C 001CE3DC C8 43 FF E8 */ lfd f2, -0x18(r3)
/* 801D2780 001CE3E0 54 00 10 3A */ slwi r0, r0, 2
/* 801D2784 001CE3E4 C8 03 FF E0 */ lfd f0, -0x20(r3)
/* 801D2788 001CE3E8 55 29 10 3A */ slwi r9, r9, 2
/* 801D278C 001CE3EC D8 A1 02 50 */ stfd f5, 0x250(r1)
/* 801D2790 001CE3F0 55 08 10 3A */ slwi r8, r8, 2
/* 801D2794 001CE3F4 54 E7 10 3A */ slwi r7, r7, 2
/* 801D2798 001CE3F8 81 41 02 54 */ lwz r10, 0x254(r1)
/* 801D279C 001CE3FC 6D 4A 80 00 */ xoris r10, r10, 0x8000
/* 801D27A0 001CE400 91 41 02 4C */ stw r10, 0x24c(r1)
/* 801D27A4 001CE404 C8 A1 02 48 */ lfd f5, 0x248(r1)
/* 801D27A8 001CE408 FC A5 C8 28 */ fsub f5, f5, f25
/* 801D27AC 001CE40C FC C5 20 2A */ fadd f6, f5, f4
/* 801D27B0 001CE410 FC BA 01 72 */ fmul f5, f26, f5
/* 801D27B4 001CE414 FC 98 01 B2 */ fmul f4, f24, f6
/* 801D27B8 001CE418 FC A1 28 28 */ fsub f5, f1, f5
/* 801D27BC 001CE41C FC 20 20 1E */ fctiwz f1, f4
/* 801D27C0 001CE420 FC 80 28 1E */ fctiwz f4, f5
/* 801D27C4 001CE424 D8 21 02 60 */ stfd f1, 0x260(r1)
/* 801D27C8 001CE428 81 41 02 64 */ lwz r10, 0x264(r1)
/* 801D27CC 001CE42C D8 81 02 58 */ stfd f4, 0x258(r1)
/* 801D27D0 001CE430 6D 4A 80 00 */ xoris r10, r10, 0x8000
/* 801D27D4 001CE434 91 41 02 44 */ stw r10, 0x244(r1)
/* 801D27D8 001CE438 81 41 02 5C */ lwz r10, 0x25c(r1)
/* 801D27DC 001CE43C C8 21 02 40 */ lfd f1, 0x240(r1)
/* 801D27E0 001CE440 7D 5D 31 2E */ stwx r10, r29, r6
/* 801D27E4 001CE444 FC 21 C8 28 */ fsub f1, f1, f25
/* 801D27E8 001CE448 FC 81 18 2A */ fadd f4, f1, f3
/* 801D27EC 001CE44C FC 7A 00 72 */ fmul f3, f26, f1
/* 801D27F0 001CE450 FC 38 01 32 */ fmul f1, f24, f4
/* 801D27F4 001CE454 FC 66 18 28 */ fsub f3, f6, f3
/* 801D27F8 001CE458 FC 20 08 1E */ fctiwz f1, f1
/* 801D27FC 001CE45C FC 60 18 1E */ fctiwz f3, f3
/* 801D2800 001CE460 D8 21 02 70 */ stfd f1, 0x270(r1)
/* 801D2804 001CE464 81 41 02 74 */ lwz r10, 0x274(r1)
/* 801D2808 001CE468 D8 61 02 68 */ stfd f3, 0x268(r1)
/* 801D280C 001CE46C 6D 4A 80 00 */ xoris r10, r10, 0x8000
/* 801D2810 001CE470 91 41 02 4C */ stw r10, 0x24c(r1)
/* 801D2814 001CE474 81 41 02 6C */ lwz r10, 0x26c(r1)
/* 801D2818 001CE478 C8 21 02 48 */ lfd f1, 0x248(r1)
/* 801D281C 001CE47C 7D 5D 01 2E */ stwx r10, r29, r0
/* 801D2820 001CE480 FC 21 C8 28 */ fsub f1, f1, f25
/* 801D2824 001CE484 FC 61 10 2A */ fadd f3, f1, f2
/* 801D2828 001CE488 FC 5A 00 72 */ fmul f2, f26, f1
/* 801D282C 001CE48C FC 38 00 F2 */ fmul f1, f24, f3
/* 801D2830 001CE490 FC 44 10 28 */ fsub f2, f4, f2
/* 801D2834 001CE494 FC 20 08 1E */ fctiwz f1, f1
/* 801D2838 001CE498 FC 40 10 1E */ fctiwz f2, f2
/* 801D283C 001CE49C D8 21 02 80 */ stfd f1, 0x280(r1)
/* 801D2840 001CE4A0 80 01 02 84 */ lwz r0, 0x284(r1)
/* 801D2844 001CE4A4 D8 41 02 78 */ stfd f2, 0x278(r1)
/* 801D2848 001CE4A8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D284C 001CE4AC 90 01 02 44 */ stw r0, 0x244(r1)
/* 801D2850 001CE4B0 80 01 02 7C */ lwz r0, 0x27c(r1)
/* 801D2854 001CE4B4 C8 21 02 40 */ lfd f1, 0x240(r1)
/* 801D2858 001CE4B8 7C 1D 49 2E */ stwx r0, r29, r9
/* 801D285C 001CE4BC FC 21 C8 28 */ fsub f1, f1, f25
/* 801D2860 001CE4C0 FC 41 00 2A */ fadd f2, f1, f0
/* 801D2864 001CE4C4 FC 3A 00 72 */ fmul f1, f26, f1
/* 801D2868 001CE4C8 FC 18 00 B2 */ fmul f0, f24, f2
/* 801D286C 001CE4CC FC 23 08 28 */ fsub f1, f3, f1
/* 801D2870 001CE4D0 FC 00 00 1E */ fctiwz f0, f0
/* 801D2874 001CE4D4 FC 20 08 1E */ fctiwz f1, f1
/* 801D2878 001CE4D8 D8 01 02 90 */ stfd f0, 0x290(r1)
/* 801D287C 001CE4DC 80 01 02 94 */ lwz r0, 0x294(r1)
/* 801D2880 001CE4E0 D8 21 02 88 */ stfd f1, 0x288(r1)
/* 801D2884 001CE4E4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D2888 001CE4E8 90 01 02 4C */ stw r0, 0x24c(r1)
/* 801D288C 001CE4EC 80 01 02 8C */ lwz r0, 0x28c(r1)
/* 801D2890 001CE4F0 C8 01 02 48 */ lfd f0, 0x248(r1)
/* 801D2894 001CE4F4 7C 1D 41 2E */ stwx r0, r29, r8
/* 801D2898 001CE4F8 FC 20 C8 28 */ fsub f1, f0, f25
/* 801D289C 001CE4FC FC 1A 00 72 */ fmul f0, f26, f1
/* 801D28A0 001CE500 FC 02 00 28 */ fsub f0, f2, f0
/* 801D28A4 001CE504 FC 00 00 1E */ fctiwz f0, f0
/* 801D28A8 001CE508 D8 01 02 98 */ stfd f0, 0x298(r1)
/* 801D28AC 001CE50C 80 01 02 9C */ lwz r0, 0x29c(r1)
/* 801D28B0 001CE510 7C 1D 39 2E */ stwx r0, r29, r7
/* 801D28B4 001CE514 C8 03 FF D8 */ lfd f0, -0x28(r3)
/* 801D28B8 001CE518 39 05 00 05 */ addi r8, r5, 5
/* 801D28BC 001CE51C 38 05 00 07 */ addi r0, r5, 7
/* 801D28C0 001CE520 38 E5 00 06 */ addi r7, r5, 6
/* 801D28C4 001CE524 FC A1 00 2A */ fadd f5, f1, f0
/* 801D28C8 001CE528 55 09 10 3A */ slwi r9, r8, 2
/* 801D28CC 001CE52C 54 E8 10 3A */ slwi r8, r7, 2
/* 801D28D0 001CE530 C8 43 FF D0 */ lfd f2, -0x30(r3)
/* 801D28D4 001CE534 C8 23 FF C8 */ lfd f1, -0x38(r3)
/* 801D28D8 001CE538 54 00 10 3A */ slwi r0, r0, 2
/* 801D28DC 001CE53C FC 78 01 72 */ fmul f3, f24, f5
/* 801D28E0 001CE540 CC 03 FF C0 */ lfdu f0, -0x40(r3)
/* 801D28E4 001CE544 38 A5 00 08 */ addi r5, r5, 8
/* 801D28E8 001CE548 38 C6 00 20 */ addi r6, r6, 0x20
/* 801D28EC 001CE54C 38 84 FF F8 */ addi r4, r4, -8
/* 801D28F0 001CE550 FC 60 18 1E */ fctiwz f3, f3
/* 801D28F4 001CE554 D8 61 02 A0 */ stfd f3, 0x2a0(r1)
/* 801D28F8 001CE558 80 E1 02 A4 */ lwz r7, 0x2a4(r1)
/* 801D28FC 001CE55C 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 801D2900 001CE560 90 E1 02 44 */ stw r7, 0x244(r1)
/* 801D2904 001CE564 C8 61 02 40 */ lfd f3, 0x240(r1)
/* 801D2908 001CE568 FC 63 C8 28 */ fsub f3, f3, f25
/* 801D290C 001CE56C FC 83 10 2A */ fadd f4, f3, f2
/* 801D2910 001CE570 FC 7A 00 F2 */ fmul f3, f26, f3
/* 801D2914 001CE574 FC 58 01 32 */ fmul f2, f24, f4
/* 801D2918 001CE578 FC 65 18 28 */ fsub f3, f5, f3
/* 801D291C 001CE57C FC 40 10 1E */ fctiwz f2, f2
/* 801D2920 001CE580 FC 60 18 1E */ fctiwz f3, f3
/* 801D2924 001CE584 D8 41 02 B0 */ stfd f2, 0x2b0(r1)
/* 801D2928 001CE588 80 E1 02 B4 */ lwz r7, 0x2b4(r1)
/* 801D292C 001CE58C D8 61 02 A8 */ stfd f3, 0x2a8(r1)
/* 801D2930 001CE590 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 801D2934 001CE594 90 E1 02 4C */ stw r7, 0x24c(r1)
/* 801D2938 001CE598 80 E1 02 AC */ lwz r7, 0x2ac(r1)
/* 801D293C 001CE59C C8 41 02 48 */ lfd f2, 0x248(r1)
/* 801D2940 001CE5A0 7C FD 49 2E */ stwx r7, r29, r9
/* 801D2944 001CE5A4 FC 42 C8 28 */ fsub f2, f2, f25
/* 801D2948 001CE5A8 FC 62 08 2A */ fadd f3, f2, f1
/* 801D294C 001CE5AC FC 5A 00 B2 */ fmul f2, f26, f2
/* 801D2950 001CE5B0 FC 38 00 F2 */ fmul f1, f24, f3
/* 801D2954 001CE5B4 FC 44 10 28 */ fsub f2, f4, f2
/* 801D2958 001CE5B8 FC 20 08 1E */ fctiwz f1, f1
/* 801D295C 001CE5BC FC 40 10 1E */ fctiwz f2, f2
/* 801D2960 001CE5C0 D8 21 02 C0 */ stfd f1, 0x2c0(r1)
/* 801D2964 001CE5C4 80 E1 02 C4 */ lwz r7, 0x2c4(r1)
/* 801D2968 001CE5C8 D8 41 02 B8 */ stfd f2, 0x2b8(r1)
/* 801D296C 001CE5CC 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 801D2970 001CE5D0 90 E1 02 44 */ stw r7, 0x244(r1)
/* 801D2974 001CE5D4 80 E1 02 BC */ lwz r7, 0x2bc(r1)
/* 801D2978 001CE5D8 C8 21 02 40 */ lfd f1, 0x240(r1)
/* 801D297C 001CE5DC 7C FD 41 2E */ stwx r7, r29, r8
/* 801D2980 001CE5E0 FC 21 C8 28 */ fsub f1, f1, f25
/* 801D2984 001CE5E4 FC 5A 00 72 */ fmul f2, f26, f1
/* 801D2988 001CE5E8 FC 21 00 2A */ fadd f1, f1, f0
/* 801D298C 001CE5EC FC 03 10 28 */ fsub f0, f3, f2
/* 801D2990 001CE5F0 FC 00 00 1E */ fctiwz f0, f0
/* 801D2994 001CE5F4 D8 01 02 C8 */ stfd f0, 0x2c8(r1)
/* 801D2998 001CE5F8 80 E1 02 CC */ lwz r7, 0x2cc(r1)
/* 801D299C 001CE5FC 7C FD 01 2E */ stwx r7, r29, r0
/* 801D29A0 001CE600 42 00 FD BC */ bdnz lbl_801D275C
lbl_801D29A4:
/* 801D29A4 001CE604 54 A3 10 3A */ slwi r3, r5, 2
/* 801D29A8 001CE608 38 A1 00 10 */ addi r5, r1, 0x10
/* 801D29AC 001CE60C 54 80 18 38 */ slwi r0, r4, 3
/* 801D29B0 001CE610 38 C1 00 60 */ addi r6, r1, 0x60
/* 801D29B4 001CE614 7C A5 1A 14 */ add r5, r5, r3
/* 801D29B8 001CE618 7C C6 02 14 */ add r6, r6, r0
/* 801D29BC 001CE61C 7C 89 03 A6 */ mtctr r4
/* 801D29C0 001CE620 2C 04 00 00 */ cmpwi r4, 0
/* 801D29C4 001CE624 40 81 00 50 */ ble lbl_801D2A14
lbl_801D29C8:
/* 801D29C8 001CE628 FC 58 00 72 */ fmul f2, f24, f1
/* 801D29CC 001CE62C CC 06 FF F8 */ lfdu f0, -8(r6)
/* 801D29D0 001CE630 38 84 FF FF */ addi r4, r4, -1
/* 801D29D4 001CE634 FC 40 10 1E */ fctiwz f2, f2
/* 801D29D8 001CE638 D8 41 02 C8 */ stfd f2, 0x2c8(r1)
/* 801D29DC 001CE63C 80 01 02 CC */ lwz r0, 0x2cc(r1)
/* 801D29E0 001CE640 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D29E4 001CE644 90 01 02 4C */ stw r0, 0x24c(r1)
/* 801D29E8 001CE648 C8 41 02 48 */ lfd f2, 0x248(r1)
/* 801D29EC 001CE64C FC 62 C8 28 */ fsub f3, f2, f25
/* 801D29F0 001CE650 FC 5A 00 F2 */ fmul f2, f26, f3
/* 801D29F4 001CE654 FC 41 10 28 */ fsub f2, f1, f2
/* 801D29F8 001CE658 FC 23 00 2A */ fadd f1, f3, f0
/* 801D29FC 001CE65C FC 00 10 1E */ fctiwz f0, f2
/* 801D2A00 001CE660 D8 01 02 C0 */ stfd f0, 0x2c0(r1)
/* 801D2A04 001CE664 80 01 02 C4 */ lwz r0, 0x2c4(r1)
/* 801D2A08 001CE668 90 05 00 00 */ stw r0, 0(r5)
/* 801D2A0C 001CE66C 38 A5 00 04 */ addi r5, r5, 4
/* 801D2A10 001CE670 42 00 FF B8 */ bdnz lbl_801D29C8
lbl_801D2A14:
/* 801D2A14 001CE674 7E 63 9B 78 */ mr r3, r19
/* 801D2A18 001CE678 4B FF DF A9 */ bl func_801D09C0
/* 801D2A1C 001CE67C FE E0 08 90 */ fmr f23, f1
/* 801D2A20 001CE680 FC 3B 00 72 */ fmul f1, f27, f1
/* 801D2A24 001CE684 48 00 17 29 */ bl func_801D414C
/* 801D2A28 001CE688 FC 1C 00 72 */ fmul f0, f28, f1
/* 801D2A2C 001CE68C 2C 13 00 00 */ cmpwi r19, 0
/* 801D2A30 001CE690 3A 40 00 00 */ li r18, 0
/* 801D2A34 001CE694 FE F7 00 28 */ fsub f23, f23, f0
/* 801D2A38 001CE698 FC 00 B8 1E */ fctiwz f0, f23
/* 801D2A3C 001CE69C D8 01 02 C8 */ stfd f0, 0x2c8(r1)
/* 801D2A40 001CE6A0 82 81 02 CC */ lwz r20, 0x2cc(r1)
/* 801D2A44 001CE6A4 6E 80 80 00 */ xoris r0, r20, 0x8000
/* 801D2A48 001CE6A8 90 01 02 44 */ stw r0, 0x244(r1)
/* 801D2A4C 001CE6AC C8 01 02 40 */ lfd f0, 0x240(r1)
/* 801D2A50 001CE6B0 FC 00 C8 28 */ fsub f0, f0, f25
/* 801D2A54 001CE6B4 FE F7 00 28 */ fsub f23, f23, f0
/* 801D2A58 001CE6B8 40 81 00 30 */ ble lbl_801D2A88
/* 801D2A5C 001CE6BC 56 E0 10 3A */ slwi r0, r23, 2
/* 801D2A60 001CE6C0 7C 9D 02 14 */ add r4, r29, r0
/* 801D2A64 001CE6C4 80 64 FF FC */ lwz r3, -4(r4)
/* 801D2A68 001CE6C8 7C 65 E6 30 */ sraw r5, r3, r28
/* 801D2A6C 001CE6CC 7C A0 E0 30 */ slw r0, r5, r28
/* 801D2A70 001CE6D0 7C 60 18 50 */ subf r3, r0, r3
/* 801D2A74 001CE6D4 80 01 02 D0 */ lwz r0, 0x2d0(r1)
/* 801D2A78 001CE6D8 90 64 FF FC */ stw r3, -4(r4)
/* 801D2A7C 001CE6DC 7E 94 2A 14 */ add r20, r20, r5
/* 801D2A80 001CE6E0 7C 72 06 30 */ sraw r18, r3, r0
/* 801D2A84 001CE6E4 48 00 00 2C */ b lbl_801D2AB0
lbl_801D2A88:
/* 801D2A88 001CE6E8 40 82 00 18 */ bne lbl_801D2AA0
/* 801D2A8C 001CE6EC 56 E0 10 3A */ slwi r0, r23, 2
/* 801D2A90 001CE6F0 7C 7D 02 14 */ add r3, r29, r0
/* 801D2A94 001CE6F4 80 03 FF FC */ lwz r0, -4(r3)
/* 801D2A98 001CE6F8 7C 12 BE 70 */ srawi r18, r0, 0x17
/* 801D2A9C 001CE6FC 48 00 00 14 */ b lbl_801D2AB0
lbl_801D2AA0:
/* 801D2AA0 001CE700 FC 17 E8 40 */ fcmpo cr0, f23, f29
/* 801D2AA4 001CE704 4C 41 13 82 */ cror 2, 1, 2
/* 801D2AA8 001CE708 40 82 00 08 */ bne lbl_801D2AB0
/* 801D2AAC 001CE70C 3A 40 00 02 */ li r18, 2
lbl_801D2AB0:
/* 801D2AB0 001CE710 2C 12 00 00 */ cmpwi r18, 0
/* 801D2AB4 001CE714 40 81 00 C4 */ ble lbl_801D2B78
/* 801D2AB8 001CE718 38 A1 00 10 */ addi r5, r1, 0x10
/* 801D2ABC 001CE71C 38 9E FF FF */ addi r4, r30, -1
/* 801D2AC0 001CE720 38 00 00 00 */ li r0, 0
/* 801D2AC4 001CE724 7E E9 03 A6 */ mtctr r23
/* 801D2AC8 001CE728 2C 17 00 00 */ cmpwi r23, 0
/* 801D2ACC 001CE72C 3A 94 00 01 */ addi r20, r20, 1
/* 801D2AD0 001CE730 40 81 00 38 */ ble lbl_801D2B08
lbl_801D2AD4:
/* 801D2AD4 001CE734 2C 00 00 00 */ cmpwi r0, 0
/* 801D2AD8 001CE738 80 65 00 00 */ lwz r3, 0(r5)
/* 801D2ADC 001CE73C 40 82 00 1C */ bne lbl_801D2AF8
/* 801D2AE0 001CE740 2C 03 00 00 */ cmpwi r3, 0
/* 801D2AE4 001CE744 41 82 00 1C */ beq lbl_801D2B00
/* 801D2AE8 001CE748 7C 63 F0 50 */ subf r3, r3, r30
/* 801D2AEC 001CE74C 38 00 00 01 */ li r0, 1
/* 801D2AF0 001CE750 90 65 00 00 */ stw r3, 0(r5)
/* 801D2AF4 001CE754 48 00 00 0C */ b lbl_801D2B00
lbl_801D2AF8:
/* 801D2AF8 001CE758 7C 63 20 50 */ subf r3, r3, r4
/* 801D2AFC 001CE75C 90 65 00 00 */ stw r3, 0(r5)
lbl_801D2B00:
/* 801D2B00 001CE760 38 A5 00 04 */ addi r5, r5, 4
/* 801D2B04 001CE764 42 00 FF D0 */ bdnz lbl_801D2AD4
lbl_801D2B08:
/* 801D2B08 001CE768 2C 13 00 00 */ cmpwi r19, 0
/* 801D2B0C 001CE76C 40 81 00 48 */ ble lbl_801D2B54
/* 801D2B10 001CE770 2C 13 00 02 */ cmpwi r19, 2
/* 801D2B14 001CE774 41 82 00 2C */ beq lbl_801D2B40
/* 801D2B18 001CE778 40 80 00 3C */ bge lbl_801D2B54
/* 801D2B1C 001CE77C 2C 13 00 01 */ cmpwi r19, 1
/* 801D2B20 001CE780 40 80 00 08 */ bge lbl_801D2B28
/* 801D2B24 001CE784 48 00 00 30 */ b lbl_801D2B54
lbl_801D2B28:
/* 801D2B28 001CE788 56 E3 10 3A */ slwi r3, r23, 2
/* 801D2B2C 001CE78C 7C 9D 1A 14 */ add r4, r29, r3
/* 801D2B30 001CE790 80 64 FF FC */ lwz r3, -4(r4)
/* 801D2B34 001CE794 54 63 02 7E */ clrlwi r3, r3, 9
/* 801D2B38 001CE798 90 64 FF FC */ stw r3, -4(r4)
/* 801D2B3C 001CE79C 48 00 00 18 */ b lbl_801D2B54
lbl_801D2B40:
/* 801D2B40 001CE7A0 56 E3 10 3A */ slwi r3, r23, 2
/* 801D2B44 001CE7A4 7C 9D 1A 14 */ add r4, r29, r3
/* 801D2B48 001CE7A8 80 64 FF FC */ lwz r3, -4(r4)
/* 801D2B4C 001CE7AC 54 63 02 BE */ clrlwi r3, r3, 0xa
/* 801D2B50 001CE7B0 90 64 FF FC */ stw r3, -4(r4)
lbl_801D2B54:
/* 801D2B54 001CE7B4 2C 12 00 02 */ cmpwi r18, 2
/* 801D2B58 001CE7B8 40 82 00 20 */ bne lbl_801D2B78
/* 801D2B5C 001CE7BC 2C 00 00 00 */ cmpwi r0, 0
/* 801D2B60 001CE7C0 FE FE B8 28 */ fsub f23, f30, f23
/* 801D2B64 001CE7C4 41 82 00 14 */ beq lbl_801D2B78
/* 801D2B68 001CE7C8 FC 20 F0 90 */ fmr f1, f30
/* 801D2B6C 001CE7CC 7E 63 9B 78 */ mr r3, r19
/* 801D2B70 001CE7D0 4B FF DE 51 */ bl func_801D09C0
/* 801D2B74 001CE7D4 FE F7 08 28 */ fsub f23, f23, f1
lbl_801D2B78:
/* 801D2B78 001CE7D8 FC 1F B8 00 */ fcmpu cr0, f31, f23
/* 801D2B7C 001CE7DC 40 82 03 D4 */ bne lbl_801D2F50
/* 801D2B80 001CE7E0 39 57 FF FF */ addi r10, r23, -1
/* 801D2B84 001CE7E4 39 20 00 00 */ li r9, 0
/* 801D2B88 001CE7E8 7C 8A A8 00 */ cmpw cr1, r10, r21
/* 801D2B8C 001CE7EC 41 84 01 84 */ blt cr1, lbl_801D2D10
/* 801D2B90 001CE7F0 7C F5 50 50 */ subf r7, r21, r10
/* 801D2B94 001CE7F4 38 15 00 08 */ addi r0, r21, 8
/* 801D2B98 001CE7F8 39 07 00 01 */ addi r8, r7, 1
/* 801D2B9C 001CE7FC 2C 08 00 08 */ cmpwi r8, 8
/* 801D2BA0 001CE800 40 81 01 3C */ ble lbl_801D2CDC
/* 801D2BA4 001CE804 38 60 00 00 */ li r3, 0
/* 801D2BA8 001CE808 38 80 00 00 */ li r4, 0
/* 801D2BAC 001CE80C 38 A0 00 00 */ li r5, 0
/* 801D2BB0 001CE810 38 C0 00 00 */ li r6, 0
/* 801D2BB4 001CE814 39 80 00 00 */ li r12, 0
/* 801D2BB8 001CE818 41 84 00 14 */ blt cr1, lbl_801D2BCC
/* 801D2BBC 001CE81C 39 7F 00 01 */ addi r11, r31, 1
/* 801D2BC0 001CE820 7C 15 58 00 */ cmpw r21, r11
/* 801D2BC4 001CE824 41 80 00 08 */ blt lbl_801D2BCC
/* 801D2BC8 001CE828 39 80 00 01 */ li r12, 1
lbl_801D2BCC:
/* 801D2BCC 001CE82C 2C 0C 00 00 */ cmpwi r12, 0
/* 801D2BD0 001CE830 41 82 00 18 */ beq lbl_801D2BE8
/* 801D2BD4 001CE834 39 97 FF FF */ addi r12, r23, -1
/* 801D2BD8 001CE838 39 7F 00 01 */ addi r11, r31, 1
/* 801D2BDC 001CE83C 7C 0C 58 00 */ cmpw r12, r11
/* 801D2BE0 001CE840 41 80 00 08 */ blt lbl_801D2BE8
/* 801D2BE4 001CE844 38 C0 00 01 */ li r6, 1
lbl_801D2BE8:
/* 801D2BE8 001CE848 2C 06 00 00 */ cmpwi r6, 0
/* 801D2BEC 001CE84C 41 82 00 14 */ beq lbl_801D2C00
/* 801D2BF0 001CE850 3C D5 80 00 */ addis r6, r21, 0x8000
/* 801D2BF4 001CE854 28 06 00 00 */ cmplwi r6, 0
/* 801D2BF8 001CE858 41 82 00 08 */ beq lbl_801D2C00
/* 801D2BFC 001CE85C 38 A0 00 01 */ li r5, 1
lbl_801D2C00:
/* 801D2C00 001CE860 2C 05 00 00 */ cmpwi r5, 0
/* 801D2C04 001CE864 41 82 00 34 */ beq lbl_801D2C38
/* 801D2C08 001CE868 38 B7 FF FF */ addi r5, r23, -1
/* 801D2C0C 001CE86C 38 C0 00 01 */ li r6, 1
/* 801D2C10 001CE870 54 AB 00 00 */ rlwinm r11, r5, 0, 0, 0
/* 801D2C14 001CE874 7C 0B 70 00 */ cmpw r11, r14
/* 801D2C18 001CE878 40 82 00 14 */ bne lbl_801D2C2C
/* 801D2C1C 001CE87C 54 E5 00 00 */ rlwinm r5, r7, 0, 0, 0
/* 801D2C20 001CE880 7C 0B 28 00 */ cmpw r11, r5
/* 801D2C24 001CE884 41 82 00 08 */ beq lbl_801D2C2C
/* 801D2C28 001CE888 38 C0 00 00 */ li r6, 0
lbl_801D2C2C:
/* 801D2C2C 001CE88C 2C 06 00 00 */ cmpwi r6, 0
/* 801D2C30 001CE890 41 82 00 08 */ beq lbl_801D2C38
/* 801D2C34 001CE894 38 80 00 01 */ li r4, 1
lbl_801D2C38:
/* 801D2C38 001CE898 2C 04 00 00 */ cmpwi r4, 0
/* 801D2C3C 001CE89C 41 82 00 28 */ beq lbl_801D2C64
/* 801D2C40 001CE8A0 54 E4 00 01 */ rlwinm. r4, r7, 0, 0, 0
/* 801D2C44 001CE8A4 38 A0 00 01 */ li r5, 1
/* 801D2C48 001CE8A8 40 82 00 10 */ bne lbl_801D2C58
/* 801D2C4C 001CE8AC 55 04 00 01 */ rlwinm. r4, r8, 0, 0, 0
/* 801D2C50 001CE8B0 41 82 00 08 */ beq lbl_801D2C58
/* 801D2C54 001CE8B4 38 A0 00 00 */ li r5, 0
lbl_801D2C58:
/* 801D2C58 001CE8B8 2C 05 00 00 */ cmpwi r5, 0
/* 801D2C5C 001CE8BC 41 82 00 08 */ beq lbl_801D2C64
/* 801D2C60 001CE8C0 38 60 00 01 */ li r3, 1
lbl_801D2C64:
/* 801D2C64 001CE8C4 2C 03 00 00 */ cmpwi r3, 0
/* 801D2C68 001CE8C8 41 82 00 74 */ beq lbl_801D2CDC
/* 801D2C6C 001CE8CC 38 8A 00 08 */ addi r4, r10, 8
/* 801D2C70 001CE8D0 55 45 10 3A */ slwi r5, r10, 2
/* 801D2C74 001CE8D4 7C 80 20 50 */ subf r4, r0, r4
/* 801D2C78 001CE8D8 38 61 00 10 */ addi r3, r1, 0x10
/* 801D2C7C 001CE8DC 54 84 E8 FE */ srwi r4, r4, 3
/* 801D2C80 001CE8E0 7C 63 2A 14 */ add r3, r3, r5
/* 801D2C84 001CE8E4 7C 89 03 A6 */ mtctr r4
/* 801D2C88 001CE8E8 7C 0A 00 00 */ cmpw r10, r0
/* 801D2C8C 001CE8EC 41 80 00 50 */ blt lbl_801D2CDC
lbl_801D2C90:
/* 801D2C90 001CE8F0 80 83 00 00 */ lwz r4, 0(r3)
/* 801D2C94 001CE8F4 39 4A FF F8 */ addi r10, r10, -8
/* 801D2C98 001CE8F8 80 03 FF FC */ lwz r0, -4(r3)
/* 801D2C9C 001CE8FC 7D 29 23 78 */ or r9, r9, r4
/* 801D2CA0 001CE900 80 83 FF F8 */ lwz r4, -8(r3)
/* 801D2CA4 001CE904 7D 29 03 78 */ or r9, r9, r0
/* 801D2CA8 001CE908 80 03 FF F4 */ lwz r0, -0xc(r3)
/* 801D2CAC 001CE90C 7D 29 23 78 */ or r9, r9, r4
/* 801D2CB0 001CE910 80 83 FF F0 */ lwz r4, -0x10(r3)
/* 801D2CB4 001CE914 7D 29 03 78 */ or r9, r9, r0
/* 801D2CB8 001CE918 80 03 FF EC */ lwz r0, -0x14(r3)
/* 801D2CBC 001CE91C 7D 29 23 78 */ or r9, r9, r4
/* 801D2CC0 001CE920 80 83 FF E8 */ lwz r4, -0x18(r3)
/* 801D2CC4 001CE924 7D 29 03 78 */ or r9, r9, r0
/* 801D2CC8 001CE928 80 03 FF E4 */ lwz r0, -0x1c(r3)
/* 801D2CCC 001CE92C 7D 29 23 78 */ or r9, r9, r4
/* 801D2CD0 001CE930 38 63 FF E0 */ addi r3, r3, -32
/* 801D2CD4 001CE934 7D 29 03 78 */ or r9, r9, r0
/* 801D2CD8 001CE938 42 00 FF B8 */ bdnz lbl_801D2C90
lbl_801D2CDC:
/* 801D2CDC 001CE93C 38 0A 00 01 */ addi r0, r10, 1
/* 801D2CE0 001CE940 55 43 10 3A */ slwi r3, r10, 2
/* 801D2CE4 001CE944 38 81 00 10 */ addi r4, r1, 0x10
/* 801D2CE8 001CE948 7C 15 00 50 */ subf r0, r21, r0
/* 801D2CEC 001CE94C 7C 84 1A 14 */ add r4, r4, r3
/* 801D2CF0 001CE950 7C 09 03 A6 */ mtctr r0
/* 801D2CF4 001CE954 7C 0A A8 00 */ cmpw r10, r21
/* 801D2CF8 001CE958 41 80 00 18 */ blt lbl_801D2D10
lbl_801D2CFC:
/* 801D2CFC 001CE95C 80 04 00 00 */ lwz r0, 0(r4)
/* 801D2D00 001CE960 38 84 FF FC */ addi r4, r4, -4
/* 801D2D04 001CE964 39 4A FF FF */ addi r10, r10, -1
/* 801D2D08 001CE968 7D 29 03 78 */ or r9, r9, r0
/* 801D2D0C 001CE96C 42 00 FF F0 */ bdnz lbl_801D2CFC
lbl_801D2D10:
/* 801D2D10 001CE970 2C 09 00 00 */ cmpwi r9, 0
/* 801D2D14 001CE974 40 82 02 3C */ bne lbl_801D2F50
/* 801D2D18 001CE978 3A 40 00 01 */ li r18, 1
/* 801D2D1C 001CE97C 48 00 00 08 */ b lbl_801D2D24
lbl_801D2D20:
/* 801D2D20 001CE980 3A 52 00 01 */ addi r18, r18, 1
lbl_801D2D24:
/* 801D2D24 001CE984 7C 12 A8 50 */ subf r0, r18, r21
/* 801D2D28 001CE988 54 00 10 3A */ slwi r0, r0, 2
/* 801D2D2C 001CE98C 7C 1D 00 2E */ lwzx r0, r29, r0
/* 801D2D30 001CE990 2C 00 00 00 */ cmpwi r0, 0
/* 801D2D34 001CE994 41 82 FF EC */ beq lbl_801D2D20
/* 801D2D38 001CE998 39 97 00 01 */ addi r12, r23, 1
/* 801D2D3C 001CE99C 38 E1 00 60 */ addi r7, r1, 0x60
/* 801D2D40 001CE9A0 55 83 18 38 */ slwi r3, r12, 3
/* 801D2D44 001CE9A4 7D 17 92 14 */ add r8, r23, r18
/* 801D2D48 001CE9A8 55 80 10 3A */ slwi r0, r12, 2
/* 801D2D4C 001CE9AC 7C BB 02 14 */ add r5, r27, r0
/* 801D2D50 001CE9B0 7C DA 1A 14 */ add r6, r26, r3
/* 801D2D54 001CE9B4 7C E7 1A 14 */ add r7, r7, r3
/* 801D2D58 001CE9B8 48 00 01 E8 */ b lbl_801D2F40
lbl_801D2D5C:
/* 801D2D5C 001CE9BC 80 05 00 00 */ lwz r0, 0(r5)
/* 801D2D60 001CE9C0 2C 96 00 00 */ cmpwi cr1, r22, 0
/* 801D2D64 001CE9C4 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D2D68 001CE9C8 39 60 00 00 */ li r11, 0
/* 801D2D6C 001CE9CC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D2D70 001CE9D0 90 01 02 4C */ stw r0, 0x24c(r1)
/* 801D2D74 001CE9D4 C8 21 02 48 */ lfd f1, 0x248(r1)
/* 801D2D78 001CE9D8 FC 21 C8 28 */ fsub f1, f1, f25
/* 801D2D7C 001CE9DC D8 26 00 00 */ stfd f1, 0(r6)
/* 801D2D80 001CE9E0 41 84 01 AC */ blt cr1, lbl_801D2F2C
/* 801D2D84 001CE9E4 38 16 00 01 */ addi r0, r22, 1
/* 801D2D88 001CE9E8 38 76 FF F8 */ addi r3, r22, -8
/* 801D2D8C 001CE9EC 2C 00 00 08 */ cmpwi r0, 8
/* 801D2D90 001CE9F0 40 81 01 58 */ ble lbl_801D2EE8
/* 801D2D94 001CE9F4 38 80 00 00 */ li r4, 0
/* 801D2D98 001CE9F8 39 20 00 00 */ li r9, 0
/* 801D2D9C 001CE9FC 41 84 00 14 */ blt cr1, lbl_801D2DB0
/* 801D2DA0 001CEA00 38 1F FF FE */ addi r0, r31, -2
/* 801D2DA4 001CEA04 7C 16 00 00 */ cmpw r22, r0
/* 801D2DA8 001CEA08 41 81 00 08 */ bgt lbl_801D2DB0
/* 801D2DAC 001CEA0C 39 20 00 01 */ li r9, 1
lbl_801D2DB0:
/* 801D2DB0 001CEA10 2C 09 00 00 */ cmpwi r9, 0
/* 801D2DB4 001CEA14 41 82 00 28 */ beq lbl_801D2DDC
/* 801D2DB8 001CEA18 2C 19 00 00 */ cmpwi r25, 0
/* 801D2DBC 001CEA1C 38 00 00 01 */ li r0, 1
/* 801D2DC0 001CEA20 40 82 00 10 */ bne lbl_801D2DD0
/* 801D2DC4 001CEA24 2C 18 00 00 */ cmpwi r24, 0
/* 801D2DC8 001CEA28 41 82 00 08 */ beq lbl_801D2DD0
/* 801D2DCC 001CEA2C 38 00 00 00 */ li r0, 0
lbl_801D2DD0:
/* 801D2DD0 001CEA30 2C 00 00 00 */ cmpwi r0, 0
/* 801D2DD4 001CEA34 41 82 00 08 */ beq lbl_801D2DDC
/* 801D2DD8 001CEA38 38 80 00 01 */ li r4, 1
lbl_801D2DDC:
/* 801D2DDC 001CEA3C 2C 04 00 00 */ cmpwi r4, 0
/* 801D2DE0 001CEA40 41 82 01 08 */ beq lbl_801D2EE8
/* 801D2DE4 001CEA44 38 03 00 08 */ addi r0, r3, 8
/* 801D2DE8 001CEA48 7E 09 83 78 */ mr r9, r16
/* 801D2DEC 001CEA4C 54 00 E8 FE */ srwi r0, r0, 3
/* 801D2DF0 001CEA50 7D 56 62 14 */ add r10, r22, r12
/* 801D2DF4 001CEA54 7C 09 03 A6 */ mtctr r0
/* 801D2DF8 001CEA58 2C 03 00 00 */ cmpwi r3, 0
/* 801D2DFC 001CEA5C 41 80 00 EC */ blt lbl_801D2EE8
lbl_801D2E00:
/* 801D2E00 001CEA60 7C 0B 50 50 */ subf r0, r11, r10
/* 801D2E04 001CEA64 38 8B 00 01 */ addi r4, r11, 1
/* 801D2E08 001CEA68 54 00 18 38 */ slwi r0, r0, 3
/* 801D2E0C 001CEA6C 38 6B 00 02 */ addi r3, r11, 2
/* 801D2E10 001CEA70 C8 49 00 00 */ lfd f2, 0(r9)
/* 801D2E14 001CEA74 7C 63 50 50 */ subf r3, r3, r10
/* 801D2E18 001CEA78 7C 2F 04 AE */ lfdx f1, r15, r0
/* 801D2E1C 001CEA7C 7C 84 50 50 */ subf r4, r4, r10
/* 801D2E20 001CEA80 54 80 18 38 */ slwi r0, r4, 3
/* 801D2E24 001CEA84 3A 8B 00 07 */ addi r20, r11, 7
/* 801D2E28 001CEA88 FC 62 00 72 */ fmul f3, f2, f1
/* 801D2E2C 001CEA8C C8 49 00 08 */ lfd f2, 8(r9)
/* 801D2E30 001CEA90 7C 2F 04 AE */ lfdx f1, r15, r0
/* 801D2E34 001CEA94 38 8B 00 03 */ addi r4, r11, 3
/* 801D2E38 001CEA98 54 63 18 38 */ slwi r3, r3, 3
/* 801D2E3C 001CEA9C 7E 94 50 50 */ subf r20, r20, r10
/* 801D2E40 001CEAA0 FC 82 00 72 */ fmul f4, f2, f1
/* 801D2E44 001CEAA4 7C 04 50 50 */ subf r0, r4, r10
/* 801D2E48 001CEAA8 7C 2F 1C AE */ lfdx f1, r15, r3
/* 801D2E4C 001CEAAC 38 8B 00 04 */ addi r4, r11, 4
/* 801D2E50 001CEAB0 FC 00 18 2A */ fadd f0, f0, f3
/* 801D2E54 001CEAB4 C8 49 00 10 */ lfd f2, 0x10(r9)
/* 801D2E58 001CEAB8 FC 62 00 72 */ fmul f3, f2, f1
/* 801D2E5C 001CEABC 54 00 18 38 */ slwi r0, r0, 3
/* 801D2E60 001CEAC0 7C 2F 04 AE */ lfdx f1, r15, r0
/* 801D2E64 001CEAC4 7C 84 50 50 */ subf r4, r4, r10
/* 801D2E68 001CEAC8 FC 00 20 2A */ fadd f0, f0, f4
/* 801D2E6C 001CEACC C8 49 00 18 */ lfd f2, 0x18(r9)
/* 801D2E70 001CEAD0 38 6B 00 05 */ addi r3, r11, 5
/* 801D2E74 001CEAD4 38 0B 00 06 */ addi r0, r11, 6
/* 801D2E78 001CEAD8 FC 00 18 2A */ fadd f0, f0, f3
/* 801D2E7C 001CEADC 7C 63 50 50 */ subf r3, r3, r10
/* 801D2E80 001CEAE0 FC 42 00 72 */ fmul f2, f2, f1
/* 801D2E84 001CEAE4 54 84 18 38 */ slwi r4, r4, 3
/* 801D2E88 001CEAE8 7C 00 50 50 */ subf r0, r0, r10
/* 801D2E8C 001CEAEC C8 69 00 20 */ lfd f3, 0x20(r9)
/* 801D2E90 001CEAF0 7C 2F 24 AE */ lfdx f1, r15, r4
/* 801D2E94 001CEAF4 54 63 18 38 */ slwi r3, r3, 3
/* 801D2E98 001CEAF8 FC C3 00 72 */ fmul f6, f3, f1
/* 801D2E9C 001CEAFC 54 00 18 38 */ slwi r0, r0, 3
/* 801D2EA0 001CEB00 7C 2F 1C AE */ lfdx f1, r15, r3
/* 801D2EA4 001CEB04 56 94 18 38 */ slwi r20, r20, 3
/* 801D2EA8 001CEB08 FC 00 10 2A */ fadd f0, f0, f2
/* 801D2EAC 001CEB0C C8 49 00 28 */ lfd f2, 0x28(r9)
/* 801D2EB0 001CEB10 FC A2 00 72 */ fmul f5, f2, f1
/* 801D2EB4 001CEB14 C8 89 00 30 */ lfd f4, 0x30(r9)
/* 801D2EB8 001CEB18 7C 6F 04 AE */ lfdx f3, r15, r0
/* 801D2EBC 001CEB1C 39 6B 00 08 */ addi r11, r11, 8
/* 801D2EC0 001CEB20 FC 00 30 2A */ fadd f0, f0, f6
/* 801D2EC4 001CEB24 C8 49 00 38 */ lfd f2, 0x38(r9)
/* 801D2EC8 001CEB28 7C 2F A4 AE */ lfdx f1, r15, r20
/* 801D2ECC 001CEB2C FC 64 00 F2 */ fmul f3, f4, f3
/* 801D2ED0 001CEB30 39 29 00 40 */ addi r9, r9, 0x40
/* 801D2ED4 001CEB34 FC 00 28 2A */ fadd f0, f0, f5
/* 801D2ED8 001CEB38 FC 22 00 72 */ fmul f1, f2, f1
/* 801D2EDC 001CEB3C FC 00 18 2A */ fadd f0, f0, f3
/* 801D2EE0 001CEB40 FC 00 08 2A */ fadd f0, f0, f1
/* 801D2EE4 001CEB44 42 00 FF 1C */ bdnz lbl_801D2E00
lbl_801D2EE8:
/* 801D2EE8 001CEB48 38 96 00 01 */ addi r4, r22, 1
/* 801D2EEC 001CEB4C 55 63 18 38 */ slwi r3, r11, 3
/* 801D2EF0 001CEB50 7C 8B 20 50 */ subf r4, r11, r4
/* 801D2EF4 001CEB54 7C 16 62 14 */ add r0, r22, r12
/* 801D2EF8 001CEB58 7C 70 1A 14 */ add r3, r16, r3
/* 801D2EFC 001CEB5C 7C 89 03 A6 */ mtctr r4
/* 801D2F00 001CEB60 7C 0B B0 00 */ cmpw r11, r22
/* 801D2F04 001CEB64 41 81 00 28 */ bgt lbl_801D2F2C
lbl_801D2F08:
/* 801D2F08 001CEB68 7C 8B 00 50 */ subf r4, r11, r0
/* 801D2F0C 001CEB6C C8 43 00 00 */ lfd f2, 0(r3)
/* 801D2F10 001CEB70 54 84 18 38 */ slwi r4, r4, 3
/* 801D2F14 001CEB74 38 63 00 08 */ addi r3, r3, 8
/* 801D2F18 001CEB78 7C 2F 24 AE */ lfdx f1, r15, r4
/* 801D2F1C 001CEB7C 39 6B 00 01 */ addi r11, r11, 1
/* 801D2F20 001CEB80 FC 22 00 72 */ fmul f1, f2, f1
/* 801D2F24 001CEB84 FC 00 08 2A */ fadd f0, f0, f1
/* 801D2F28 001CEB88 42 00 FF E0 */ bdnz lbl_801D2F08
lbl_801D2F2C:
/* 801D2F2C 001CEB8C D8 07 00 00 */ stfd f0, 0(r7)
/* 801D2F30 001CEB90 38 A5 00 04 */ addi r5, r5, 4
/* 801D2F34 001CEB94 38 C6 00 08 */ addi r6, r6, 8
/* 801D2F38 001CEB98 38 E7 00 08 */ addi r7, r7, 8
/* 801D2F3C 001CEB9C 39 8C 00 01 */ addi r12, r12, 1
lbl_801D2F40:
/* 801D2F40 001CEBA0 7C 0C 40 00 */ cmpw r12, r8
/* 801D2F44 001CEBA4 40 81 FE 18 */ ble lbl_801D2D5C
/* 801D2F48 001CEBA8 7E F7 92 14 */ add r23, r23, r18
/* 801D2F4C 001CEBAC 4B FF F7 B4 */ b lbl_801D2700
lbl_801D2F50:
/* 801D2F50 001CEBB0 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D2F54 001CEBB4 FC 00 B8 00 */ fcmpu cr0, f0, f23
/* 801D2F58 001CEBB8 40 82 00 38 */ bne lbl_801D2F90
/* 801D2F5C 001CEBBC 3A F7 FF FF */ addi r23, r23, -1
/* 801D2F60 001CEBC0 38 61 00 10 */ addi r3, r1, 0x10
/* 801D2F64 001CEBC4 56 E0 10 3A */ slwi r0, r23, 2
/* 801D2F68 001CEBC8 3A 73 FF E8 */ addi r19, r19, -24
/* 801D2F6C 001CEBCC 7C 63 02 14 */ add r3, r3, r0
/* 801D2F70 001CEBD0 48 00 00 10 */ b lbl_801D2F80
lbl_801D2F74:
/* 801D2F74 001CEBD4 38 63 FF FC */ addi r3, r3, -4
/* 801D2F78 001CEBD8 3A F7 FF FF */ addi r23, r23, -1
/* 801D2F7C 001CEBDC 3A 73 FF E8 */ addi r19, r19, -24
lbl_801D2F80:
/* 801D2F80 001CEBE0 80 03 00 00 */ lwz r0, 0(r3)
/* 801D2F84 001CEBE4 2C 00 00 00 */ cmpwi r0, 0
/* 801D2F88 001CEBE8 41 82 FF EC */ beq lbl_801D2F74
/* 801D2F8C 001CEBEC 48 00 00 A0 */ b lbl_801D302C
lbl_801D2F90:
/* 801D2F90 001CEBF0 FC 20 B8 90 */ fmr f1, f23
/* 801D2F94 001CEBF4 7C 73 00 D0 */ neg r3, r19
/* 801D2F98 001CEBF8 4B FF DA 29 */ bl func_801D09C0
/* 801D2F9C 001CEBFC C8 62 94 B8 */ lfd f3, lbl_80641AB8-_SDA2_BASE_(r2)
/* 801D2FA0 001CEC00 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 801D2FA4 001CEC04 4C 41 13 82 */ cror 2, 1, 2
/* 801D2FA8 001CEC08 40 82 00 6C */ bne lbl_801D3014
/* 801D2FAC 001CEC0C C8 02 94 B0 */ lfd f0, lbl_80641AB0-_SDA2_BASE_(r2)
/* 801D2FB0 001CEC10 56 E5 10 3A */ slwi r5, r23, 2
/* 801D2FB4 001CEC14 3A F7 00 01 */ addi r23, r23, 1
/* 801D2FB8 001CEC18 C8 42 94 E0 */ lfd f2, lbl_80641AE0-_SDA2_BASE_(r2)
/* 801D2FBC 001CEC1C FC 00 00 72 */ fmul f0, f0, f1
/* 801D2FC0 001CEC20 38 81 00 10 */ addi r4, r1, 0x10
/* 801D2FC4 001CEC24 56 E0 10 3A */ slwi r0, r23, 2
/* 801D2FC8 001CEC28 3A 73 00 18 */ addi r19, r19, 0x18
/* 801D2FCC 001CEC2C FC 00 00 1E */ fctiwz f0, f0
/* 801D2FD0 001CEC30 D8 01 02 C8 */ stfd f0, 0x2c8(r1)
/* 801D2FD4 001CEC34 80 61 02 CC */ lwz r3, 0x2cc(r1)
/* 801D2FD8 001CEC38 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 801D2FDC 001CEC3C 90 61 02 44 */ stw r3, 0x244(r1)
/* 801D2FE0 001CEC40 C8 01 02 40 */ lfd f0, 0x240(r1)
/* 801D2FE4 001CEC44 FC 00 10 28 */ fsub f0, f0, f2
/* 801D2FE8 001CEC48 FC 43 00 32 */ fmul f2, f3, f0
/* 801D2FEC 001CEC4C FC 00 00 1E */ fctiwz f0, f0
/* 801D2FF0 001CEC50 FC 21 10 28 */ fsub f1, f1, f2
/* 801D2FF4 001CEC54 D8 01 02 B8 */ stfd f0, 0x2b8(r1)
/* 801D2FF8 001CEC58 FC 00 08 1E */ fctiwz f0, f1
/* 801D2FFC 001CEC5C 80 61 02 BC */ lwz r3, 0x2bc(r1)
/* 801D3000 001CEC60 D8 01 02 C0 */ stfd f0, 0x2c0(r1)
/* 801D3004 001CEC64 80 C1 02 C4 */ lwz r6, 0x2c4(r1)
/* 801D3008 001CEC68 7C C4 29 2E */ stwx r6, r4, r5
/* 801D300C 001CEC6C 7C 64 01 2E */ stwx r3, r4, r0
/* 801D3010 001CEC70 48 00 00 1C */ b lbl_801D302C
lbl_801D3014:
/* 801D3014 001CEC74 FC 00 08 1E */ fctiwz f0, f1
/* 801D3018 001CEC78 56 E0 10 3A */ slwi r0, r23, 2
/* 801D301C 001CEC7C 38 61 00 10 */ addi r3, r1, 0x10
/* 801D3020 001CEC80 D8 01 02 C8 */ stfd f0, 0x2c8(r1)
/* 801D3024 001CEC84 80 81 02 CC */ lwz r4, 0x2cc(r1)
/* 801D3028 001CEC88 7C 83 01 2E */ stwx r4, r3, r0
lbl_801D302C:
/* 801D302C 001CEC8C C8 22 94 D8 */ lfd f1, lbl_80641AD8-_SDA2_BASE_(r2)
/* 801D3030 001CEC90 7E 63 9B 78 */ mr r3, r19
/* 801D3034 001CEC94 4B FF D9 8D */ bl func_801D09C0
/* 801D3038 001CEC98 2C 97 00 00 */ cmpwi cr1, r23, 0
/* 801D303C 001CEC9C 7E E3 BB 78 */ mr r3, r23
/* 801D3040 001CECA0 41 84 02 04 */ blt cr1, lbl_801D3244
/* 801D3044 001CECA4 38 17 00 01 */ addi r0, r23, 1
/* 801D3048 001CECA8 2C 00 00 08 */ cmpwi r0, 8
/* 801D304C 001CECAC 40 81 01 9C */ ble lbl_801D31E8
/* 801D3050 001CECB0 38 A0 00 00 */ li r5, 0
/* 801D3054 001CECB4 38 C0 00 00 */ li r6, 0
/* 801D3058 001CECB8 41 84 00 18 */ blt cr1, lbl_801D3070
/* 801D305C 001CECBC 3C 80 80 00 */ lis r4, 0x80000001@ha
/* 801D3060 001CECC0 38 04 00 01 */ addi r0, r4, 0x80000001@l
/* 801D3064 001CECC4 7C 17 00 00 */ cmpw r23, r0
/* 801D3068 001CECC8 41 80 00 08 */ blt lbl_801D3070
/* 801D306C 001CECCC 38 C0 00 01 */ li r6, 1
lbl_801D3070:
/* 801D3070 001CECD0 2C 06 00 00 */ cmpwi r6, 0
/* 801D3074 001CECD4 41 82 00 2C */ beq lbl_801D30A0
/* 801D3078 001CECD8 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0
/* 801D307C 001CECDC 38 80 00 01 */ li r4, 1
/* 801D3080 001CECE0 40 82 00 14 */ bne lbl_801D3094
/* 801D3084 001CECE4 38 17 00 01 */ addi r0, r23, 1
/* 801D3088 001CECE8 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 801D308C 001CECEC 41 82 00 08 */ beq lbl_801D3094
/* 801D3090 001CECF0 38 80 00 00 */ li r4, 0
lbl_801D3094:
/* 801D3094 001CECF4 2C 04 00 00 */ cmpwi r4, 0
/* 801D3098 001CECF8 41 82 00 08 */ beq lbl_801D30A0
/* 801D309C 001CECFC 38 A0 00 01 */ li r5, 1
lbl_801D30A0:
/* 801D30A0 001CED00 2C 05 00 00 */ cmpwi r5, 0
/* 801D30A4 001CED04 41 82 01 44 */ beq lbl_801D31E8
/* 801D30A8 001CED08 56 E5 10 3A */ slwi r5, r23, 2
/* 801D30AC 001CED0C 38 C1 00 10 */ addi r6, r1, 0x10
/* 801D30B0 001CED10 56 E4 18 38 */ slwi r4, r23, 3
/* 801D30B4 001CED14 38 E1 00 60 */ addi r7, r1, 0x60
/* 801D30B8 001CED18 56 E0 E8 FE */ srwi r0, r23, 3
/* 801D30BC 001CED1C 7C C6 2A 14 */ add r6, r6, r5
/* 801D30C0 001CED20 7C E7 22 14 */ add r7, r7, r4
/* 801D30C4 001CED24 C9 42 94 E0 */ lfd f10, lbl_80641AE0-_SDA2_BASE_(r2)
/* 801D30C8 001CED28 C9 02 94 B0 */ lfd f8, lbl_80641AB0-_SDA2_BASE_(r2)
/* 801D30CC 001CED2C 7C 09 03 A6 */ mtctr r0
/* 801D30D0 001CED30 2C 17 00 08 */ cmpwi r23, 8
/* 801D30D4 001CED34 41 80 01 14 */ blt lbl_801D31E8
lbl_801D30D8:
/* 801D30D8 001CED38 80 86 00 00 */ lwz r4, 0(r6)
/* 801D30DC 001CED3C 38 63 FF F8 */ addi r3, r3, -8
/* 801D30E0 001CED40 80 06 FF FC */ lwz r0, -4(r6)
/* 801D30E4 001CED44 6C 85 80 00 */ xoris r5, r4, 0x8000
/* 801D30E8 001CED48 80 86 FF F8 */ lwz r4, -8(r6)
/* 801D30EC 001CED4C 90 A1 02 4C */ stw r5, 0x24c(r1)
/* 801D30F0 001CED50 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 801D30F4 001CED54 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 801D30F8 001CED58 80 06 FF F4 */ lwz r0, -0xc(r6)
/* 801D30FC 001CED5C C8 01 02 48 */ lfd f0, 0x248(r1)
/* 801D3100 001CED60 90 A1 02 44 */ stw r5, 0x244(r1)
/* 801D3104 001CED64 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 801D3108 001CED68 FC 00 50 28 */ fsub f0, f0, f10
/* 801D310C 001CED6C 80 06 FF F0 */ lwz r0, -0x10(r6)
/* 801D3110 001CED70 C8 41 02 40 */ lfd f2, 0x240(r1)
/* 801D3114 001CED74 90 81 02 4C */ stw r4, 0x24c(r1)
/* 801D3118 001CED78 6C 04 80 00 */ xoris r4, r0, 0x8000
/* 801D311C 001CED7C FD 21 00 32 */ fmul f9, f1, f0
/* 801D3120 001CED80 C8 01 02 48 */ lfd f0, 0x248(r1)
/* 801D3124 001CED84 FC 21 02 32 */ fmul f1, f1, f8
/* 801D3128 001CED88 90 A1 02 44 */ stw r5, 0x244(r1)
/* 801D312C 001CED8C 80 06 FF EC */ lwz r0, -0x14(r6)
/* 801D3130 001CED90 FC 42 50 28 */ fsub f2, f2, f10
/* 801D3134 001CED94 FC 60 50 28 */ fsub f3, f0, f10
/* 801D3138 001CED98 C8 01 02 40 */ lfd f0, 0x240(r1)
/* 801D313C 001CED9C FC E1 00 B2 */ fmul f7, f1, f2
/* 801D3140 001CEDA0 90 81 02 4C */ stw r4, 0x24c(r1)
/* 801D3144 001CEDA4 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 801D3148 001CEDA8 80 86 FF E8 */ lwz r4, -0x18(r6)
/* 801D314C 001CEDAC FC 21 02 32 */ fmul f1, f1, f8
/* 801D3150 001CEDB0 80 06 FF E4 */ lwz r0, -0x1c(r6)
/* 801D3154 001CEDB4 C8 41 02 48 */ lfd f2, 0x248(r1)
/* 801D3158 001CEDB8 FC A0 50 28 */ fsub f5, f0, f10
/* 801D315C 001CEDBC FC C1 00 F2 */ fmul f6, f1, f3
/* 801D3160 001CEDC0 90 A1 02 44 */ stw r5, 0x244(r1)
/* 801D3164 001CEDC4 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 801D3168 001CEDC8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D316C 001CEDCC C8 01 02 40 */ lfd f0, 0x240(r1)
/* 801D3170 001CEDD0 FC 21 02 32 */ fmul f1, f1, f8
/* 801D3174 001CEDD4 D9 27 00 00 */ stfd f9, 0(r7)
/* 801D3178 001CEDD8 FC 82 50 28 */ fsub f4, f2, f10
/* 801D317C 001CEDDC FC 60 50 28 */ fsub f3, f0, f10
/* 801D3180 001CEDE0 38 C6 FF E0 */ addi r6, r6, -32
/* 801D3184 001CEDE4 FC A1 01 72 */ fmul f5, f1, f5
/* 801D3188 001CEDE8 90 81 02 4C */ stw r4, 0x24c(r1)
/* 801D318C 001CEDEC FC 21 02 32 */ fmul f1, f1, f8
/* 801D3190 001CEDF0 C8 01 02 48 */ lfd f0, 0x248(r1)
/* 801D3194 001CEDF4 D8 E7 FF F8 */ stfd f7, -8(r7)
/* 801D3198 001CEDF8 FC 40 50 28 */ fsub f2, f0, f10
/* 801D319C 001CEDFC FC 81 01 32 */ fmul f4, f1, f4
/* 801D31A0 001CEE00 90 01 02 44 */ stw r0, 0x244(r1)
/* 801D31A4 001CEE04 FC 21 02 32 */ fmul f1, f1, f8
/* 801D31A8 001CEE08 D8 C7 FF F0 */ stfd f6, -0x10(r7)
/* 801D31AC 001CEE0C C8 01 02 40 */ lfd f0, 0x240(r1)
/* 801D31B0 001CEE10 D8 A7 FF E8 */ stfd f5, -0x18(r7)
/* 801D31B4 001CEE14 FC 00 50 28 */ fsub f0, f0, f10
/* 801D31B8 001CEE18 FC 61 00 F2 */ fmul f3, f1, f3
/* 801D31BC 001CEE1C D8 87 FF E0 */ stfd f4, -0x20(r7)
/* 801D31C0 001CEE20 FC 21 02 32 */ fmul f1, f1, f8
/* 801D31C4 001CEE24 D8 67 FF D8 */ stfd f3, -0x28(r7)
/* 801D31C8 001CEE28 FC 41 00 B2 */ fmul f2, f1, f2
/* 801D31CC 001CEE2C FC 21 02 32 */ fmul f1, f1, f8
/* 801D31D0 001CEE30 D8 47 FF D0 */ stfd f2, -0x30(r7)
/* 801D31D4 001CEE34 FC 01 00 32 */ fmul f0, f1, f0
/* 801D31D8 001CEE38 FC 21 02 32 */ fmul f1, f1, f8
/* 801D31DC 001CEE3C D8 07 FF C8 */ stfd f0, -0x38(r7)
/* 801D31E0 001CEE40 38 E7 FF C0 */ addi r7, r7, -64
/* 801D31E4 001CEE44 42 00 FE F4 */ bdnz lbl_801D30D8
lbl_801D31E8:
/* 801D31E8 001CEE48 54 65 10 3A */ slwi r5, r3, 2
/* 801D31EC 001CEE4C 38 C1 00 10 */ addi r6, r1, 0x10
/* 801D31F0 001CEE50 54 64 18 38 */ slwi r4, r3, 3
/* 801D31F4 001CEE54 38 E1 00 60 */ addi r7, r1, 0x60
/* 801D31F8 001CEE58 38 03 00 01 */ addi r0, r3, 1
/* 801D31FC 001CEE5C 7C C6 2A 14 */ add r6, r6, r5
/* 801D3200 001CEE60 7C E7 22 14 */ add r7, r7, r4
/* 801D3204 001CEE64 C8 62 94 E0 */ lfd f3, lbl_80641AE0-_SDA2_BASE_(r2)
/* 801D3208 001CEE68 C8 02 94 B0 */ lfd f0, lbl_80641AB0-_SDA2_BASE_(r2)
/* 801D320C 001CEE6C 7C 09 03 A6 */ mtctr r0
/* 801D3210 001CEE70 2C 03 00 00 */ cmpwi r3, 0
/* 801D3214 001CEE74 41 80 00 30 */ blt lbl_801D3244
lbl_801D3218:
/* 801D3218 001CEE78 80 06 00 00 */ lwz r0, 0(r6)
/* 801D321C 001CEE7C 38 C6 FF FC */ addi r6, r6, -4
/* 801D3220 001CEE80 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D3224 001CEE84 90 01 02 4C */ stw r0, 0x24c(r1)
/* 801D3228 001CEE88 C8 41 02 48 */ lfd f2, 0x248(r1)
/* 801D322C 001CEE8C FC 42 18 28 */ fsub f2, f2, f3
/* 801D3230 001CEE90 FC 41 00 B2 */ fmul f2, f1, f2
/* 801D3234 001CEE94 FC 21 00 32 */ fmul f1, f1, f0
/* 801D3238 001CEE98 D8 47 00 00 */ stfd f2, 0(r7)
/* 801D323C 001CEE9C 38 E7 FF F8 */ addi r7, r7, -8
/* 801D3240 001CEEA0 42 00 FF D8 */ bdnz lbl_801D3218
lbl_801D3244:
/* 801D3244 001CEEA4 38 17 00 01 */ addi r0, r23, 1
/* 801D3248 001CEEA8 7E E8 BB 78 */ mr r8, r23
/* 801D324C 001CEEAC 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3250 001CEEB0 56 E3 18 38 */ slwi r3, r23, 3
/* 801D3254 001CEEB4 3C A0 80 40 */ lis r5, 0x8040
/* 801D3258 001CEEB8 7C 09 03 A6 */ mtctr r0
/* 801D325C 001CEEBC 2C 17 00 00 */ cmpwi r23, 0
/* 801D3260 001CEEC0 41 80 00 60 */ blt lbl_801D32C0
lbl_801D3264:
/* 801D3264 001CEEC4 38 C1 00 60 */ addi r6, r1, 0x60
/* 801D3268 001CEEC8 C8 42 94 A8 */ lfd f2, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D326C 001CEECC 7C C6 1A 14 */ add r6, r6, r3
/* 801D3270 001CEED0 38 E5 D5 00 */ addi r7, r5, -11008
/* 801D3274 001CEED4 7C 08 B8 50 */ subf r0, r8, r23
/* 801D3278 001CEED8 39 20 00 00 */ li r9, 0
/* 801D327C 001CEEDC 48 00 00 20 */ b lbl_801D329C
lbl_801D3280:
/* 801D3280 001CEEE0 C8 27 00 00 */ lfd f1, 0(r7)
/* 801D3284 001CEEE4 38 E7 00 08 */ addi r7, r7, 8
/* 801D3288 001CEEE8 C8 06 00 00 */ lfd f0, 0(r6)
/* 801D328C 001CEEEC 38 C6 00 08 */ addi r6, r6, 8
/* 801D3290 001CEEF0 39 29 00 01 */ addi r9, r9, 1
/* 801D3294 001CEEF4 FC 01 00 32 */ fmul f0, f1, f0
/* 801D3298 001CEEF8 FC 42 00 2A */ fadd f2, f2, f0
lbl_801D329C:
/* 801D329C 001CEEFC 7C 09 A8 00 */ cmpw r9, r21
/* 801D32A0 001CEF00 41 81 00 0C */ bgt lbl_801D32AC
/* 801D32A4 001CEF04 7C 09 00 00 */ cmpw r9, r0
/* 801D32A8 001CEF08 40 81 FF D8 */ ble lbl_801D3280
lbl_801D32AC:
/* 801D32AC 001CEF0C 54 00 18 38 */ slwi r0, r0, 3
/* 801D32B0 001CEF10 38 63 FF F8 */ addi r3, r3, -8
/* 801D32B4 001CEF14 7C 44 05 AE */ stfdx f2, r4, r0
/* 801D32B8 001CEF18 39 08 FF FF */ addi r8, r8, -1
/* 801D32BC 001CEF1C 42 00 FF A8 */ bdnz lbl_801D3264
lbl_801D32C0:
/* 801D32C0 001CEF20 80 01 00 08 */ lwz r0, 8(r1)
/* 801D32C4 001CEF24 2C 00 00 03 */ cmpwi r0, 3
/* 801D32C8 001CEF28 41 82 03 B8 */ beq lbl_801D3680
/* 801D32CC 001CEF2C 40 80 08 08 */ bge lbl_801D3AD4
/* 801D32D0 001CEF30 2C 00 00 00 */ cmpwi r0, 0
/* 801D32D4 001CEF34 41 82 00 0C */ beq lbl_801D32E0
/* 801D32D8 001CEF38 40 80 01 24 */ bge lbl_801D33FC
/* 801D32DC 001CEF3C 48 00 07 F8 */ b lbl_801D3AD4
lbl_801D32E0:
/* 801D32E0 001CEF40 2C 97 00 00 */ cmpwi cr1, r23, 0
/* 801D32E4 001CEF44 C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D32E8 001CEF48 41 84 00 FC */ blt cr1, lbl_801D33E4
/* 801D32EC 001CEF4C 38 17 00 01 */ addi r0, r23, 1
/* 801D32F0 001CEF50 2C 00 00 08 */ cmpwi r0, 8
/* 801D32F4 001CEF54 40 81 00 C4 */ ble lbl_801D33B8
/* 801D32F8 001CEF58 38 80 00 00 */ li r4, 0
/* 801D32FC 001CEF5C 38 A0 00 00 */ li r5, 0
/* 801D3300 001CEF60 41 84 00 18 */ blt cr1, lbl_801D3318
/* 801D3304 001CEF64 3C 60 80 00 */ lis r3, 0x80000001@ha
/* 801D3308 001CEF68 38 03 00 01 */ addi r0, r3, 0x80000001@l
/* 801D330C 001CEF6C 7C 17 00 00 */ cmpw r23, r0
/* 801D3310 001CEF70 41 80 00 08 */ blt lbl_801D3318
/* 801D3314 001CEF74 38 A0 00 01 */ li r5, 1
lbl_801D3318:
/* 801D3318 001CEF78 2C 05 00 00 */ cmpwi r5, 0
/* 801D331C 001CEF7C 41 82 00 2C */ beq lbl_801D3348
/* 801D3320 001CEF80 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0
/* 801D3324 001CEF84 38 60 00 01 */ li r3, 1
/* 801D3328 001CEF88 40 82 00 14 */ bne lbl_801D333C
/* 801D332C 001CEF8C 38 17 00 01 */ addi r0, r23, 1
/* 801D3330 001CEF90 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 801D3334 001CEF94 41 82 00 08 */ beq lbl_801D333C
/* 801D3338 001CEF98 38 60 00 00 */ li r3, 0
lbl_801D333C:
/* 801D333C 001CEF9C 2C 03 00 00 */ cmpwi r3, 0
/* 801D3340 001CEFA0 41 82 00 08 */ beq lbl_801D3348
/* 801D3344 001CEFA4 38 80 00 01 */ li r4, 1
lbl_801D3348:
/* 801D3348 001CEFA8 2C 04 00 00 */ cmpwi r4, 0
/* 801D334C 001CEFAC 41 82 00 6C */ beq lbl_801D33B8
/* 801D3350 001CEFB0 56 E3 18 38 */ slwi r3, r23, 3
/* 801D3354 001CEFB4 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3358 001CEFB8 56 E0 E8 FE */ srwi r0, r23, 3
/* 801D335C 001CEFBC 7C 84 1A 14 */ add r4, r4, r3
/* 801D3360 001CEFC0 7C 09 03 A6 */ mtctr r0
/* 801D3364 001CEFC4 2C 17 00 08 */ cmpwi r23, 8
/* 801D3368 001CEFC8 41 80 00 50 */ blt lbl_801D33B8
lbl_801D336C:
/* 801D336C 001CEFCC C8 24 00 00 */ lfd f1, 0(r4)
/* 801D3370 001CEFD0 3A F7 FF F8 */ addi r23, r23, -8
/* 801D3374 001CEFD4 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D3378 001CEFD8 FC C6 08 2A */ fadd f6, f6, f1
/* 801D337C 001CEFDC C8 A4 FF F0 */ lfd f5, -0x10(r4)
/* 801D3380 001CEFE0 C8 84 FF E8 */ lfd f4, -0x18(r4)
/* 801D3384 001CEFE4 C8 64 FF E0 */ lfd f3, -0x20(r4)
/* 801D3388 001CEFE8 FC C6 00 2A */ fadd f6, f6, f0
/* 801D338C 001CEFEC C8 44 FF D8 */ lfd f2, -0x28(r4)
/* 801D3390 001CEFF0 C8 24 FF D0 */ lfd f1, -0x30(r4)
/* 801D3394 001CEFF4 C8 04 FF C8 */ lfd f0, -0x38(r4)
/* 801D3398 001CEFF8 38 84 FF C0 */ addi r4, r4, -64
/* 801D339C 001CEFFC FC C6 28 2A */ fadd f6, f6, f5
/* 801D33A0 001CF000 FC C6 20 2A */ fadd f6, f6, f4
/* 801D33A4 001CF004 FC C6 18 2A */ fadd f6, f6, f3
/* 801D33A8 001CF008 FC C6 10 2A */ fadd f6, f6, f2
/* 801D33AC 001CF00C FC C6 08 2A */ fadd f6, f6, f1
/* 801D33B0 001CF010 FC C6 00 2A */ fadd f6, f6, f0
/* 801D33B4 001CF014 42 00 FF B8 */ bdnz lbl_801D336C
lbl_801D33B8:
/* 801D33B8 001CF018 56 E3 18 38 */ slwi r3, r23, 3
/* 801D33BC 001CF01C 38 81 01 00 */ addi r4, r1, 0x100
/* 801D33C0 001CF020 38 17 00 01 */ addi r0, r23, 1
/* 801D33C4 001CF024 7C 84 1A 14 */ add r4, r4, r3
/* 801D33C8 001CF028 7C 09 03 A6 */ mtctr r0
/* 801D33CC 001CF02C 2C 17 00 00 */ cmpwi r23, 0
/* 801D33D0 001CF030 41 80 00 14 */ blt lbl_801D33E4
lbl_801D33D4:
/* 801D33D4 001CF034 C8 04 00 00 */ lfd f0, 0(r4)
/* 801D33D8 001CF038 38 84 FF F8 */ addi r4, r4, -8
/* 801D33DC 001CF03C FC C6 00 2A */ fadd f6, f6, f0
/* 801D33E0 001CF040 42 00 FF F4 */ bdnz lbl_801D33D4
lbl_801D33E4:
/* 801D33E4 001CF044 2C 12 00 00 */ cmpwi r18, 0
/* 801D33E8 001CF048 40 82 00 08 */ bne lbl_801D33F0
/* 801D33EC 001CF04C 48 00 00 08 */ b lbl_801D33F4
lbl_801D33F0:
/* 801D33F0 001CF050 FC C0 30 50 */ fneg f6, f6
lbl_801D33F4:
/* 801D33F4 001CF054 D8 D1 00 00 */ stfd f6, 0(r17)
/* 801D33F8 001CF058 48 00 06 DC */ b lbl_801D3AD4
lbl_801D33FC:
/* 801D33FC 001CF05C 2C 97 00 00 */ cmpwi cr1, r23, 0
/* 801D3400 001CF060 C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D3404 001CF064 7E E6 BB 78 */ mr r6, r23
/* 801D3408 001CF068 41 84 00 FC */ blt cr1, lbl_801D3504
/* 801D340C 001CF06C 38 17 00 01 */ addi r0, r23, 1
/* 801D3410 001CF070 2C 00 00 08 */ cmpwi r0, 8
/* 801D3414 001CF074 40 81 00 C4 */ ble lbl_801D34D8
/* 801D3418 001CF078 38 80 00 00 */ li r4, 0
/* 801D341C 001CF07C 38 A0 00 00 */ li r5, 0
/* 801D3420 001CF080 41 84 00 18 */ blt cr1, lbl_801D3438
/* 801D3424 001CF084 3C 60 80 00 */ lis r3, 0x80000001@ha
/* 801D3428 001CF088 38 03 00 01 */ addi r0, r3, 0x80000001@l
/* 801D342C 001CF08C 7C 17 00 00 */ cmpw r23, r0
/* 801D3430 001CF090 41 80 00 08 */ blt lbl_801D3438
/* 801D3434 001CF094 38 A0 00 01 */ li r5, 1
lbl_801D3438:
/* 801D3438 001CF098 2C 05 00 00 */ cmpwi r5, 0
/* 801D343C 001CF09C 41 82 00 2C */ beq lbl_801D3468
/* 801D3440 001CF0A0 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0
/* 801D3444 001CF0A4 38 60 00 01 */ li r3, 1
/* 801D3448 001CF0A8 40 82 00 14 */ bne lbl_801D345C
/* 801D344C 001CF0AC 38 17 00 01 */ addi r0, r23, 1
/* 801D3450 001CF0B0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 801D3454 001CF0B4 41 82 00 08 */ beq lbl_801D345C
/* 801D3458 001CF0B8 38 60 00 00 */ li r3, 0
lbl_801D345C:
/* 801D345C 001CF0BC 2C 03 00 00 */ cmpwi r3, 0
/* 801D3460 001CF0C0 41 82 00 08 */ beq lbl_801D3468
/* 801D3464 001CF0C4 38 80 00 01 */ li r4, 1
lbl_801D3468:
/* 801D3468 001CF0C8 2C 04 00 00 */ cmpwi r4, 0
/* 801D346C 001CF0CC 41 82 00 6C */ beq lbl_801D34D8
/* 801D3470 001CF0D0 56 E3 18 38 */ slwi r3, r23, 3
/* 801D3474 001CF0D4 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3478 001CF0D8 56 E0 E8 FE */ srwi r0, r23, 3
/* 801D347C 001CF0DC 7C 84 1A 14 */ add r4, r4, r3
/* 801D3480 001CF0E0 7C 09 03 A6 */ mtctr r0
/* 801D3484 001CF0E4 2C 17 00 08 */ cmpwi r23, 8
/* 801D3488 001CF0E8 41 80 00 50 */ blt lbl_801D34D8
lbl_801D348C:
/* 801D348C 001CF0EC C8 24 00 00 */ lfd f1, 0(r4)
/* 801D3490 001CF0F0 38 C6 FF F8 */ addi r6, r6, -8
/* 801D3494 001CF0F4 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D3498 001CF0F8 FC C6 08 2A */ fadd f6, f6, f1
/* 801D349C 001CF0FC C8 A4 FF F0 */ lfd f5, -0x10(r4)
/* 801D34A0 001CF100 C8 84 FF E8 */ lfd f4, -0x18(r4)
/* 801D34A4 001CF104 C8 64 FF E0 */ lfd f3, -0x20(r4)
/* 801D34A8 001CF108 FC C6 00 2A */ fadd f6, f6, f0
/* 801D34AC 001CF10C C8 44 FF D8 */ lfd f2, -0x28(r4)
/* 801D34B0 001CF110 C8 24 FF D0 */ lfd f1, -0x30(r4)
/* 801D34B4 001CF114 C8 04 FF C8 */ lfd f0, -0x38(r4)
/* 801D34B8 001CF118 38 84 FF C0 */ addi r4, r4, -64
/* 801D34BC 001CF11C FC C6 28 2A */ fadd f6, f6, f5
/* 801D34C0 001CF120 FC C6 20 2A */ fadd f6, f6, f4
/* 801D34C4 001CF124 FC C6 18 2A */ fadd f6, f6, f3
/* 801D34C8 001CF128 FC C6 10 2A */ fadd f6, f6, f2
/* 801D34CC 001CF12C FC C6 08 2A */ fadd f6, f6, f1
/* 801D34D0 001CF130 FC C6 00 2A */ fadd f6, f6, f0
/* 801D34D4 001CF134 42 00 FF B8 */ bdnz lbl_801D348C
lbl_801D34D8:
/* 801D34D8 001CF138 54 C3 18 38 */ slwi r3, r6, 3
/* 801D34DC 001CF13C 38 81 01 00 */ addi r4, r1, 0x100
/* 801D34E0 001CF140 38 06 00 01 */ addi r0, r6, 1
/* 801D34E4 001CF144 7C 84 1A 14 */ add r4, r4, r3
/* 801D34E8 001CF148 7C 09 03 A6 */ mtctr r0
/* 801D34EC 001CF14C 2C 06 00 00 */ cmpwi r6, 0
/* 801D34F0 001CF150 41 80 00 14 */ blt lbl_801D3504
lbl_801D34F4:
/* 801D34F4 001CF154 C8 04 00 00 */ lfd f0, 0(r4)
/* 801D34F8 001CF158 38 84 FF F8 */ addi r4, r4, -8
/* 801D34FC 001CF15C FC C6 00 2A */ fadd f6, f6, f0
/* 801D3500 001CF160 42 00 FF F4 */ bdnz lbl_801D34F4
lbl_801D3504:
/* 801D3504 001CF164 2C 12 00 00 */ cmpwi r18, 0
/* 801D3508 001CF168 40 82 00 0C */ bne lbl_801D3514
/* 801D350C 001CF16C FC 20 30 90 */ fmr f1, f6
/* 801D3510 001CF170 48 00 00 08 */ b lbl_801D3518
lbl_801D3514:
/* 801D3514 001CF174 FC 20 30 50 */ fneg f1, f6
lbl_801D3518:
/* 801D3518 001CF178 C8 01 01 00 */ lfd f0, 0x100(r1)
/* 801D351C 001CF17C 2C 97 00 01 */ cmpwi cr1, r23, 1
/* 801D3520 001CF180 D8 31 00 00 */ stfd f1, 0(r17)
/* 801D3524 001CF184 39 00 00 01 */ li r8, 1
/* 801D3528 001CF188 FC C0 30 28 */ fsub f6, f0, f6
/* 801D352C 001CF18C 41 84 01 3C */ blt cr1, lbl_801D3668
/* 801D3530 001CF190 2C 17 00 08 */ cmpwi r23, 8
/* 801D3534 001CF194 38 97 FF F8 */ addi r4, r23, -8
/* 801D3538 001CF198 40 81 01 00 */ ble lbl_801D3638
/* 801D353C 001CF19C 38 A0 00 00 */ li r5, 0
/* 801D3540 001CF1A0 38 C0 00 00 */ li r6, 0
/* 801D3544 001CF1A4 38 E0 00 00 */ li r7, 0
/* 801D3548 001CF1A8 41 84 00 18 */ blt cr1, lbl_801D3560
/* 801D354C 001CF1AC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
/* 801D3550 001CF1B0 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
/* 801D3554 001CF1B4 7C 17 00 00 */ cmpw r23, r0
/* 801D3558 001CF1B8 41 81 00 08 */ bgt lbl_801D3560
/* 801D355C 001CF1BC 38 E0 00 01 */ li r7, 1
lbl_801D3560:
/* 801D3560 001CF1C0 2C 07 00 00 */ cmpwi r7, 0
/* 801D3564 001CF1C4 41 82 00 38 */ beq lbl_801D359C
/* 801D3568 001CF1C8 56 E7 00 00 */ rlwinm r7, r23, 0, 0, 0
/* 801D356C 001CF1CC 38 60 00 01 */ li r3, 1
/* 801D3570 001CF1D0 3C 07 80 00 */ addis r0, r7, 0x8000
/* 801D3574 001CF1D4 28 00 00 00 */ cmplwi r0, 0
/* 801D3578 001CF1D8 40 82 00 18 */ bne lbl_801D3590
/* 801D357C 001CF1DC 38 17 FF FF */ addi r0, r23, -1
/* 801D3580 001CF1E0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
/* 801D3584 001CF1E4 7C 07 00 00 */ cmpw r7, r0
/* 801D3588 001CF1E8 41 82 00 08 */ beq lbl_801D3590
/* 801D358C 001CF1EC 38 60 00 00 */ li r3, 0
lbl_801D3590:
/* 801D3590 001CF1F0 2C 03 00 00 */ cmpwi r3, 0
/* 801D3594 001CF1F4 41 82 00 08 */ beq lbl_801D359C
/* 801D3598 001CF1F8 38 C0 00 01 */ li r6, 1
lbl_801D359C:
/* 801D359C 001CF1FC 2C 06 00 00 */ cmpwi r6, 0
/* 801D35A0 001CF200 41 82 00 2C */ beq lbl_801D35CC
/* 801D35A4 001CF204 38 17 FF FF */ addi r0, r23, -1
/* 801D35A8 001CF208 38 60 00 01 */ li r3, 1
/* 801D35AC 001CF20C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 801D35B0 001CF210 40 82 00 10 */ bne lbl_801D35C0
/* 801D35B4 001CF214 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0
/* 801D35B8 001CF218 41 82 00 08 */ beq lbl_801D35C0
/* 801D35BC 001CF21C 38 60 00 00 */ li r3, 0
lbl_801D35C0:
/* 801D35C0 001CF220 2C 03 00 00 */ cmpwi r3, 0
/* 801D35C4 001CF224 41 82 00 08 */ beq lbl_801D35CC
/* 801D35C8 001CF228 38 A0 00 01 */ li r5, 1
lbl_801D35CC:
/* 801D35CC 001CF22C 2C 05 00 00 */ cmpwi r5, 0
/* 801D35D0 001CF230 41 82 00 68 */ beq lbl_801D3638
/* 801D35D4 001CF234 38 04 00 07 */ addi r0, r4, 7
/* 801D35D8 001CF238 38 61 01 08 */ addi r3, r1, 0x108
/* 801D35DC 001CF23C 54 00 E8 FE */ srwi r0, r0, 3
/* 801D35E0 001CF240 7C 09 03 A6 */ mtctr r0
/* 801D35E4 001CF244 2C 04 00 01 */ cmpwi r4, 1
/* 801D35E8 001CF248 41 80 00 50 */ blt lbl_801D3638
lbl_801D35EC:
/* 801D35EC 001CF24C C8 23 00 00 */ lfd f1, 0(r3)
/* 801D35F0 001CF250 39 08 00 08 */ addi r8, r8, 8
/* 801D35F4 001CF254 C8 03 00 08 */ lfd f0, 8(r3)
/* 801D35F8 001CF258 FC C6 08 2A */ fadd f6, f6, f1
/* 801D35FC 001CF25C C8 A3 00 10 */ lfd f5, 0x10(r3)
/* 801D3600 001CF260 C8 83 00 18 */ lfd f4, 0x18(r3)
/* 801D3604 001CF264 C8 63 00 20 */ lfd f3, 0x20(r3)
/* 801D3608 001CF268 FC C6 00 2A */ fadd f6, f6, f0
/* 801D360C 001CF26C C8 43 00 28 */ lfd f2, 0x28(r3)
/* 801D3610 001CF270 C8 23 00 30 */ lfd f1, 0x30(r3)
/* 801D3614 001CF274 C8 03 00 38 */ lfd f0, 0x38(r3)
/* 801D3618 001CF278 38 63 00 40 */ addi r3, r3, 0x40
/* 801D361C 001CF27C FC C6 28 2A */ fadd f6, f6, f5
/* 801D3620 001CF280 FC C6 20 2A */ fadd f6, f6, f4
/* 801D3624 001CF284 FC C6 18 2A */ fadd f6, f6, f3
/* 801D3628 001CF288 FC C6 10 2A */ fadd f6, f6, f2
/* 801D362C 001CF28C FC C6 08 2A */ fadd f6, f6, f1
/* 801D3630 001CF290 FC C6 00 2A */ fadd f6, f6, f0
/* 801D3634 001CF294 42 00 FF B8 */ bdnz lbl_801D35EC
lbl_801D3638:
/* 801D3638 001CF298 38 17 00 01 */ addi r0, r23, 1
/* 801D363C 001CF29C 55 03 18 38 */ slwi r3, r8, 3
/* 801D3640 001CF2A0 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3644 001CF2A4 7C 08 00 50 */ subf r0, r8, r0
/* 801D3648 001CF2A8 7C 84 1A 14 */ add r4, r4, r3
/* 801D364C 001CF2AC 7C 09 03 A6 */ mtctr r0
/* 801D3650 001CF2B0 7C 08 B8 00 */ cmpw r8, r23
/* 801D3654 001CF2B4 41 81 00 14 */ bgt lbl_801D3668
lbl_801D3658:
/* 801D3658 001CF2B8 C8 04 00 00 */ lfd f0, 0(r4)
/* 801D365C 001CF2BC 38 84 00 08 */ addi r4, r4, 8
/* 801D3660 001CF2C0 FC C6 00 2A */ fadd f6, f6, f0
/* 801D3664 001CF2C4 42 00 FF F4 */ bdnz lbl_801D3658
lbl_801D3668:
/* 801D3668 001CF2C8 2C 12 00 00 */ cmpwi r18, 0
/* 801D366C 001CF2CC 40 82 00 08 */ bne lbl_801D3674
/* 801D3670 001CF2D0 48 00 00 08 */ b lbl_801D3678
lbl_801D3674:
/* 801D3674 001CF2D4 FC C0 30 50 */ fneg f6, f6
lbl_801D3678:
/* 801D3678 001CF2D8 D8 D1 00 08 */ stfd f6, 8(r17)
/* 801D367C 001CF2DC 48 00 04 58 */ b lbl_801D3AD4
lbl_801D3680:
/* 801D3680 001CF2E0 2C 97 00 00 */ cmpwi cr1, r23, 0
/* 801D3684 001CF2E4 7E E5 BB 78 */ mr r5, r23
/* 801D3688 001CF2E8 40 85 01 38 */ ble cr1, lbl_801D37C0
/* 801D368C 001CF2EC 2C 17 00 08 */ cmpwi r23, 8
/* 801D3690 001CF2F0 40 81 00 F8 */ ble lbl_801D3788
/* 801D3694 001CF2F4 38 80 00 00 */ li r4, 0
/* 801D3698 001CF2F8 41 84 00 18 */ blt cr1, lbl_801D36B0
/* 801D369C 001CF2FC 3C 60 80 00 */ lis r3, 0x80000001@ha
/* 801D36A0 001CF300 38 03 00 01 */ addi r0, r3, 0x80000001@l
/* 801D36A4 001CF304 7C 17 00 00 */ cmpw r23, r0
/* 801D36A8 001CF308 41 80 00 08 */ blt lbl_801D36B0
/* 801D36AC 001CF30C 38 80 00 01 */ li r4, 1
lbl_801D36B0:
/* 801D36B0 001CF310 2C 04 00 00 */ cmpwi r4, 0
/* 801D36B4 001CF314 41 82 00 D4 */ beq lbl_801D3788
/* 801D36B8 001CF318 38 17 FF FF */ addi r0, r23, -1
/* 801D36BC 001CF31C 56 E3 18 38 */ slwi r3, r23, 3
/* 801D36C0 001CF320 38 81 01 00 */ addi r4, r1, 0x100
/* 801D36C4 001CF324 54 00 E8 FE */ srwi r0, r0, 3
/* 801D36C8 001CF328 7C 84 1A 14 */ add r4, r4, r3
/* 801D36CC 001CF32C 7C 09 03 A6 */ mtctr r0
/* 801D36D0 001CF330 2C 17 00 08 */ cmpwi r23, 8
/* 801D36D4 001CF334 40 81 00 B4 */ ble lbl_801D3788
lbl_801D36D8:
/* 801D36D8 001CF338 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D36DC 001CF33C 38 A5 FF F8 */ addi r5, r5, -8
/* 801D36E0 001CF340 C8 24 00 00 */ lfd f1, 0(r4)
/* 801D36E4 001CF344 FC 40 08 2A */ fadd f2, f0, f1
/* 801D36E8 001CF348 FC 00 10 28 */ fsub f0, f0, f2
/* 801D36EC 001CF34C FC 01 00 2A */ fadd f0, f1, f0
/* 801D36F0 001CF350 D8 04 00 00 */ stfd f0, 0(r4)
/* 801D36F4 001CF354 C8 04 FF F0 */ lfd f0, -0x10(r4)
/* 801D36F8 001CF358 FC 20 10 2A */ fadd f1, f0, f2
/* 801D36FC 001CF35C FC 00 08 28 */ fsub f0, f0, f1
/* 801D3700 001CF360 FC 02 00 2A */ fadd f0, f2, f0
/* 801D3704 001CF364 D8 04 FF F8 */ stfd f0, -8(r4)
/* 801D3708 001CF368 C8 04 FF E8 */ lfd f0, -0x18(r4)
/* 801D370C 001CF36C FC 40 08 2A */ fadd f2, f0, f1
/* 801D3710 001CF370 FC 00 10 28 */ fsub f0, f0, f2
/* 801D3714 001CF374 FC 01 00 2A */ fadd f0, f1, f0
/* 801D3718 001CF378 D8 04 FF F0 */ stfd f0, -0x10(r4)
/* 801D371C 001CF37C C8 04 FF E0 */ lfd f0, -0x20(r4)
/* 801D3720 001CF380 FC 20 10 2A */ fadd f1, f0, f2
/* 801D3724 001CF384 FC 00 08 28 */ fsub f0, f0, f1
/* 801D3728 001CF388 FC 02 00 2A */ fadd f0, f2, f0
/* 801D372C 001CF38C D8 04 FF E8 */ stfd f0, -0x18(r4)
/* 801D3730 001CF390 C8 04 FF D8 */ lfd f0, -0x28(r4)
/* 801D3734 001CF394 FC 40 08 2A */ fadd f2, f0, f1
/* 801D3738 001CF398 FC 00 10 28 */ fsub f0, f0, f2
/* 801D373C 001CF39C FC 01 00 2A */ fadd f0, f1, f0
/* 801D3740 001CF3A0 D8 04 FF E0 */ stfd f0, -0x20(r4)
/* 801D3744 001CF3A4 C8 04 FF D0 */ lfd f0, -0x30(r4)
/* 801D3748 001CF3A8 FC 20 10 2A */ fadd f1, f0, f2
/* 801D374C 001CF3AC FC 00 08 28 */ fsub f0, f0, f1
/* 801D3750 001CF3B0 FC 02 00 2A */ fadd f0, f2, f0
/* 801D3754 001CF3B4 D8 04 FF D8 */ stfd f0, -0x28(r4)
/* 801D3758 001CF3B8 C8 04 FF C8 */ lfd f0, -0x38(r4)
/* 801D375C 001CF3BC FC 40 08 2A */ fadd f2, f0, f1
/* 801D3760 001CF3C0 FC 00 10 28 */ fsub f0, f0, f2
/* 801D3764 001CF3C4 FC 01 00 2A */ fadd f0, f1, f0
/* 801D3768 001CF3C8 D8 04 FF D0 */ stfd f0, -0x30(r4)
/* 801D376C 001CF3CC C8 04 FF C0 */ lfd f0, -0x40(r4)
/* 801D3770 001CF3D0 FC 20 10 2A */ fadd f1, f0, f2
/* 801D3774 001CF3D4 FC 00 08 28 */ fsub f0, f0, f1
/* 801D3778 001CF3D8 FC 02 00 2A */ fadd f0, f2, f0
/* 801D377C 001CF3DC D8 04 FF C8 */ stfd f0, -0x38(r4)
/* 801D3780 001CF3E0 DC 24 FF C0 */ stfdu f1, -0x40(r4)
/* 801D3784 001CF3E4 42 00 FF 54 */ bdnz lbl_801D36D8
lbl_801D3788:
/* 801D3788 001CF3E8 54 A0 18 38 */ slwi r0, r5, 3
/* 801D378C 001CF3EC 38 61 01 00 */ addi r3, r1, 0x100
/* 801D3790 001CF3F0 7C 63 02 14 */ add r3, r3, r0
/* 801D3794 001CF3F4 7C A9 03 A6 */ mtctr r5
/* 801D3798 001CF3F8 2C 05 00 00 */ cmpwi r5, 0
/* 801D379C 001CF3FC 40 81 00 24 */ ble lbl_801D37C0
lbl_801D37A0:
/* 801D37A0 001CF400 C8 03 FF F8 */ lfd f0, -8(r3)
/* 801D37A4 001CF404 C8 23 00 00 */ lfd f1, 0(r3)
/* 801D37A8 001CF408 FC 40 08 2A */ fadd f2, f0, f1
/* 801D37AC 001CF40C FC 00 10 28 */ fsub f0, f0, f2
/* 801D37B0 001CF410 FC 01 00 2A */ fadd f0, f1, f0
/* 801D37B4 001CF414 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D37B8 001CF418 DC 43 FF F8 */ stfdu f2, -8(r3)
/* 801D37BC 001CF41C 42 00 FF E4 */ bdnz lbl_801D37A0
lbl_801D37C0:
/* 801D37C0 001CF420 2C 97 00 01 */ cmpwi cr1, r23, 1
/* 801D37C4 001CF424 7E E6 BB 78 */ mr r6, r23
/* 801D37C8 001CF428 40 85 01 80 */ ble cr1, lbl_801D3948
/* 801D37CC 001CF42C 38 17 FF FF */ addi r0, r23, -1
/* 801D37D0 001CF430 2C 00 00 08 */ cmpwi r0, 8
/* 801D37D4 001CF434 40 81 01 38 */ ble lbl_801D390C
/* 801D37D8 001CF438 38 80 00 00 */ li r4, 0
/* 801D37DC 001CF43C 38 A0 00 00 */ li r5, 0
/* 801D37E0 001CF440 41 84 00 18 */ blt cr1, lbl_801D37F8
/* 801D37E4 001CF444 3C 60 80 00 */ lis r3, 0x80000001@ha
/* 801D37E8 001CF448 38 03 00 01 */ addi r0, r3, 0x80000001@l
/* 801D37EC 001CF44C 7C 17 00 00 */ cmpw r23, r0
/* 801D37F0 001CF450 41 80 00 08 */ blt lbl_801D37F8
/* 801D37F4 001CF454 38 A0 00 01 */ li r5, 1
lbl_801D37F8:
/* 801D37F8 001CF458 2C 05 00 00 */ cmpwi r5, 0
/* 801D37FC 001CF45C 41 82 00 38 */ beq lbl_801D3834
/* 801D3800 001CF460 56 E5 00 00 */ rlwinm r5, r23, 0, 0, 0
/* 801D3804 001CF464 38 60 00 01 */ li r3, 1
/* 801D3808 001CF468 3C 05 80 00 */ addis r0, r5, 0x8000
/* 801D380C 001CF46C 28 00 00 00 */ cmplwi r0, 0
/* 801D3810 001CF470 40 82 00 18 */ bne lbl_801D3828
/* 801D3814 001CF474 38 17 FF FF */ addi r0, r23, -1
/* 801D3818 001CF478 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
/* 801D381C 001CF47C 7C 05 00 00 */ cmpw r5, r0
/* 801D3820 001CF480 41 82 00 08 */ beq lbl_801D3828
/* 801D3824 001CF484 38 60 00 00 */ li r3, 0
lbl_801D3828:
/* 801D3828 001CF488 2C 03 00 00 */ cmpwi r3, 0
/* 801D382C 001CF48C 41 82 00 08 */ beq lbl_801D3834
/* 801D3830 001CF490 38 80 00 01 */ li r4, 1
lbl_801D3834:
/* 801D3834 001CF494 2C 04 00 00 */ cmpwi r4, 0
/* 801D3838 001CF498 41 82 00 D4 */ beq lbl_801D390C
/* 801D383C 001CF49C 38 17 FF FE */ addi r0, r23, -2
/* 801D3840 001CF4A0 56 E3 18 38 */ slwi r3, r23, 3
/* 801D3844 001CF4A4 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3848 001CF4A8 54 00 E8 FE */ srwi r0, r0, 3
/* 801D384C 001CF4AC 7C 84 1A 14 */ add r4, r4, r3
/* 801D3850 001CF4B0 7C 09 03 A6 */ mtctr r0
/* 801D3854 001CF4B4 2C 17 00 09 */ cmpwi r23, 9
/* 801D3858 001CF4B8 40 81 00 B4 */ ble lbl_801D390C
lbl_801D385C:
/* 801D385C 001CF4BC C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D3860 001CF4C0 38 C6 FF F8 */ addi r6, r6, -8
/* 801D3864 001CF4C4 C8 24 00 00 */ lfd f1, 0(r4)
/* 801D3868 001CF4C8 FC 40 08 2A */ fadd f2, f0, f1
/* 801D386C 001CF4CC FC 00 10 28 */ fsub f0, f0, f2
/* 801D3870 001CF4D0 FC 01 00 2A */ fadd f0, f1, f0
/* 801D3874 001CF4D4 D8 04 00 00 */ stfd f0, 0(r4)
/* 801D3878 001CF4D8 C8 04 FF F0 */ lfd f0, -0x10(r4)
/* 801D387C 001CF4DC FC 20 10 2A */ fadd f1, f0, f2
/* 801D3880 001CF4E0 FC 00 08 28 */ fsub f0, f0, f1
/* 801D3884 001CF4E4 FC 02 00 2A */ fadd f0, f2, f0
/* 801D3888 001CF4E8 D8 04 FF F8 */ stfd f0, -8(r4)
/* 801D388C 001CF4EC C8 04 FF E8 */ lfd f0, -0x18(r4)
/* 801D3890 001CF4F0 FC 40 08 2A */ fadd f2, f0, f1
/* 801D3894 001CF4F4 FC 00 10 28 */ fsub f0, f0, f2
/* 801D3898 001CF4F8 FC 01 00 2A */ fadd f0, f1, f0
/* 801D389C 001CF4FC D8 04 FF F0 */ stfd f0, -0x10(r4)
/* 801D38A0 001CF500 C8 04 FF E0 */ lfd f0, -0x20(r4)
/* 801D38A4 001CF504 FC 20 10 2A */ fadd f1, f0, f2
/* 801D38A8 001CF508 FC 00 08 28 */ fsub f0, f0, f1
/* 801D38AC 001CF50C FC 02 00 2A */ fadd f0, f2, f0
/* 801D38B0 001CF510 D8 04 FF E8 */ stfd f0, -0x18(r4)
/* 801D38B4 001CF514 C8 04 FF D8 */ lfd f0, -0x28(r4)
/* 801D38B8 001CF518 FC 40 08 2A */ fadd f2, f0, f1
/* 801D38BC 001CF51C FC 00 10 28 */ fsub f0, f0, f2
/* 801D38C0 001CF520 FC 01 00 2A */ fadd f0, f1, f0
/* 801D38C4 001CF524 D8 04 FF E0 */ stfd f0, -0x20(r4)
/* 801D38C8 001CF528 C8 04 FF D0 */ lfd f0, -0x30(r4)
/* 801D38CC 001CF52C FC 20 10 2A */ fadd f1, f0, f2
/* 801D38D0 001CF530 FC 00 08 28 */ fsub f0, f0, f1
/* 801D38D4 001CF534 FC 02 00 2A */ fadd f0, f2, f0
/* 801D38D8 001CF538 D8 04 FF D8 */ stfd f0, -0x28(r4)
/* 801D38DC 001CF53C C8 04 FF C8 */ lfd f0, -0x38(r4)
/* 801D38E0 001CF540 FC 40 08 2A */ fadd f2, f0, f1
/* 801D38E4 001CF544 FC 00 10 28 */ fsub f0, f0, f2
/* 801D38E8 001CF548 FC 01 00 2A */ fadd f0, f1, f0
/* 801D38EC 001CF54C D8 04 FF D0 */ stfd f0, -0x30(r4)
/* 801D38F0 001CF550 C8 04 FF C0 */ lfd f0, -0x40(r4)
/* 801D38F4 001CF554 FC 20 10 2A */ fadd f1, f0, f2
/* 801D38F8 001CF558 FC 00 08 28 */ fsub f0, f0, f1
/* 801D38FC 001CF55C FC 02 00 2A */ fadd f0, f2, f0
/* 801D3900 001CF560 D8 04 FF C8 */ stfd f0, -0x38(r4)
/* 801D3904 001CF564 DC 24 FF C0 */ stfdu f1, -0x40(r4)
/* 801D3908 001CF568 42 00 FF 54 */ bdnz lbl_801D385C
lbl_801D390C:
/* 801D390C 001CF56C 54 C3 18 38 */ slwi r3, r6, 3
/* 801D3910 001CF570 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3914 001CF574 38 06 FF FF */ addi r0, r6, -1
/* 801D3918 001CF578 7C 84 1A 14 */ add r4, r4, r3
/* 801D391C 001CF57C 7C 09 03 A6 */ mtctr r0
/* 801D3920 001CF580 2C 06 00 01 */ cmpwi r6, 1
/* 801D3924 001CF584 40 81 00 24 */ ble lbl_801D3948
lbl_801D3928:
/* 801D3928 001CF588 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D392C 001CF58C C8 24 00 00 */ lfd f1, 0(r4)
/* 801D3930 001CF590 FC 40 08 2A */ fadd f2, f0, f1
/* 801D3934 001CF594 FC 00 10 28 */ fsub f0, f0, f2
/* 801D3938 001CF598 FC 01 00 2A */ fadd f0, f1, f0
/* 801D393C 001CF59C D8 04 00 00 */ stfd f0, 0(r4)
/* 801D3940 001CF5A0 DC 44 FF F8 */ stfdu f2, -8(r4)
/* 801D3944 001CF5A4 42 00 FF E4 */ bdnz lbl_801D3928
lbl_801D3948:
/* 801D3948 001CF5A8 2C 97 00 02 */ cmpwi cr1, r23, 2
/* 801D394C 001CF5AC C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2)
/* 801D3950 001CF5B0 41 84 01 44 */ blt cr1, lbl_801D3A94
/* 801D3954 001CF5B4 38 17 FF FF */ addi r0, r23, -1
/* 801D3958 001CF5B8 2C 00 00 08 */ cmpwi r0, 8
/* 801D395C 001CF5BC 40 81 01 0C */ ble lbl_801D3A68
/* 801D3960 001CF5C0 38 80 00 00 */ li r4, 0
/* 801D3964 001CF5C4 38 A0 00 00 */ li r5, 0
/* 801D3968 001CF5C8 38 C0 00 00 */ li r6, 0
/* 801D396C 001CF5CC 41 84 00 18 */ blt cr1, lbl_801D3984
/* 801D3970 001CF5D0 3C 60 80 00 */ lis r3, 0x80000001@ha
/* 801D3974 001CF5D4 38 03 00 01 */ addi r0, r3, 0x80000001@l
/* 801D3978 001CF5D8 7C 17 00 00 */ cmpw r23, r0
/* 801D397C 001CF5DC 41 80 00 08 */ blt lbl_801D3984
/* 801D3980 001CF5E0 38 C0 00 01 */ li r6, 1
lbl_801D3984:
/* 801D3984 001CF5E4 2C 06 00 00 */ cmpwi r6, 0
/* 801D3988 001CF5E8 41 82 00 38 */ beq lbl_801D39C0
/* 801D398C 001CF5EC 56 E6 00 00 */ rlwinm r6, r23, 0, 0, 0
/* 801D3990 001CF5F0 38 60 00 01 */ li r3, 1
/* 801D3994 001CF5F4 3C 06 80 00 */ addis r0, r6, 0x8000
/* 801D3998 001CF5F8 28 00 00 00 */ cmplwi r0, 0
/* 801D399C 001CF5FC 40 82 00 18 */ bne lbl_801D39B4
/* 801D39A0 001CF600 38 17 FF FE */ addi r0, r23, -2
/* 801D39A4 001CF604 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
/* 801D39A8 001CF608 7C 06 00 00 */ cmpw r6, r0
/* 801D39AC 001CF60C 41 82 00 08 */ beq lbl_801D39B4
/* 801D39B0 001CF610 38 60 00 00 */ li r3, 0
lbl_801D39B4:
/* 801D39B4 001CF614 2C 03 00 00 */ cmpwi r3, 0
/* 801D39B8 001CF618 41 82 00 08 */ beq lbl_801D39C0
/* 801D39BC 001CF61C 38 A0 00 01 */ li r5, 1
lbl_801D39C0:
/* 801D39C0 001CF620 2C 05 00 00 */ cmpwi r5, 0
/* 801D39C4 001CF624 41 82 00 30 */ beq lbl_801D39F4
/* 801D39C8 001CF628 38 17 FF FE */ addi r0, r23, -2
/* 801D39CC 001CF62C 38 60 00 01 */ li r3, 1
/* 801D39D0 001CF630 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 801D39D4 001CF634 40 82 00 14 */ bne lbl_801D39E8
/* 801D39D8 001CF638 38 17 FF FF */ addi r0, r23, -1
/* 801D39DC 001CF63C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 801D39E0 001CF640 41 82 00 08 */ beq lbl_801D39E8
/* 801D39E4 001CF644 38 60 00 00 */ li r3, 0
lbl_801D39E8:
/* 801D39E8 001CF648 2C 03 00 00 */ cmpwi r3, 0
/* 801D39EC 001CF64C 41 82 00 08 */ beq lbl_801D39F4
/* 801D39F0 001CF650 38 80 00 01 */ li r4, 1
lbl_801D39F4:
/* 801D39F4 001CF654 2C 04 00 00 */ cmpwi r4, 0
/* 801D39F8 001CF658 41 82 00 70 */ beq lbl_801D3A68
/* 801D39FC 001CF65C 38 17 FF FE */ addi r0, r23, -2
/* 801D3A00 001CF660 56 E3 18 38 */ slwi r3, r23, 3
/* 801D3A04 001CF664 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3A08 001CF668 54 00 E8 FE */ srwi r0, r0, 3
/* 801D3A0C 001CF66C 7C 84 1A 14 */ add r4, r4, r3
/* 801D3A10 001CF670 7C 09 03 A6 */ mtctr r0
/* 801D3A14 001CF674 2C 17 00 0A */ cmpwi r23, 0xa
/* 801D3A18 001CF678 41 80 00 50 */ blt lbl_801D3A68
lbl_801D3A1C:
/* 801D3A1C 001CF67C C8 24 00 00 */ lfd f1, 0(r4)
/* 801D3A20 001CF680 3A F7 FF F8 */ addi r23, r23, -8
/* 801D3A24 001CF684 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D3A28 001CF688 FC C6 08 2A */ fadd f6, f6, f1
/* 801D3A2C 001CF68C C8 A4 FF F0 */ lfd f5, -0x10(r4)
/* 801D3A30 001CF690 C8 84 FF E8 */ lfd f4, -0x18(r4)
/* 801D3A34 001CF694 C8 64 FF E0 */ lfd f3, -0x20(r4)
/* 801D3A38 001CF698 FC C6 00 2A */ fadd f6, f6, f0
/* 801D3A3C 001CF69C C8 44 FF D8 */ lfd f2, -0x28(r4)
/* 801D3A40 001CF6A0 C8 24 FF D0 */ lfd f1, -0x30(r4)
/* 801D3A44 001CF6A4 C8 04 FF C8 */ lfd f0, -0x38(r4)
/* 801D3A48 001CF6A8 38 84 FF C0 */ addi r4, r4, -64
/* 801D3A4C 001CF6AC FC C6 28 2A */ fadd f6, f6, f5
/* 801D3A50 001CF6B0 FC C6 20 2A */ fadd f6, f6, f4
/* 801D3A54 001CF6B4 FC C6 18 2A */ fadd f6, f6, f3
/* 801D3A58 001CF6B8 FC C6 10 2A */ fadd f6, f6, f2
/* 801D3A5C 001CF6BC FC C6 08 2A */ fadd f6, f6, f1
/* 801D3A60 001CF6C0 FC C6 00 2A */ fadd f6, f6, f0
/* 801D3A64 001CF6C4 42 00 FF B8 */ bdnz lbl_801D3A1C
lbl_801D3A68:
/* 801D3A68 001CF6C8 56 E3 18 38 */ slwi r3, r23, 3
/* 801D3A6C 001CF6CC 38 81 01 00 */ addi r4, r1, 0x100
/* 801D3A70 001CF6D0 38 17 FF FF */ addi r0, r23, -1
/* 801D3A74 001CF6D4 7C 84 1A 14 */ add r4, r4, r3
/* 801D3A78 001CF6D8 7C 09 03 A6 */ mtctr r0
/* 801D3A7C 001CF6DC 2C 17 00 02 */ cmpwi r23, 2
/* 801D3A80 001CF6E0 41 80 00 14 */ blt lbl_801D3A94
lbl_801D3A84:
/* 801D3A84 001CF6E4 C8 04 00 00 */ lfd f0, 0(r4)
/* 801D3A88 001CF6E8 38 84 FF F8 */ addi r4, r4, -8
/* 801D3A8C 001CF6EC FC C6 00 2A */ fadd f6, f6, f0
/* 801D3A90 001CF6F0 42 00 FF F4 */ bdnz lbl_801D3A84
lbl_801D3A94:
/* 801D3A94 001CF6F4 2C 12 00 00 */ cmpwi r18, 0
/* 801D3A98 001CF6F8 40 82 00 1C */ bne lbl_801D3AB4
/* 801D3A9C 001CF6FC C8 21 01 00 */ lfd f1, 0x100(r1)
/* 801D3AA0 001CF700 C8 01 01 08 */ lfd f0, 0x108(r1)
/* 801D3AA4 001CF704 D8 31 00 00 */ stfd f1, 0(r17)
/* 801D3AA8 001CF708 D8 11 00 08 */ stfd f0, 8(r17)
/* 801D3AAC 001CF70C D8 D1 00 10 */ stfd f6, 0x10(r17)
/* 801D3AB0 001CF710 48 00 00 24 */ b lbl_801D3AD4
lbl_801D3AB4:
/* 801D3AB4 001CF714 C8 41 01 00 */ lfd f2, 0x100(r1)
/* 801D3AB8 001CF718 FC 00 30 50 */ fneg f0, f6
/* 801D3ABC 001CF71C C8 21 01 08 */ lfd f1, 0x108(r1)
/* 801D3AC0 001CF720 FC 40 10 50 */ fneg f2, f2
/* 801D3AC4 001CF724 FC 20 08 50 */ fneg f1, f1
/* 801D3AC8 001CF728 D8 11 00 10 */ stfd f0, 0x10(r17)
/* 801D3ACC 001CF72C D8 51 00 00 */ stfd f2, 0(r17)
/* 801D3AD0 001CF730 D8 31 00 08 */ stfd f1, 8(r17)
lbl_801D3AD4:
/* 801D3AD4 001CF734 39 61 03 70 */ addi r11, r1, 0x370
/* 801D3AD8 001CF738 56 83 07 7E */ clrlwi r3, r20, 0x1d
/* 801D3ADC 001CF73C 4B FF 35 F1 */ bl func_801C70CC
/* 801D3AE0 001CF740 B9 C1 02 E0 */ lmw r14, 0x2e0(r1)
/* 801D3AE4 001CF744 80 01 03 74 */ lwz r0, 0x374(r1)
/* 801D3AE8 001CF748 7C 08 03 A6 */ mtlr r0
/* 801D3AEC 001CF74C 38 21 03 70 */ addi r1, r1, 0x370
/* 801D3AF0 001CF750 4E 80 00 20 */ blr
.global func_801D3AF4
func_801D3AF4:
/* 801D3AF4 001CF754 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D3AF8 001CF758 3C 00 3E 40 */ lis r0, 0x3e40
/* 801D3AFC 001CF75C D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3B00 001CF760 80 81 00 08 */ lwz r4, 8(r1)
/* 801D3B04 001CF764 54 84 00 7E */ clrlwi r4, r4, 1
/* 801D3B08 001CF768 7C 04 00 00 */ cmpw r4, r0
/* 801D3B0C 001CF76C 40 80 00 1C */ bge lbl_801D3B28
/* 801D3B10 001CF770 FC 00 08 1E */ fctiwz f0, f1
/* 801D3B14 001CF774 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D3B18 001CF778 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D3B1C 001CF77C 2C 00 00 00 */ cmpwi r0, 0
/* 801D3B20 001CF780 40 82 00 08 */ bne lbl_801D3B28
/* 801D3B24 001CF784 48 00 00 88 */ b lbl_801D3BAC
lbl_801D3B28:
/* 801D3B28 001CF788 FC E1 00 72 */ fmul f7, f1, f1
/* 801D3B2C 001CF78C C8 02 95 08 */ lfd f0, lbl_80641B08-_SDA2_BASE_(r2)
/* 801D3B30 001CF790 C8 A2 95 00 */ lfd f5, lbl_80641B00-_SDA2_BASE_(r2)
/* 801D3B34 001CF794 2C 03 00 00 */ cmpwi r3, 0
/* 801D3B38 001CF798 C8 82 94 F8 */ lfd f4, lbl_80641AF8-_SDA2_BASE_(r2)
/* 801D3B3C 001CF79C C8 62 94 F0 */ lfd f3, lbl_80641AF0-_SDA2_BASE_(r2)
/* 801D3B40 001CF7A0 FC C0 01 F2 */ fmul f6, f0, f7
/* 801D3B44 001CF7A4 C8 02 94 E8 */ lfd f0, lbl_80641AE8-_SDA2_BASE_(r2)
/* 801D3B48 001CF7A8 FD 07 00 72 */ fmul f8, f7, f1
/* 801D3B4C 001CF7AC FC A5 30 2A */ fadd f5, f5, f6
/* 801D3B50 001CF7B0 FC A7 01 72 */ fmul f5, f7, f5
/* 801D3B54 001CF7B4 FC 84 28 2A */ fadd f4, f4, f5
/* 801D3B58 001CF7B8 FC 87 01 32 */ fmul f4, f7, f4
/* 801D3B5C 001CF7BC FC 63 20 2A */ fadd f3, f3, f4
/* 801D3B60 001CF7C0 FC 67 00 F2 */ fmul f3, f7, f3
/* 801D3B64 001CF7C4 FC 00 18 2A */ fadd f0, f0, f3
/* 801D3B68 001CF7C8 40 82 00 1C */ bne lbl_801D3B84
/* 801D3B6C 001CF7CC FC 47 00 32 */ fmul f2, f7, f0
/* 801D3B70 001CF7D0 C8 02 95 10 */ lfd f0, lbl_80641B10-_SDA2_BASE_(r2)
/* 801D3B74 001CF7D4 FC 00 10 2A */ fadd f0, f0, f2
/* 801D3B78 001CF7D8 FC 08 00 32 */ fmul f0, f8, f0
/* 801D3B7C 001CF7DC FC 21 00 2A */ fadd f1, f1, f0
/* 801D3B80 001CF7E0 48 00 00 2C */ b lbl_801D3BAC
lbl_801D3B84:
/* 801D3B84 001CF7E4 C8 82 95 18 */ lfd f4, lbl_80641B18-_SDA2_BASE_(r2)
/* 801D3B88 001CF7E8 FC 68 00 32 */ fmul f3, f8, f0
/* 801D3B8C 001CF7EC C8 02 95 10 */ lfd f0, lbl_80641B10-_SDA2_BASE_(r2)
/* 801D3B90 001CF7F0 FC 84 00 B2 */ fmul f4, f4, f2
/* 801D3B94 001CF7F4 FC 00 02 32 */ fmul f0, f0, f8
/* 801D3B98 001CF7F8 FC 64 18 28 */ fsub f3, f4, f3
/* 801D3B9C 001CF7FC FC 67 00 F2 */ fmul f3, f7, f3
/* 801D3BA0 001CF800 FC 43 10 28 */ fsub f2, f3, f2
/* 801D3BA4 001CF804 FC 02 00 28 */ fsub f0, f2, f0
/* 801D3BA8 001CF808 FC 21 00 28 */ fsub f1, f1, f0
lbl_801D3BAC:
/* 801D3BAC 001CF80C 38 21 00 20 */ addi r1, r1, 0x20
/* 801D3BB0 001CF810 4E 80 00 20 */ blr
.global func_801D3BB4
func_801D3BB4:
/* 801D3BB4 001CF814 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D3BB8 001CF818 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 801D3BBC 001CF81C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 801D3BC0 001CF820 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 801D3BC4 001CF824 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 801D3BC8 001CF828 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3BCC 001CF82C 3C 00 3E 30 */ lis r0, 0x3e30
/* 801D3BD0 001CF830 81 01 00 08 */ lwz r8, 8(r1)
/* 801D3BD4 001CF834 55 07 00 7E */ clrlwi r7, r8, 1
/* 801D3BD8 001CF838 7C 07 00 00 */ cmpw r7, r0
/* 801D3BDC 001CF83C 40 80 00 54 */ bge lbl_801D3C30
/* 801D3BE0 001CF840 FC 00 08 1E */ fctiwz f0, f1
/* 801D3BE4 001CF844 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 801D3BE8 001CF848 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D3BEC 001CF84C 2C 00 00 00 */ cmpwi r0, 0
/* 801D3BF0 001CF850 40 82 00 40 */ bne lbl_801D3C30
/* 801D3BF4 001CF854 38 83 00 01 */ addi r4, r3, 1
/* 801D3BF8 001CF858 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D3BFC 001CF85C 7C 84 3B 78 */ or r4, r4, r7
/* 801D3C00 001CF860 7C 80 03 79 */ or. r0, r4, r0
/* 801D3C04 001CF864 40 82 00 14 */ bne lbl_801D3C18
/* 801D3C08 001CF868 FC 20 0A 10 */ fabs f1, f1
/* 801D3C0C 001CF86C C8 02 95 20 */ lfd f0, lbl_80641B20-_SDA2_BASE_(r2)
/* 801D3C10 001CF870 FC 20 08 24 */ fdiv f1, f0, f1
/* 801D3C14 001CF874 48 00 01 E0 */ b lbl_801D3DF4
lbl_801D3C18:
/* 801D3C18 001CF878 2C 03 00 01 */ cmpwi r3, 1
/* 801D3C1C 001CF87C 40 82 00 08 */ bne lbl_801D3C24
/* 801D3C20 001CF880 48 00 01 D4 */ b lbl_801D3DF4
lbl_801D3C24:
/* 801D3C24 001CF884 C8 02 95 28 */ lfd f0, lbl_80641B28-_SDA2_BASE_(r2)
/* 801D3C28 001CF888 FC 20 08 24 */ fdiv f1, f0, f1
/* 801D3C2C 001CF88C 48 00 01 C8 */ b lbl_801D3DF4
lbl_801D3C30:
/* 801D3C30 001CF890 3C 80 3F E6 */ lis r4, 0x3FE59428@ha
/* 801D3C34 001CF894 38 04 94 28 */ addi r0, r4, 0x3FE59428@l
/* 801D3C38 001CF898 7C 07 00 00 */ cmpw r7, r0
/* 801D3C3C 001CF89C 41 80 00 30 */ blt lbl_801D3C6C
/* 801D3C40 001CF8A0 2C 08 00 00 */ cmpwi r8, 0
/* 801D3C44 001CF8A4 40 80 00 0C */ bge lbl_801D3C50
/* 801D3C48 001CF8A8 FC 20 08 50 */ fneg f1, f1
/* 801D3C4C 001CF8AC FC 40 10 50 */ fneg f2, f2
lbl_801D3C50:
/* 801D3C50 001CF8B0 C8 62 95 30 */ lfd f3, lbl_80641B30-_SDA2_BASE_(r2)
/* 801D3C54 001CF8B4 C8 02 95 38 */ lfd f0, lbl_80641B38-_SDA2_BASE_(r2)
/* 801D3C58 001CF8B8 FC 23 08 28 */ fsub f1, f3, f1
/* 801D3C5C 001CF8BC FC 00 10 28 */ fsub f0, f0, f2
/* 801D3C60 001CF8C0 C8 42 95 40 */ lfd f2, lbl_80641B40-_SDA2_BASE_(r2)
/* 801D3C64 001CF8C4 FC 21 00 2A */ fadd f1, f1, f0
/* 801D3C68 001CF8C8 D8 21 00 08 */ stfd f1, 8(r1)
lbl_801D3C6C:
/* 801D3C6C 001CF8CC FC 01 00 72 */ fmul f0, f1, f1
/* 801D3C70 001CF8D0 3C C0 80 40 */ lis r6, lbl_803FD540@ha
/* 801D3C74 001CF8D4 38 A6 D5 40 */ addi r5, r6, lbl_803FD540@l
/* 801D3C78 001CF8D8 3C 80 3F E6 */ lis r4, 0x3FE59428@ha
/* 801D3C7C 001CF8DC 38 04 94 28 */ addi r0, r4, 0x3FE59428@l
/* 801D3C80 001CF8E0 C8 A5 00 60 */ lfd f5, 0x60(r5)
/* 801D3C84 001CF8E4 FC 60 00 32 */ fmul f3, f0, f0
/* 801D3C88 001CF8E8 C9 05 00 58 */ lfd f8, 0x58(r5)
/* 801D3C8C 001CF8EC C8 C5 00 50 */ lfd f6, 0x50(r5)
/* 801D3C90 001CF8F0 7C 07 00 00 */ cmpw r7, r0
/* 801D3C94 001CF8F4 C9 45 00 48 */ lfd f10, 0x48(r5)
/* 801D3C98 001CF8F8 FC 80 00 72 */ fmul f4, f0, f1
/* 801D3C9C 001CF8FC FC E3 01 72 */ fmul f7, f3, f5
/* 801D3CA0 001CF900 C8 A6 D5 40 */ lfd f5, -0x2ac0(r6)
/* 801D3CA4 001CF904 C9 25 00 40 */ lfd f9, 0x40(r5)
/* 801D3CA8 001CF908 FD 63 02 32 */ fmul f11, f3, f8
/* 801D3CAC 001CF90C CB E5 00 38 */ lfd f31, 0x38(r5)
/* 801D3CB0 001CF910 C9 05 00 30 */ lfd f8, 0x30(r5)
/* 801D3CB4 001CF914 FC C6 38 2A */ fadd f6, f6, f7
/* 801D3CB8 001CF918 C9 A5 00 28 */ lfd f13, 0x28(r5)
/* 801D3CBC 001CF91C FF CA 58 2A */ fadd f30, f10, f11
/* 801D3CC0 001CF920 C8 E5 00 20 */ lfd f7, 0x20(r5)
/* 801D3CC4 001CF924 FC A5 01 32 */ fmul f5, f5, f4
/* 801D3CC8 001CF928 C9 85 00 18 */ lfd f12, 0x18(r5)
/* 801D3CCC 001CF92C FD 43 01 B2 */ fmul f10, f3, f6
/* 801D3CD0 001CF930 C8 C5 00 10 */ lfd f6, 0x10(r5)
/* 801D3CD4 001CF934 C9 65 00 08 */ lfd f11, 8(r5)
/* 801D3CD8 001CF938 FF C3 07 B2 */ fmul f30, f3, f30
/* 801D3CDC 001CF93C D8 01 00 18 */ stfd f0, 0x18(r1)
/* 801D3CE0 001CF940 FD 29 50 2A */ fadd f9, f9, f10
/* 801D3CE4 001CF944 FD 5F F0 2A */ fadd f10, f31, f30
/* 801D3CE8 001CF948 FD 23 02 72 */ fmul f9, f3, f9
/* 801D3CEC 001CF94C FD 43 02 B2 */ fmul f10, f3, f10
/* 801D3CF0 001CF950 FD 08 48 2A */ fadd f8, f8, f9
/* 801D3CF4 001CF954 FD 2D 50 2A */ fadd f9, f13, f10
/* 801D3CF8 001CF958 FD 03 02 32 */ fmul f8, f3, f8
/* 801D3CFC 001CF95C FD 23 02 72 */ fmul f9, f3, f9
/* 801D3D00 001CF960 FC E7 40 2A */ fadd f7, f7, f8
/* 801D3D04 001CF964 FD 0C 48 2A */ fadd f8, f12, f9
/* 801D3D08 001CF968 FC E3 01 F2 */ fmul f7, f3, f7
/* 801D3D0C 001CF96C FD 03 02 32 */ fmul f8, f3, f8
/* 801D3D10 001CF970 FC 66 38 2A */ fadd f3, f6, f7
/* 801D3D14 001CF974 FC CB 40 2A */ fadd f6, f11, f8
/* 801D3D18 001CF978 FC 60 00 F2 */ fmul f3, f0, f3
/* 801D3D1C 001CF97C FC 66 18 2A */ fadd f3, f6, f3
/* 801D3D20 001CF980 FC 64 00 F2 */ fmul f3, f4, f3
/* 801D3D24 001CF984 FC 62 18 2A */ fadd f3, f2, f3
/* 801D3D28 001CF988 FC 00 00 F2 */ fmul f0, f0, f3
/* 801D3D2C 001CF98C FC C2 00 2A */ fadd f6, f2, f0
/* 801D3D30 001CF990 FC C6 28 2A */ fadd f6, f6, f5
/* 801D3D34 001CF994 FC 81 30 2A */ fadd f4, f1, f6
/* 801D3D38 001CF998 41 80 00 64 */ blt lbl_801D3D9C
/* 801D3D3C 001CF99C 3C 80 43 30 */ lis r4, 0x4330
/* 801D3D40 001CF9A0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 801D3D44 001CF9A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D3D48 001CF9A8 55 00 17 BC */ rlwinm r0, r8, 2, 0x1e, 0x1e
/* 801D3D4C 001CF9AC 20 00 00 01 */ subfic r0, r0, 1
/* 801D3D50 001CF9B0 C8 A2 95 50 */ lfd f5, lbl_80641B50-_SDA2_BASE_(r2)
/* 801D3D54 001CF9B4 90 81 00 20 */ stw r4, 0x20(r1)
/* 801D3D58 001CF9B8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D3D5C 001CF9BC FC 64 01 32 */ fmul f3, f4, f4
/* 801D3D60 001CF9C0 C8 02 95 48 */ lfd f0, lbl_80641B48-_SDA2_BASE_(r2)
/* 801D3D64 001CF9C4 C8 41 00 20 */ lfd f2, 0x20(r1)
/* 801D3D68 001CF9C8 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801D3D6C 001CF9CC FC E2 28 28 */ fsub f7, f2, f5
/* 801D3D70 001CF9D0 90 81 00 28 */ stw r4, 0x28(r1)
/* 801D3D74 001CF9D4 FC 44 38 2A */ fadd f2, f4, f7
/* 801D3D78 001CF9D8 C8 81 00 28 */ lfd f4, 0x28(r1)
/* 801D3D7C 001CF9DC FC 84 28 28 */ fsub f4, f4, f5
/* 801D3D80 001CF9E0 FC 43 10 24 */ fdiv f2, f3, f2
/* 801D3D84 001CF9E4 FC 42 30 28 */ fsub f2, f2, f6
/* 801D3D88 001CF9E8 FC 21 10 28 */ fsub f1, f1, f2
/* 801D3D8C 001CF9EC FC 00 00 72 */ fmul f0, f0, f1
/* 801D3D90 001CF9F0 FC 07 00 28 */ fsub f0, f7, f0
/* 801D3D94 001CF9F4 FC 24 00 32 */ fmul f1, f4, f0
/* 801D3D98 001CF9F8 48 00 00 5C */ b lbl_801D3DF4
lbl_801D3D9C:
/* 801D3D9C 001CF9FC 2C 03 00 01 */ cmpwi r3, 1
/* 801D3DA0 001CFA00 40 82 00 0C */ bne lbl_801D3DAC
/* 801D3DA4 001CFA04 FC 20 20 90 */ fmr f1, f4
/* 801D3DA8 001CFA08 48 00 00 4C */ b lbl_801D3DF4
lbl_801D3DAC:
/* 801D3DAC 001CFA0C C8 02 95 28 */ lfd f0, lbl_80641B28-_SDA2_BASE_(r2)
/* 801D3DB0 001CFA10 38 00 00 00 */ li r0, 0
/* 801D3DB4 001CFA14 D8 81 00 18 */ stfd f4, 0x18(r1)
/* 801D3DB8 001CFA18 FC A0 20 24 */ fdiv f5, f0, f4
/* 801D3DBC 001CFA1C C8 42 95 20 */ lfd f2, lbl_80641B20-_SDA2_BASE_(r2)
/* 801D3DC0 001CFA20 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D3DC4 001CFA24 C8 81 00 18 */ lfd f4, 0x18(r1)
/* 801D3DC8 001CFA28 D8 A1 00 10 */ stfd f5, 0x10(r1)
/* 801D3DCC 001CFA2C FC 04 08 28 */ fsub f0, f4, f1
/* 801D3DD0 001CFA30 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3DD4 001CFA34 FC 06 00 28 */ fsub f0, f6, f0
/* 801D3DD8 001CFA38 C8 61 00 10 */ lfd f3, 0x10(r1)
/* 801D3DDC 001CFA3C FC 23 01 32 */ fmul f1, f3, f4
/* 801D3DE0 001CFA40 FC 03 00 32 */ fmul f0, f3, f0
/* 801D3DE4 001CFA44 FC 22 08 2A */ fadd f1, f2, f1
/* 801D3DE8 001CFA48 FC 01 00 2A */ fadd f0, f1, f0
/* 801D3DEC 001CFA4C FC 05 00 32 */ fmul f0, f5, f0
/* 801D3DF0 001CFA50 FC 23 00 2A */ fadd f1, f3, f0
lbl_801D3DF4:
/* 801D3DF4 001CFA54 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 801D3DF8 001CFA58 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 801D3DFC 001CFA5C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 801D3E00 001CFA60 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 801D3E04 001CFA64 38 21 00 50 */ addi r1, r1, 0x50
/* 801D3E08 001CFA68 4E 80 00 20 */ blr
.global func_801D3E0C
func_801D3E0C:
/* 801D3E0C 001CFA6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D3E10 001CFA70 3C A0 80 40 */ lis r5, lbl_803FD5A8@ha
/* 801D3E14 001CFA74 3C 00 44 10 */ lis r0, 0x4410
/* 801D3E18 001CFA78 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3E1C 001CFA7C 38 A5 D5 A8 */ addi r5, r5, lbl_803FD5A8@l
/* 801D3E20 001CFA80 80 C1 00 08 */ lwz r6, 8(r1)
/* 801D3E24 001CFA84 54 C4 00 7E */ clrlwi r4, r6, 1
/* 801D3E28 001CFA88 7C 04 00 00 */ cmpw r4, r0
/* 801D3E2C 001CFA8C 41 80 00 6C */ blt lbl_801D3E98
/* 801D3E30 001CFA90 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D3E34 001CFA94 7C 04 00 00 */ cmpw r4, r0
/* 801D3E38 001CFA98 41 81 00 1C */ bgt lbl_801D3E54
/* 801D3E3C 001CFA9C 3C 04 80 10 */ addis r0, r4, 0x8010
/* 801D3E40 001CFAA0 28 00 00 00 */ cmplwi r0, 0
/* 801D3E44 001CFAA4 40 82 00 18 */ bne lbl_801D3E5C
/* 801D3E48 001CFAA8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D3E4C 001CFAAC 2C 00 00 00 */ cmpwi r0, 0
/* 801D3E50 001CFAB0 41 82 00 0C */ beq lbl_801D3E5C
lbl_801D3E54:
/* 801D3E54 001CFAB4 FC 21 08 2A */ fadd f1, f1, f1
/* 801D3E58 001CFAB8 48 00 01 EC */ b lbl_801D4044
lbl_801D3E5C:
/* 801D3E5C 001CFABC 2C 06 00 00 */ cmpwi r6, 0
/* 801D3E60 001CFAC0 40 81 00 1C */ ble lbl_801D3E7C
/* 801D3E64 001CFAC4 38 85 00 00 */ addi r4, r5, 0
/* 801D3E68 001CFAC8 38 65 00 20 */ addi r3, r5, 0x20
/* 801D3E6C 001CFACC C8 24 00 18 */ lfd f1, 0x18(r4)
/* 801D3E70 001CFAD0 C8 03 00 18 */ lfd f0, 0x18(r3)
/* 801D3E74 001CFAD4 FC 21 00 2A */ fadd f1, f1, f0
/* 801D3E78 001CFAD8 48 00 01 CC */ b lbl_801D4044
lbl_801D3E7C:
/* 801D3E7C 001CFADC 38 85 00 00 */ addi r4, r5, 0
/* 801D3E80 001CFAE0 38 65 00 20 */ addi r3, r5, 0x20
/* 801D3E84 001CFAE4 C8 24 00 18 */ lfd f1, 0x18(r4)
/* 801D3E88 001CFAE8 C8 03 00 18 */ lfd f0, 0x18(r3)
/* 801D3E8C 001CFAEC FC 20 08 50 */ fneg f1, f1
/* 801D3E90 001CFAF0 FC 21 00 28 */ fsub f1, f1, f0
/* 801D3E94 001CFAF4 48 00 01 B0 */ b lbl_801D4044
lbl_801D3E98:
/* 801D3E98 001CFAF8 3C 00 3F DC */ lis r0, 0x3fdc
/* 801D3E9C 001CFAFC 7C 04 00 00 */ cmpw r4, r0
/* 801D3EA0 001CFB00 40 80 00 30 */ bge lbl_801D3ED0
/* 801D3EA4 001CFB04 3C 00 3E 20 */ lis r0, 0x3e20
/* 801D3EA8 001CFB08 7C 04 00 00 */ cmpw r4, r0
/* 801D3EAC 001CFB0C 40 80 00 1C */ bge lbl_801D3EC8
/* 801D3EB0 001CFB10 C8 42 95 58 */ lfd f2, lbl_80641B58-_SDA2_BASE_(r2)
/* 801D3EB4 001CFB14 C8 02 95 60 */ lfd f0, lbl_80641B60-_SDA2_BASE_(r2)
/* 801D3EB8 001CFB18 FC 42 08 2A */ fadd f2, f2, f1
/* 801D3EBC 001CFB1C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801D3EC0 001CFB20 40 81 00 08 */ ble lbl_801D3EC8
/* 801D3EC4 001CFB24 48 00 01 80 */ b lbl_801D4044
lbl_801D3EC8:
/* 801D3EC8 001CFB28 38 00 FF FF */ li r0, -1
/* 801D3ECC 001CFB2C 48 00 00 A4 */ b lbl_801D3F70
lbl_801D3ED0:
/* 801D3ED0 001CFB30 3C 00 3F F3 */ lis r0, 0x3ff3
/* 801D3ED4 001CFB34 FC 60 0A 10 */ fabs f3, f1
/* 801D3ED8 001CFB38 7C 04 00 00 */ cmpw r4, r0
/* 801D3EDC 001CFB3C 40 80 00 50 */ bge lbl_801D3F2C
/* 801D3EE0 001CFB40 3C 00 3F E6 */ lis r0, 0x3fe6
/* 801D3EE4 001CFB44 7C 04 00 00 */ cmpw r4, r0
/* 801D3EE8 001CFB48 40 80 00 28 */ bge lbl_801D3F10
/* 801D3EEC 001CFB4C C8 02 95 68 */ lfd f0, lbl_80641B68-_SDA2_BASE_(r2)
/* 801D3EF0 001CFB50 38 00 00 00 */ li r0, 0
/* 801D3EF4 001CFB54 C8 22 95 60 */ lfd f1, lbl_80641B60-_SDA2_BASE_(r2)
/* 801D3EF8 001CFB58 FC 40 00 F2 */ fmul f2, f0, f3
/* 801D3EFC 001CFB5C FC 00 18 2A */ fadd f0, f0, f3
/* 801D3F00 001CFB60 FC 22 08 28 */ fsub f1, f2, f1
/* 801D3F04 001CFB64 FC 21 00 24 */ fdiv f1, f1, f0
/* 801D3F08 001CFB68 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3F0C 001CFB6C 48 00 00 64 */ b lbl_801D3F70
lbl_801D3F10:
/* 801D3F10 001CFB70 C8 02 95 60 */ lfd f0, lbl_80641B60-_SDA2_BASE_(r2)
/* 801D3F14 001CFB74 38 00 00 01 */ li r0, 1
/* 801D3F18 001CFB78 FC 23 00 28 */ fsub f1, f3, f0
/* 801D3F1C 001CFB7C FC 00 18 2A */ fadd f0, f0, f3
/* 801D3F20 001CFB80 FC 21 00 24 */ fdiv f1, f1, f0
/* 801D3F24 001CFB84 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3F28 001CFB88 48 00 00 48 */ b lbl_801D3F70
lbl_801D3F2C:
/* 801D3F2C 001CFB8C 3C 60 40 04 */ lis r3, 0x40038000@ha
/* 801D3F30 001CFB90 38 03 80 00 */ addi r0, r3, 0x40038000@l
/* 801D3F34 001CFB94 7C 04 00 00 */ cmpw r4, r0
/* 801D3F38 001CFB98 40 80 00 28 */ bge lbl_801D3F60
/* 801D3F3C 001CFB9C C8 42 95 70 */ lfd f2, lbl_80641B70-_SDA2_BASE_(r2)
/* 801D3F40 001CFBA0 38 00 00 02 */ li r0, 2
/* 801D3F44 001CFBA4 C8 02 95 60 */ lfd f0, lbl_80641B60-_SDA2_BASE_(r2)
/* 801D3F48 001CFBA8 FC 22 00 F2 */ fmul f1, f2, f3
/* 801D3F4C 001CFBAC FC 43 10 28 */ fsub f2, f3, f2
/* 801D3F50 001CFBB0 FC 00 08 2A */ fadd f0, f0, f1
/* 801D3F54 001CFBB4 FC 22 00 24 */ fdiv f1, f2, f0
/* 801D3F58 001CFBB8 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3F5C 001CFBBC 48 00 00 14 */ b lbl_801D3F70
lbl_801D3F60:
/* 801D3F60 001CFBC0 C8 02 95 78 */ lfd f0, lbl_80641B78-_SDA2_BASE_(r2)
/* 801D3F64 001CFBC4 38 00 00 03 */ li r0, 3
/* 801D3F68 001CFBC8 FC 20 18 24 */ fdiv f1, f0, f3
/* 801D3F6C 001CFBCC D8 21 00 08 */ stfd f1, 8(r1)
lbl_801D3F70:
/* 801D3F70 001CFBD0 FC 01 00 72 */ fmul f0, f1, f1
/* 801D3F74 001CFBD4 38 65 00 40 */ addi r3, r5, 0x40
/* 801D3F78 001CFBD8 C8 63 00 50 */ lfd f3, 0x50(r3)
/* 801D3F7C 001CFBDC 2C 00 00 00 */ cmpwi r0, 0
/* 801D3F80 001CFBE0 C8 43 00 48 */ lfd f2, 0x48(r3)
/* 801D3F84 001CFBE4 C9 63 00 40 */ lfd f11, 0x40(r3)
/* 801D3F88 001CFBE8 FD A0 00 32 */ fmul f13, f0, f0
/* 801D3F8C 001CFBEC C8 A3 00 38 */ lfd f5, 0x38(r3)
/* 801D3F90 001CFBF0 C9 43 00 30 */ lfd f10, 0x30(r3)
/* 801D3F94 001CFBF4 C8 83 00 28 */ lfd f4, 0x28(r3)
/* 801D3F98 001CFBF8 C9 23 00 20 */ lfd f9, 0x20(r3)
/* 801D3F9C 001CFBFC FD 8D 00 F2 */ fmul f12, f13, f3
/* 801D3FA0 001CFC00 C8 63 00 18 */ lfd f3, 0x18(r3)
/* 801D3FA4 001CFC04 FC CD 00 B2 */ fmul f6, f13, f2
/* 801D3FA8 001CFC08 C9 03 00 10 */ lfd f8, 0x10(r3)
/* 801D3FAC 001CFC0C C8 43 00 08 */ lfd f2, 8(r3)
/* 801D3FB0 001CFC10 FD 6B 60 2A */ fadd f11, f11, f12
/* 801D3FB4 001CFC14 C8 E5 00 40 */ lfd f7, 0x40(r5)
/* 801D3FB8 001CFC18 FC A5 30 2A */ fadd f5, f5, f6
/* 801D3FBC 001CFC1C FC CD 02 F2 */ fmul f6, f13, f11
/* 801D3FC0 001CFC20 FC AD 01 72 */ fmul f5, f13, f5
/* 801D3FC4 001CFC24 FC CA 30 2A */ fadd f6, f10, f6
/* 801D3FC8 001CFC28 FC 84 28 2A */ fadd f4, f4, f5
/* 801D3FCC 001CFC2C FC AD 01 B2 */ fmul f5, f13, f6
/* 801D3FD0 001CFC30 FC 8D 01 32 */ fmul f4, f13, f4
/* 801D3FD4 001CFC34 FC A9 28 2A */ fadd f5, f9, f5
/* 801D3FD8 001CFC38 FC 63 20 2A */ fadd f3, f3, f4
/* 801D3FDC 001CFC3C FC 8D 01 72 */ fmul f4, f13, f5
/* 801D3FE0 001CFC40 FC 6D 00 F2 */ fmul f3, f13, f3
/* 801D3FE4 001CFC44 FC 88 20 2A */ fadd f4, f8, f4
/* 801D3FE8 001CFC48 FC 42 18 2A */ fadd f2, f2, f3
/* 801D3FEC 001CFC4C FC 6D 01 32 */ fmul f3, f13, f4
/* 801D3FF0 001CFC50 FC 8D 00 B2 */ fmul f4, f13, f2
/* 801D3FF4 001CFC54 FC 47 18 2A */ fadd f2, f7, f3
/* 801D3FF8 001CFC58 FC 00 00 B2 */ fmul f0, f0, f2
/* 801D3FFC 001CFC5C 40 80 00 14 */ bge lbl_801D4010
/* 801D4000 001CFC60 FC 00 20 2A */ fadd f0, f0, f4
/* 801D4004 001CFC64 FC 01 00 32 */ fmul f0, f1, f0
/* 801D4008 001CFC68 FC 21 00 28 */ fsub f1, f1, f0
/* 801D400C 001CFC6C 48 00 00 38 */ b lbl_801D4044
lbl_801D4010:
/* 801D4010 001CFC70 FC 00 20 2A */ fadd f0, f0, f4
/* 801D4014 001CFC74 54 00 18 38 */ slwi r0, r0, 3
/* 801D4018 001CFC78 38 65 00 20 */ addi r3, r5, 0x20
/* 801D401C 001CFC7C 38 85 00 00 */ addi r4, r5, 0
/* 801D4020 001CFC80 7C 43 04 AE */ lfdx f2, r3, r0
/* 801D4024 001CFC84 2C 06 00 00 */ cmpwi r6, 0
/* 801D4028 001CFC88 FC 61 00 32 */ fmul f3, f1, f0
/* 801D402C 001CFC8C 7C 04 04 AE */ lfdx f0, r4, r0
/* 801D4030 001CFC90 FC 43 10 28 */ fsub f2, f3, f2
/* 801D4034 001CFC94 FC 22 08 28 */ fsub f1, f2, f1
/* 801D4038 001CFC98 FC 20 08 28 */ fsub f1, f0, f1
/* 801D403C 001CFC9C 40 80 00 08 */ bge lbl_801D4044
/* 801D4040 001CFCA0 FC 20 08 50 */ fneg f1, f1
lbl_801D4044:
/* 801D4044 001CFCA4 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4048 001CFCA8 4E 80 00 20 */ blr
.global func_801D404C
func_801D404C:
/* 801D404C 001CFCAC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4050 001CFCB0 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D4054 001CFCB4 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 801D4058 001CFCB8 80 61 00 08 */ lwz r3, 8(r1)
/* 801D405C 001CFCBC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D4060 001CFCC0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
/* 801D4064 001CFCC4 50 60 00 7E */ rlwimi r0, r3, 0, 1, 0x1f
/* 801D4068 001CFCC8 90 01 00 08 */ stw r0, 8(r1)
/* 801D406C 001CFCCC C8 21 00 08 */ lfd f1, 8(r1)
/* 801D4070 001CFCD0 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4074 001CFCD4 4E 80 00 20 */ blr
.global func_801D4078
func_801D4078:
/* 801D4078 001CFCD8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D407C 001CFCDC 7C 08 02 A6 */ mflr r0
/* 801D4080 001CFCE0 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha
/* 801D4084 001CFCE4 C8 42 95 80 */ lfd f2, lbl_80641B80-_SDA2_BASE_(r2)
/* 801D4088 001CFCE8 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D408C 001CFCEC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4090 001CFCF0 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l
/* 801D4094 001CFCF4 80 61 00 08 */ lwz r3, 8(r1)
/* 801D4098 001CFCF8 54 63 00 7E */ clrlwi r3, r3, 1
/* 801D409C 001CFCFC 7C 03 00 00 */ cmpw r3, r0
/* 801D40A0 001CFD00 41 81 00 0C */ bgt lbl_801D40AC
/* 801D40A4 001CFD04 4B FF E2 35 */ bl func_801D22D8
/* 801D40A8 001CFD08 48 00 00 94 */ b lbl_801D413C
lbl_801D40AC:
/* 801D40AC 001CFD0C 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D40B0 001CFD10 7C 03 00 00 */ cmpw r3, r0
/* 801D40B4 001CFD14 41 80 00 0C */ blt lbl_801D40C0
/* 801D40B8 001CFD18 FC 21 08 28 */ fsub f1, f1, f1
/* 801D40BC 001CFD1C 48 00 00 80 */ b lbl_801D413C
lbl_801D40C0:
/* 801D40C0 001CFD20 38 61 00 10 */ addi r3, r1, 0x10
/* 801D40C4 001CFD24 4B FF DE 7D */ bl func_801D1F40
/* 801D40C8 001CFD28 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 801D40CC 001CFD2C 2C 00 00 01 */ cmpwi r0, 1
/* 801D40D0 001CFD30 41 82 00 30 */ beq lbl_801D4100
/* 801D40D4 001CFD34 40 80 00 10 */ bge lbl_801D40E4
/* 801D40D8 001CFD38 2C 00 00 00 */ cmpwi r0, 0
/* 801D40DC 001CFD3C 40 80 00 14 */ bge lbl_801D40F0
/* 801D40E0 001CFD40 48 00 00 4C */ b lbl_801D412C
lbl_801D40E4:
/* 801D40E4 001CFD44 2C 00 00 03 */ cmpwi r0, 3
/* 801D40E8 001CFD48 40 80 00 44 */ bge lbl_801D412C
/* 801D40EC 001CFD4C 48 00 00 2C */ b lbl_801D4118
lbl_801D40F0:
/* 801D40F0 001CFD50 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D40F4 001CFD54 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D40F8 001CFD58 4B FF E1 E1 */ bl func_801D22D8
/* 801D40FC 001CFD5C 48 00 00 40 */ b lbl_801D413C
lbl_801D4100:
/* 801D4100 001CFD60 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D4104 001CFD64 38 60 00 01 */ li r3, 1
/* 801D4108 001CFD68 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D410C 001CFD6C 4B FF F9 E9 */ bl func_801D3AF4
/* 801D4110 001CFD70 FC 20 08 50 */ fneg f1, f1
/* 801D4114 001CFD74 48 00 00 28 */ b lbl_801D413C
lbl_801D4118:
/* 801D4118 001CFD78 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D411C 001CFD7C C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D4120 001CFD80 4B FF E1 B9 */ bl func_801D22D8
/* 801D4124 001CFD84 FC 20 08 50 */ fneg f1, f1
/* 801D4128 001CFD88 48 00 00 14 */ b lbl_801D413C
lbl_801D412C:
/* 801D412C 001CFD8C C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D4130 001CFD90 38 60 00 01 */ li r3, 1
/* 801D4134 001CFD94 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D4138 001CFD98 4B FF F9 BD */ bl func_801D3AF4
lbl_801D413C:
/* 801D413C 001CFD9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4140 001CFDA0 7C 08 03 A6 */ mtlr r0
/* 801D4144 001CFDA4 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4148 001CFDA8 4E 80 00 20 */ blr
.global func_801D414C
func_801D414C:
/* 801D414C 001CFDAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4150 001CFDB0 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D4154 001CFDB4 80 A1 00 08 */ lwz r5, 8(r1)
/* 801D4158 001CFDB8 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 801D415C 001CFDBC 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f
/* 801D4160 001CFDC0 38 E3 FC 01 */ addi r7, r3, -1023
/* 801D4164 001CFDC4 2C 87 00 14 */ cmpwi cr1, r7, 0x14
/* 801D4168 001CFDC8 40 84 00 98 */ bge cr1, lbl_801D4200
/* 801D416C 001CFDCC 2C 07 00 00 */ cmpwi r7, 0
/* 801D4170 001CFDD0 40 80 00 44 */ bge lbl_801D41B4
/* 801D4174 001CFDD4 C8 42 95 88 */ lfd f2, lbl_80641B88-_SDA2_BASE_(r2)
/* 801D4178 001CFDD8 C8 02 95 90 */ lfd f0, lbl_80641B90-_SDA2_BASE_(r2)
/* 801D417C 001CFDDC FC 22 08 2A */ fadd f1, f2, f1
/* 801D4180 001CFDE0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801D4184 001CFDE4 40 81 00 F8 */ ble lbl_801D427C
/* 801D4188 001CFDE8 2C 05 00 00 */ cmpwi r5, 0
/* 801D418C 001CFDEC 41 80 00 10 */ blt lbl_801D419C
/* 801D4190 001CFDF0 38 C0 00 00 */ li r6, 0
/* 801D4194 001CFDF4 38 A0 00 00 */ li r5, 0
/* 801D4198 001CFDF8 48 00 00 E4 */ b lbl_801D427C
lbl_801D419C:
/* 801D419C 001CFDFC 54 A0 00 7E */ clrlwi r0, r5, 1
/* 801D41A0 001CFE00 7C 00 33 79 */ or. r0, r0, r6
/* 801D41A4 001CFE04 41 82 00 D8 */ beq lbl_801D427C
/* 801D41A8 001CFE08 3C A0 BF F0 */ lis r5, 0xbff0
/* 801D41AC 001CFE0C 38 C0 00 00 */ li r6, 0
/* 801D41B0 001CFE10 48 00 00 CC */ b lbl_801D427C
lbl_801D41B4:
/* 801D41B4 001CFE14 3C 60 00 10 */ lis r3, 0x000FFFFF@ha
/* 801D41B8 001CFE18 38 03 FF FF */ addi r0, r3, 0x000FFFFF@l
/* 801D41BC 001CFE1C 7C 04 3E 30 */ sraw r4, r0, r7
/* 801D41C0 001CFE20 7C A0 20 38 */ and r0, r5, r4
/* 801D41C4 001CFE24 7C C0 03 79 */ or. r0, r6, r0
/* 801D41C8 001CFE28 40 82 00 08 */ bne lbl_801D41D0
/* 801D41CC 001CFE2C 48 00 00 BC */ b lbl_801D4288
lbl_801D41D0:
/* 801D41D0 001CFE30 C8 42 95 88 */ lfd f2, lbl_80641B88-_SDA2_BASE_(r2)
/* 801D41D4 001CFE34 C8 02 95 90 */ lfd f0, lbl_80641B90-_SDA2_BASE_(r2)
/* 801D41D8 001CFE38 FC 22 08 2A */ fadd f1, f2, f1
/* 801D41DC 001CFE3C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801D41E0 001CFE40 40 81 00 9C */ ble lbl_801D427C
/* 801D41E4 001CFE44 2C 05 00 00 */ cmpwi r5, 0
/* 801D41E8 001CFE48 40 80 00 0C */ bge lbl_801D41F4
/* 801D41EC 001CFE4C 7C 60 3E 30 */ sraw r0, r3, r7
/* 801D41F0 001CFE50 7C A5 02 14 */ add r5, r5, r0
lbl_801D41F4:
/* 801D41F4 001CFE54 7C A5 20 78 */ andc r5, r5, r4
/* 801D41F8 001CFE58 38 C0 00 00 */ li r6, 0
/* 801D41FC 001CFE5C 48 00 00 80 */ b lbl_801D427C
lbl_801D4200:
/* 801D4200 001CFE60 2C 07 00 33 */ cmpwi r7, 0x33
/* 801D4204 001CFE64 40 81 00 14 */ ble lbl_801D4218
/* 801D4208 001CFE68 2C 07 04 00 */ cmpwi r7, 0x400
/* 801D420C 001CFE6C 40 82 00 7C */ bne lbl_801D4288
/* 801D4210 001CFE70 FC 21 08 2A */ fadd f1, f1, f1
/* 801D4214 001CFE74 48 00 00 74 */ b lbl_801D4288
lbl_801D4218:
/* 801D4218 001CFE78 38 07 FF EC */ addi r0, r7, -20
/* 801D421C 001CFE7C 38 60 FF FF */ li r3, -1
/* 801D4220 001CFE80 7C 64 04 30 */ srw r4, r3, r0
/* 801D4224 001CFE84 7C C0 20 39 */ and. r0, r6, r4
/* 801D4228 001CFE88 40 82 00 08 */ bne lbl_801D4230
/* 801D422C 001CFE8C 48 00 00 5C */ b lbl_801D4288
lbl_801D4230:
/* 801D4230 001CFE90 C8 42 95 88 */ lfd f2, lbl_80641B88-_SDA2_BASE_(r2)
/* 801D4234 001CFE94 C8 02 95 90 */ lfd f0, lbl_80641B90-_SDA2_BASE_(r2)
/* 801D4238 001CFE98 FC 22 08 2A */ fadd f1, f2, f1
/* 801D423C 001CFE9C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801D4240 001CFEA0 40 81 00 3C */ ble lbl_801D427C
/* 801D4244 001CFEA4 2C 05 00 00 */ cmpwi r5, 0
/* 801D4248 001CFEA8 40 80 00 30 */ bge lbl_801D4278
/* 801D424C 001CFEAC 40 86 00 0C */ bne cr1, lbl_801D4258
/* 801D4250 001CFEB0 38 A5 00 01 */ addi r5, r5, 1
/* 801D4254 001CFEB4 48 00 00 24 */ b lbl_801D4278
lbl_801D4258:
/* 801D4258 001CFEB8 20 07 00 34 */ subfic r0, r7, 0x34
/* 801D425C 001CFEBC 38 60 00 01 */ li r3, 1
/* 801D4260 001CFEC0 7C 60 00 30 */ slw r0, r3, r0
/* 801D4264 001CFEC4 7C 06 02 14 */ add r0, r6, r0
/* 801D4268 001CFEC8 7C 00 30 40 */ cmplw r0, r6
/* 801D426C 001CFECC 40 80 00 08 */ bge lbl_801D4274
/* 801D4270 001CFED0 38 A5 00 01 */ addi r5, r5, 1
lbl_801D4274:
/* 801D4274 001CFED4 7C 06 03 78 */ mr r6, r0
lbl_801D4278:
/* 801D4278 001CFED8 7C C6 20 78 */ andc r6, r6, r4
lbl_801D427C:
/* 801D427C 001CFEDC 90 A1 00 08 */ stw r5, 8(r1)
/* 801D4280 001CFEE0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801D4284 001CFEE4 C8 21 00 08 */ lfd f1, 8(r1)
lbl_801D4288:
/* 801D4288 001CFEE8 38 21 00 10 */ addi r1, r1, 0x10
/* 801D428C 001CFEEC 4E 80 00 20 */ blr
.global func_801D4290
func_801D4290:
/* 801D4290 001CFEF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4294 001CFEF4 38 80 00 00 */ li r4, 0
/* 801D4298 001CFEF8 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D429C 001CFEFC D8 21 00 08 */ stfd f1, 8(r1)
/* 801D42A0 001CFF00 80 A1 00 08 */ lwz r5, 8(r1)
/* 801D42A4 001CFF04 90 83 00 00 */ stw r4, 0(r3)
/* 801D42A8 001CFF08 54 A4 00 7E */ clrlwi r4, r5, 1
/* 801D42AC 001CFF0C 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 801D42B0 001CFF10 7C 04 00 00 */ cmpw r4, r0
/* 801D42B4 001CFF14 40 80 00 5C */ bge lbl_801D4310
/* 801D42B8 001CFF18 7C 80 33 79 */ or. r0, r4, r6
/* 801D42BC 001CFF1C 40 82 00 08 */ bne lbl_801D42C4
/* 801D42C0 001CFF20 48 00 00 50 */ b lbl_801D4310
lbl_801D42C4:
/* 801D42C4 001CFF24 3C 00 00 10 */ lis r0, 0x10
/* 801D42C8 001CFF28 7C 04 00 00 */ cmpw r4, r0
/* 801D42CC 001CFF2C 40 80 00 20 */ bge lbl_801D42EC
/* 801D42D0 001CFF30 C8 02 95 98 */ lfd f0, lbl_80641B98-_SDA2_BASE_(r2)
/* 801D42D4 001CFF34 38 00 FF CA */ li r0, -54
/* 801D42D8 001CFF38 90 03 00 00 */ stw r0, 0(r3)
/* 801D42DC 001CFF3C FC 21 00 32 */ fmul f1, f1, f0
/* 801D42E0 001CFF40 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D42E4 001CFF44 80 A1 00 08 */ lwz r5, 8(r1)
/* 801D42E8 001CFF48 54 A4 00 7E */ clrlwi r4, r5, 1
lbl_801D42EC:
/* 801D42EC 001CFF4C 54 A0 03 00 */ rlwinm r0, r5, 0, 0xc, 0
/* 801D42F0 001CFF50 80 A3 00 00 */ lwz r5, 0(r3)
/* 801D42F4 001CFF54 7C 84 A6 70 */ srawi r4, r4, 0x14
/* 801D42F8 001CFF58 64 00 3F E0 */ oris r0, r0, 0x3fe0
/* 801D42FC 001CFF5C 90 01 00 08 */ stw r0, 8(r1)
/* 801D4300 001CFF60 7C 84 2A 14 */ add r4, r4, r5
/* 801D4304 001CFF64 38 04 FC 02 */ addi r0, r4, -1022
/* 801D4308 001CFF68 90 03 00 00 */ stw r0, 0(r3)
/* 801D430C 001CFF6C C8 21 00 08 */ lfd f1, 8(r1)
lbl_801D4310:
/* 801D4310 001CFF70 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4314 001CFF74 4E 80 00 20 */ blr
.global func_801D4318
func_801D4318:
/* 801D4318 001CFF78 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D431C 001CFF7C 7C 08 02 A6 */ mflr r0
/* 801D4320 001CFF80 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4324 001CFF84 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 801D4328 001CFF88 FF E0 08 90 */ fmr f31, f1
/* 801D432C 001CFF8C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801D4330 001CFF90 7C 7F 1B 78 */ mr r31, r3
/* 801D4334 001CFF94 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D4338 001CFF98 4B FF 63 F9 */ bl func_801CA730
/* 801D433C 001CFF9C 2C 03 00 02 */ cmpwi r3, 2
/* 801D4340 001CFFA0 40 81 00 10 */ ble lbl_801D4350
/* 801D4344 001CFFA4 C8 02 95 A0 */ lfd f0, lbl_80641BA0-_SDA2_BASE_(r2)
/* 801D4348 001CFFA8 FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 801D434C 001CFFAC 40 82 00 0C */ bne lbl_801D4358
lbl_801D4350:
/* 801D4350 001CFFB0 FC 20 F8 90 */ fmr f1, f31
/* 801D4354 001CFFB4 48 00 01 18 */ b lbl_801D446C
lbl_801D4358:
/* 801D4358 001CFFB8 80 A1 00 08 */ lwz r5, 8(r1)
/* 801D435C 001CFFBC 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D4360 001CFFC0 54 A4 65 7F */ rlwinm. r4, r5, 0xc, 0x15, 0x1f
/* 801D4364 001CFFC4 40 82 00 4C */ bne lbl_801D43B0
/* 801D4368 001CFFC8 54 A0 00 7E */ clrlwi r0, r5, 1
/* 801D436C 001CFFCC 7C 60 03 79 */ or. r0, r3, r0
/* 801D4370 001CFFD0 40 82 00 0C */ bne lbl_801D437C
/* 801D4374 001CFFD4 FC 20 F8 90 */ fmr f1, f31
/* 801D4378 001CFFD8 48 00 00 F4 */ b lbl_801D446C
lbl_801D437C:
/* 801D437C 001CFFDC C8 02 95 A8 */ lfd f0, lbl_80641BA8-_SDA2_BASE_(r2)
/* 801D4380 001CFFE0 3C 60 FF FF */ lis r3, 0xFFFF3CB0@ha
/* 801D4384 001CFFE4 38 03 3C B0 */ addi r0, r3, 0xFFFF3CB0@l
/* 801D4388 001CFFE8 FF FF 00 32 */ fmul f31, f31, f0
/* 801D438C 001CFFEC 7C 1F 00 00 */ cmpw r31, r0
/* 801D4390 001CFFF0 DB E1 00 08 */ stfd f31, 8(r1)
/* 801D4394 001CFFF4 80 A1 00 08 */ lwz r5, 8(r1)
/* 801D4398 001CFFF8 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f
/* 801D439C 001CFFFC 38 83 FF CA */ addi r4, r3, -54
/* 801D43A0 001D0000 40 80 00 10 */ bge lbl_801D43B0
/* 801D43A4 001D0004 C8 02 95 B0 */ lfd f0, lbl_80641BB0-_SDA2_BASE_(r2)
/* 801D43A8 001D0008 FC 20 07 F2 */ fmul f1, f0, f31
/* 801D43AC 001D000C 48 00 00 C0 */ b lbl_801D446C
lbl_801D43B0:
/* 801D43B0 001D0010 2C 04 07 FF */ cmpwi r4, 0x7ff
/* 801D43B4 001D0014 40 82 00 0C */ bne lbl_801D43C0
/* 801D43B8 001D0018 FC 3F F8 2A */ fadd f1, f31, f31
/* 801D43BC 001D001C 48 00 00 B0 */ b lbl_801D446C
lbl_801D43C0:
/* 801D43C0 001D0020 7C 84 FA 14 */ add r4, r4, r31
/* 801D43C4 001D0024 2C 04 07 FE */ cmpwi r4, 0x7fe
/* 801D43C8 001D0028 40 81 00 1C */ ble lbl_801D43E4
/* 801D43CC 001D002C FC 40 F8 90 */ fmr f2, f31
/* 801D43D0 001D0030 C8 22 95 B8 */ lfd f1, lbl_80641BB8-_SDA2_BASE_(r2)
/* 801D43D4 001D0034 4B FF FC 79 */ bl func_801D404C
/* 801D43D8 001D0038 C8 02 95 B8 */ lfd f0, lbl_80641BB8-_SDA2_BASE_(r2)
/* 801D43DC 001D003C FC 20 00 72 */ fmul f1, f0, f1
/* 801D43E0 001D0040 48 00 00 8C */ b lbl_801D446C
lbl_801D43E4:
/* 801D43E4 001D0044 2C 04 00 00 */ cmpwi r4, 0
/* 801D43E8 001D0048 40 81 00 1C */ ble lbl_801D4404
/* 801D43EC 001D004C 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0
/* 801D43F0 001D0050 54 80 A0 16 */ slwi r0, r4, 0x14
/* 801D43F4 001D0054 7C 60 03 78 */ or r0, r3, r0
/* 801D43F8 001D0058 90 01 00 08 */ stw r0, 8(r1)
/* 801D43FC 001D005C C8 21 00 08 */ lfd f1, 8(r1)
/* 801D4400 001D0060 48 00 00 6C */ b lbl_801D446C
lbl_801D4404:
/* 801D4404 001D0064 2C 04 FF CA */ cmpwi r4, -54
/* 801D4408 001D0068 41 81 00 44 */ bgt lbl_801D444C
/* 801D440C 001D006C 3C 60 00 01 */ lis r3, 0x0000C350@ha
/* 801D4410 001D0070 38 03 C3 50 */ addi r0, r3, 0x0000C350@l
/* 801D4414 001D0074 7C 1F 00 00 */ cmpw r31, r0
/* 801D4418 001D0078 40 81 00 1C */ ble lbl_801D4434
/* 801D441C 001D007C FC 40 F8 90 */ fmr f2, f31
/* 801D4420 001D0080 C8 22 95 B8 */ lfd f1, lbl_80641BB8-_SDA2_BASE_(r2)
/* 801D4424 001D0084 4B FF FC 29 */ bl func_801D404C
/* 801D4428 001D0088 C8 02 95 B8 */ lfd f0, lbl_80641BB8-_SDA2_BASE_(r2)
/* 801D442C 001D008C FC 20 00 72 */ fmul f1, f0, f1
/* 801D4430 001D0090 48 00 00 3C */ b lbl_801D446C
lbl_801D4434:
/* 801D4434 001D0094 FC 40 F8 90 */ fmr f2, f31
/* 801D4438 001D0098 C8 22 95 B0 */ lfd f1, lbl_80641BB0-_SDA2_BASE_(r2)
/* 801D443C 001D009C 4B FF FC 11 */ bl func_801D404C
/* 801D4440 001D00A0 C8 02 95 B0 */ lfd f0, lbl_80641BB0-_SDA2_BASE_(r2)
/* 801D4444 001D00A4 FC 20 00 72 */ fmul f1, f0, f1
/* 801D4448 001D00A8 48 00 00 24 */ b lbl_801D446C
lbl_801D444C:
/* 801D444C 001D00AC 38 04 00 36 */ addi r0, r4, 0x36
/* 801D4450 001D00B0 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0
/* 801D4454 001D00B4 54 00 A0 16 */ slwi r0, r0, 0x14
/* 801D4458 001D00B8 C8 22 95 C0 */ lfd f1, lbl_80641BC0-_SDA2_BASE_(r2)
/* 801D445C 001D00BC 7C 60 03 78 */ or r0, r3, r0
/* 801D4460 001D00C0 90 01 00 08 */ stw r0, 8(r1)
/* 801D4464 001D00C4 C8 01 00 08 */ lfd f0, 8(r1)
/* 801D4468 001D00C8 FC 21 00 32 */ fmul f1, f1, f0
lbl_801D446C:
/* 801D446C 001D00CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4470 001D00D0 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 801D4474 001D00D4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 801D4478 001D00D8 7C 08 03 A6 */ mtlr r0
/* 801D447C 001D00DC 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4480 001D00E0 4E 80 00 20 */ blr
.global func_801D4484
func_801D4484:
/* 801D4484 001D00E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4488 001D00E8 7C 08 02 A6 */ mflr r0
/* 801D448C 001D00EC 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha
/* 801D4490 001D00F0 C8 42 95 C8 */ lfd f2, lbl_80641BC8-_SDA2_BASE_(r2)
/* 801D4494 001D00F4 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D4498 001D00F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D449C 001D00FC 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l
/* 801D44A0 001D0100 80 61 00 08 */ lwz r3, 8(r1)
/* 801D44A4 001D0104 54 63 00 7E */ clrlwi r3, r3, 1
/* 801D44A8 001D0108 7C 03 00 00 */ cmpw r3, r0
/* 801D44AC 001D010C 41 81 00 10 */ bgt lbl_801D44BC
/* 801D44B0 001D0110 38 60 00 00 */ li r3, 0
/* 801D44B4 001D0114 4B FF F6 41 */ bl func_801D3AF4
/* 801D44B8 001D0118 48 00 00 94 */ b lbl_801D454C
lbl_801D44BC:
/* 801D44BC 001D011C 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D44C0 001D0120 7C 03 00 00 */ cmpw r3, r0
/* 801D44C4 001D0124 41 80 00 0C */ blt lbl_801D44D0
/* 801D44C8 001D0128 FC 21 08 28 */ fsub f1, f1, f1
/* 801D44CC 001D012C 48 00 00 80 */ b lbl_801D454C
lbl_801D44D0:
/* 801D44D0 001D0130 38 61 00 10 */ addi r3, r1, 0x10
/* 801D44D4 001D0134 4B FF DA 6D */ bl func_801D1F40
/* 801D44D8 001D0138 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 801D44DC 001D013C 2C 00 00 01 */ cmpwi r0, 1
/* 801D44E0 001D0140 41 82 00 34 */ beq lbl_801D4514
/* 801D44E4 001D0144 40 80 00 10 */ bge lbl_801D44F4
/* 801D44E8 001D0148 2C 00 00 00 */ cmpwi r0, 0
/* 801D44EC 001D014C 40 80 00 14 */ bge lbl_801D4500
/* 801D44F0 001D0150 48 00 00 4C */ b lbl_801D453C
lbl_801D44F4:
/* 801D44F4 001D0154 2C 00 00 03 */ cmpwi r0, 3
/* 801D44F8 001D0158 40 80 00 44 */ bge lbl_801D453C
/* 801D44FC 001D015C 48 00 00 28 */ b lbl_801D4524
lbl_801D4500:
/* 801D4500 001D0160 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D4504 001D0164 38 60 00 01 */ li r3, 1
/* 801D4508 001D0168 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D450C 001D016C 4B FF F5 E9 */ bl func_801D3AF4
/* 801D4510 001D0170 48 00 00 3C */ b lbl_801D454C
lbl_801D4514:
/* 801D4514 001D0174 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D4518 001D0178 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D451C 001D017C 4B FF DD BD */ bl func_801D22D8
/* 801D4520 001D0180 48 00 00 2C */ b lbl_801D454C
lbl_801D4524:
/* 801D4524 001D0184 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D4528 001D0188 38 60 00 01 */ li r3, 1
/* 801D452C 001D018C C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D4530 001D0190 4B FF F5 C5 */ bl func_801D3AF4
/* 801D4534 001D0194 FC 20 08 50 */ fneg f1, f1
/* 801D4538 001D0198 48 00 00 14 */ b lbl_801D454C
lbl_801D453C:
/* 801D453C 001D019C C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D4540 001D01A0 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D4544 001D01A4 4B FF DD 95 */ bl func_801D22D8
/* 801D4548 001D01A8 FC 20 08 50 */ fneg f1, f1
lbl_801D454C:
/* 801D454C 001D01AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4550 001D01B0 7C 08 03 A6 */ mtlr r0
/* 801D4554 001D01B4 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4558 001D01B8 4E 80 00 20 */ blr
.global func_801D455C
func_801D455C:
/* 801D455C 001D01BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4560 001D01C0 7C 08 02 A6 */ mflr r0
/* 801D4564 001D01C4 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha
/* 801D4568 001D01C8 C8 42 95 D0 */ lfd f2, lbl_80641BD0-_SDA2_BASE_(r2)
/* 801D456C 001D01CC D8 21 00 08 */ stfd f1, 8(r1)
/* 801D4570 001D01D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4574 001D01D4 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l
/* 801D4578 001D01D8 80 61 00 08 */ lwz r3, 8(r1)
/* 801D457C 001D01DC 54 63 00 7E */ clrlwi r3, r3, 1
/* 801D4580 001D01E0 7C 03 00 00 */ cmpw r3, r0
/* 801D4584 001D01E4 41 81 00 10 */ bgt lbl_801D4594
/* 801D4588 001D01E8 38 60 00 01 */ li r3, 1
/* 801D458C 001D01EC 4B FF F6 29 */ bl func_801D3BB4
/* 801D4590 001D01F0 48 00 00 34 */ b lbl_801D45C4
lbl_801D4594:
/* 801D4594 001D01F4 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D4598 001D01F8 7C 03 00 00 */ cmpw r3, r0
/* 801D459C 001D01FC 41 80 00 0C */ blt lbl_801D45A8
/* 801D45A0 001D0200 FC 21 08 28 */ fsub f1, f1, f1
/* 801D45A4 001D0204 48 00 00 20 */ b lbl_801D45C4
lbl_801D45A8:
/* 801D45A8 001D0208 38 61 00 10 */ addi r3, r1, 0x10
/* 801D45AC 001D020C 4B FF D9 95 */ bl func_801D1F40
/* 801D45B0 001D0210 54 60 0F BC */ rlwinm r0, r3, 1, 0x1e, 0x1e
/* 801D45B4 001D0214 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 801D45B8 001D0218 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 801D45BC 001D021C 20 60 00 01 */ subfic r3, r0, 1
/* 801D45C0 001D0220 4B FF F5 F5 */ bl func_801D3BB4
lbl_801D45C4:
/* 801D45C4 001D0224 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D45C8 001D0228 7C 08 03 A6 */ mtlr r0
/* 801D45CC 001D022C 38 21 00 20 */ addi r1, r1, 0x20
/* 801D45D0 001D0230 4E 80 00 20 */ blr
.global func_801D45D4
func_801D45D4:
/* 801D45D4 001D0234 4B FF C6 28 */ b lbl_801D0BFC
.global func_801D45D8
func_801D45D8:
/* 801D45D8 001D0238 4B FF C8 E8 */ b lbl_801D0EC0
.global func_801D45DC
func_801D45DC:
/* 801D45DC 001D023C 4B FF CB 7C */ b lbl_801D1158
.global func_801D45E0
func_801D45E0:
/* 801D45E0 001D0240 4B FF CD E8 */ b lbl_801D13C8
.global func_801D45E4
func_801D45E4:
/* 801D45E4 001D0244 4B FF D1 14 */ b lbl_801D16F8
lbl_801D45E8:
/* 801D45E8 001D0248 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D45EC 001D024C D8 21 00 08 */ stfd f1, 8(r1)
/* 801D45F0 001D0250 80 C1 00 08 */ lwz r6, 8(r1)
/* 801D45F4 001D0254 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D45F8 001D0258 54 C3 00 56 */ rlwinm r3, r6, 0, 1, 0xb
/* 801D45FC 001D025C 3C 63 80 10 */ addis r3, r3, 0x8010
/* 801D4600 001D0260 28 03 00 00 */ cmplwi r3, 0
/* 801D4604 001D0264 40 82 00 18 */ bne lbl_801D461C
/* 801D4608 001D0268 FC 01 00 72 */ fmul f0, f1, f1
/* 801D460C 001D026C 38 00 00 21 */ li r0, 0x21
/* 801D4610 001D0270 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
/* 801D4614 001D0274 FC 21 00 2A */ fadd f1, f1, f0
/* 801D4618 001D0278 48 00 02 10 */ b lbl_801D4828
lbl_801D461C:
/* 801D461C 001D027C 2C 86 00 00 */ cmpwi cr1, r6, 0
/* 801D4620 001D0280 41 85 00 2C */ bgt cr1, lbl_801D464C
/* 801D4624 001D0284 54 C3 00 7E */ clrlwi r3, r6, 1
/* 801D4628 001D0288 7C 03 1B 79 */ or. r3, r0, r3
/* 801D462C 001D028C 40 82 00 08 */ bne lbl_801D4634
/* 801D4630 001D0290 48 00 01 F8 */ b lbl_801D4828
lbl_801D4634:
/* 801D4634 001D0294 40 84 00 18 */ bge cr1, lbl_801D464C
/* 801D4638 001D0298 38 00 00 21 */ li r0, 0x21
/* 801D463C 001D029C 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801D4640 001D02A0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
/* 801D4644 001D02A4 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801D4648 001D02A8 48 00 01 E0 */ b lbl_801D4828
lbl_801D464C:
/* 801D464C 001D02AC 7C C3 A6 71 */ srawi. r3, r6, 0x14
/* 801D4650 001D02B0 40 82 00 50 */ bne lbl_801D46A0
/* 801D4654 001D02B4 48 00 00 14 */ b lbl_801D4668
lbl_801D4658:
/* 801D4658 001D02B8 54 04 AA FE */ srwi r4, r0, 0xb
/* 801D465C 001D02BC 54 00 A8 14 */ slwi r0, r0, 0x15
/* 801D4660 001D02C0 7C C6 23 78 */ or r6, r6, r4
/* 801D4664 001D02C4 38 63 FF EB */ addi r3, r3, -21
lbl_801D4668:
/* 801D4668 001D02C8 2C 06 00 00 */ cmpwi r6, 0
/* 801D466C 001D02CC 41 82 FF EC */ beq lbl_801D4658
/* 801D4670 001D02D0 38 E0 00 00 */ li r7, 0
/* 801D4674 001D02D4 48 00 00 0C */ b lbl_801D4680
lbl_801D4678:
/* 801D4678 001D02D8 54 C6 08 3C */ slwi r6, r6, 1
/* 801D467C 001D02DC 38 E7 00 01 */ addi r7, r7, 1
lbl_801D4680:
/* 801D4680 001D02E0 54 C4 02 D7 */ rlwinm. r4, r6, 0, 0xb, 0xb
/* 801D4684 001D02E4 41 82 FF F4 */ beq lbl_801D4678
/* 801D4688 001D02E8 20 87 00 20 */ subfic r4, r7, 0x20
/* 801D468C 001D02EC 38 A7 FF FF */ addi r5, r7, -1
/* 801D4690 001D02F0 7C 04 24 30 */ srw r4, r0, r4
/* 801D4694 001D02F4 7C 00 38 30 */ slw r0, r0, r7
/* 801D4698 001D02F8 7C 65 18 50 */ subf r3, r5, r3
/* 801D469C 001D02FC 7C C6 23 78 */ or r6, r6, r4
lbl_801D46A0:
/* 801D46A0 001D0300 38 83 FC 01 */ addi r4, r3, -1023
/* 801D46A4 001D0304 54 C5 03 3E */ clrlwi r5, r6, 0xc
/* 801D46A8 001D0308 54 84 07 FF */ clrlwi. r4, r4, 0x1f
/* 801D46AC 001D030C 64 A6 00 10 */ oris r6, r5, 0x10
/* 801D46B0 001D0310 41 82 00 14 */ beq lbl_801D46C4
/* 801D46B4 001D0314 54 05 0F FE */ srwi r5, r0, 0x1f
/* 801D46B8 001D0318 7C 86 32 14 */ add r4, r6, r6
/* 801D46BC 001D031C 7C C5 22 14 */ add r6, r5, r4
/* 801D46C0 001D0320 7C 00 02 14 */ add r0, r0, r0
lbl_801D46C4:
/* 801D46C4 001D0324 54 05 0F FE */ srwi r5, r0, 0x1f
/* 801D46C8 001D0328 7C 86 32 14 */ add r4, r6, r6
/* 801D46CC 001D032C 7C C5 22 14 */ add r6, r5, r4
/* 801D46D0 001D0330 7C 00 02 14 */ add r0, r0, r0
/* 801D46D4 001D0334 39 20 00 00 */ li r9, 0
/* 801D46D8 001D0338 39 60 00 00 */ li r11, 0
/* 801D46DC 001D033C 39 40 00 00 */ li r10, 0
/* 801D46E0 001D0340 39 80 00 00 */ li r12, 0
/* 801D46E4 001D0344 3C E0 00 20 */ lis r7, 0x20
/* 801D46E8 001D0348 48 00 00 30 */ b lbl_801D4718
lbl_801D46EC:
/* 801D46EC 001D034C 7C 8B 3A 14 */ add r4, r11, r7
/* 801D46F0 001D0350 7C 04 30 00 */ cmpw r4, r6
/* 801D46F4 001D0354 41 81 00 10 */ bgt lbl_801D4704
/* 801D46F8 001D0358 7D 64 3A 14 */ add r11, r4, r7
/* 801D46FC 001D035C 7C C4 30 50 */ subf r6, r4, r6
/* 801D4700 001D0360 7D 8C 3A 14 */ add r12, r12, r7
lbl_801D4704:
/* 801D4704 001D0364 54 05 0F FE */ srwi r5, r0, 0x1f
/* 801D4708 001D0368 7C 86 32 14 */ add r4, r6, r6
/* 801D470C 001D036C 7C C5 22 14 */ add r6, r5, r4
/* 801D4710 001D0370 7C 00 02 14 */ add r0, r0, r0
/* 801D4714 001D0374 54 E7 F8 7E */ srwi r7, r7, 1
lbl_801D4718:
/* 801D4718 001D0378 2C 07 00 00 */ cmpwi r7, 0
/* 801D471C 001D037C 40 82 FF D0 */ bne lbl_801D46EC
/* 801D4720 001D0380 3C E0 80 00 */ lis r7, 0x8000
/* 801D4724 001D0384 48 00 00 6C */ b lbl_801D4790
lbl_801D4728:
/* 801D4728 001D0388 7C 0B 30 00 */ cmpw r11, r6
/* 801D472C 001D038C 7D 65 5B 78 */ mr r5, r11
/* 801D4730 001D0390 7D 09 3A 14 */ add r8, r9, r7
/* 801D4734 001D0394 41 80 00 10 */ blt lbl_801D4744
/* 801D4738 001D0398 40 82 00 44 */ bne lbl_801D477C
/* 801D473C 001D039C 7C 08 00 40 */ cmplw r8, r0
/* 801D4740 001D03A0 41 81 00 3C */ bgt lbl_801D477C
lbl_801D4744:
/* 801D4744 001D03A4 55 04 00 00 */ rlwinm r4, r8, 0, 0, 0
/* 801D4748 001D03A8 7D 28 3A 14 */ add r9, r8, r7
/* 801D474C 001D03AC 3C 84 80 00 */ addis r4, r4, 0x8000
/* 801D4750 001D03B0 28 04 00 00 */ cmplwi r4, 0
/* 801D4754 001D03B4 40 82 00 10 */ bne lbl_801D4764
/* 801D4758 001D03B8 55 24 00 01 */ rlwinm. r4, r9, 0, 0, 0
/* 801D475C 001D03BC 40 82 00 08 */ bne lbl_801D4764
/* 801D4760 001D03C0 39 6B 00 01 */ addi r11, r11, 1
lbl_801D4764:
/* 801D4764 001D03C4 7C 00 40 40 */ cmplw r0, r8
/* 801D4768 001D03C8 7C C5 30 50 */ subf r6, r5, r6
/* 801D476C 001D03CC 40 80 00 08 */ bge lbl_801D4774
/* 801D4770 001D03D0 38 C6 FF FF */ addi r6, r6, -1
lbl_801D4774:
/* 801D4774 001D03D4 7C 08 00 50 */ subf r0, r8, r0
/* 801D4778 001D03D8 7D 4A 3A 14 */ add r10, r10, r7
lbl_801D477C:
/* 801D477C 001D03DC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 801D4780 001D03E0 7C 86 32 14 */ add r4, r6, r6
/* 801D4784 001D03E4 7C C5 22 14 */ add r6, r5, r4
/* 801D4788 001D03E8 7C 00 02 14 */ add r0, r0, r0
/* 801D478C 001D03EC 54 E7 F8 7E */ srwi r7, r7, 1
lbl_801D4790:
/* 801D4790 001D03F0 2C 07 00 00 */ cmpwi r7, 0
/* 801D4794 001D03F4 40 82 FF 94 */ bne lbl_801D4728
/* 801D4798 001D03F8 7C C0 03 79 */ or. r0, r6, r0
/* 801D479C 001D03FC 41 82 00 58 */ beq lbl_801D47F4
/* 801D47A0 001D0400 C8 02 95 D8 */ lfd f0, lbl_80641BD8-_SDA2_BASE_(r2)
/* 801D47A4 001D0404 FC 00 00 40 */ fcmpo cr0, f0, f0
/* 801D47A8 001D0408 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D47AC 001D040C 4C 41 13 82 */ cror 2, 1, 2
/* 801D47B0 001D0410 40 82 00 44 */ bne lbl_801D47F4
/* 801D47B4 001D0414 3C 0A 00 01 */ addis r0, r10, 1
/* 801D47B8 001D0418 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D47BC 001D041C 28 00 FF FF */ cmplwi r0, 0xffff
/* 801D47C0 001D0420 40 82 00 10 */ bne lbl_801D47D0
/* 801D47C4 001D0424 39 40 00 00 */ li r10, 0
/* 801D47C8 001D0428 39 8C 00 01 */ addi r12, r12, 1
/* 801D47CC 001D042C 48 00 00 28 */ b lbl_801D47F4
lbl_801D47D0:
/* 801D47D0 001D0430 FC 00 00 40 */ fcmpo cr0, f0, f0
/* 801D47D4 001D0434 40 81 00 18 */ ble lbl_801D47EC
/* 801D47D8 001D0438 28 00 FF FE */ cmplwi r0, 0xfffe
/* 801D47DC 001D043C 40 82 00 08 */ bne lbl_801D47E4
/* 801D47E0 001D0440 39 8C 00 01 */ addi r12, r12, 1
lbl_801D47E4:
/* 801D47E4 001D0444 39 4A 00 02 */ addi r10, r10, 2
/* 801D47E8 001D0448 48 00 00 0C */ b lbl_801D47F4
lbl_801D47EC:
/* 801D47EC 001D044C 55 40 07 FE */ clrlwi r0, r10, 0x1f
/* 801D47F0 001D0450 7D 4A 02 14 */ add r10, r10, r0
lbl_801D47F4:
/* 801D47F4 001D0454 55 80 07 FE */ clrlwi r0, r12, 0x1f
/* 801D47F8 001D0458 7D 84 0E 70 */ srawi r4, r12, 1
/* 801D47FC 001D045C 2C 00 00 01 */ cmpwi r0, 1
/* 801D4800 001D0460 55 45 F8 7E */ srwi r5, r10, 1
/* 801D4804 001D0464 3C 84 3F E0 */ addis r4, r4, 0x3fe0
/* 801D4808 001D0468 40 82 00 08 */ bne lbl_801D4810
/* 801D480C 001D046C 64 A5 80 00 */ oris r5, r5, 0x8000
lbl_801D4810:
/* 801D4810 001D0470 38 03 FC 01 */ addi r0, r3, -1023
/* 801D4814 001D0474 90 A1 00 14 */ stw r5, 0x14(r1)
/* 801D4818 001D0478 54 00 98 16 */ rlwinm r0, r0, 0x13, 0, 0xb
/* 801D481C 001D047C 7C 84 02 14 */ add r4, r4, r0
/* 801D4820 001D0480 90 81 00 10 */ stw r4, 0x10(r1)
/* 801D4824 001D0484 C8 21 00 10 */ lfd f1, 0x10(r1)
lbl_801D4828:
/* 801D4828 001D0488 38 21 00 20 */ addi r1, r1, 0x20
/* 801D482C 001D048C 4E 80 00 20 */ blr
.global func_801D4830
func_801D4830:
/* 801D4830 001D0490 4E 80 00 20 */ blr
.global func_801D4834
func_801D4834:
/* 801D4834 001D0494 4B FF FD B4 */ b lbl_801D45E8
.global TRKNubMainLoop
TRKNubMainLoop:
/* 801D4838 001D0498 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D483C 001D049C 7C 08 02 A6 */ mflr r0
/* 801D4840 001D04A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4844 001D04A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4848 001D04A8 3B E0 00 00 */ li r31, 0
/* 801D484C 001D04AC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4850 001D04B0 3B C0 00 00 */ li r30, 0
/* 801D4854 001D04B4 48 00 00 BC */ b lbl_801D4910
lbl_801D4858:
/* 801D4858 001D04B8 38 61 00 08 */ addi r3, r1, 8
/* 801D485C 001D04BC 48 00 01 F1 */ bl TRKGetNextEvent
/* 801D4860 001D04C0 2C 03 00 00 */ cmpwi r3, 0
/* 801D4864 001D04C4 41 82 00 6C */ beq lbl_801D48D0
/* 801D4868 001D04C8 80 01 00 08 */ lwz r0, 8(r1)
/* 801D486C 001D04CC 3B C0 00 00 */ li r30, 0
/* 801D4870 001D04D0 2C 00 00 02 */ cmpwi r0, 2
/* 801D4874 001D04D4 41 82 00 28 */ beq lbl_801D489C
/* 801D4878 001D04D8 40 80 00 14 */ bge lbl_801D488C
/* 801D487C 001D04DC 2C 00 00 00 */ cmpwi r0, 0
/* 801D4880 001D04E0 41 82 00 44 */ beq lbl_801D48C4
/* 801D4884 001D04E4 40 80 00 28 */ bge lbl_801D48AC
/* 801D4888 001D04E8 48 00 00 3C */ b lbl_801D48C4
lbl_801D488C:
/* 801D488C 001D04EC 2C 00 00 05 */ cmpwi r0, 5
/* 801D4890 001D04F0 41 82 00 30 */ beq lbl_801D48C0
/* 801D4894 001D04F4 40 80 00 30 */ bge lbl_801D48C4
/* 801D4898 001D04F8 48 00 00 1C */ b lbl_801D48B4
lbl_801D489C:
/* 801D489C 001D04FC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D48A0 001D0500 48 00 0B 3D */ bl TRKGetBuffer
/* 801D48A4 001D0504 48 00 0E D9 */ bl func_801D577C
/* 801D48A8 001D0508 48 00 00 1C */ b lbl_801D48C4
lbl_801D48AC:
/* 801D48AC 001D050C 3B E0 00 01 */ li r31, 1
/* 801D48B0 001D0510 48 00 00 14 */ b lbl_801D48C4
lbl_801D48B4:
/* 801D48B4 001D0514 38 61 00 08 */ addi r3, r1, 8
/* 801D48B8 001D0518 48 00 31 85 */ bl func_801D7A3C
/* 801D48BC 001D051C 48 00 00 08 */ b lbl_801D48C4
lbl_801D48C0:
/* 801D48C0 001D0520 48 00 2D 75 */ bl TRKTargetSupportRequest
lbl_801D48C4:
/* 801D48C4 001D0524 38 61 00 08 */ addi r3, r1, 8
/* 801D48C8 001D0528 48 00 00 69 */ bl func_801D4930
/* 801D48CC 001D052C 48 00 00 44 */ b lbl_801D4910
lbl_801D48D0:
/* 801D48D0 001D0530 2C 1E 00 00 */ cmpwi r30, 0
/* 801D48D4 001D0534 41 82 00 1C */ beq lbl_801D48F0
/* 801D48D8 001D0538 3C 60 80 64 */ lis r3, lbl_8063F2A0@ha
/* 801D48DC 001D053C 38 63 F2 A0 */ addi r3, r3, lbl_8063F2A0@l
/* 801D48E0 001D0540 80 63 00 00 */ lwz r3, 0(r3)
/* 801D48E4 001D0544 88 03 00 00 */ lbz r0, 0(r3)
/* 801D48E8 001D0548 28 00 00 00 */ cmplwi r0, 0
/* 801D48EC 001D054C 41 82 00 10 */ beq lbl_801D48FC
lbl_801D48F0:
/* 801D48F0 001D0550 3B C0 00 01 */ li r30, 1
/* 801D48F4 001D0554 48 00 0C CD */ bl TRKGetInput
/* 801D48F8 001D0558 48 00 00 18 */ b lbl_801D4910
lbl_801D48FC:
/* 801D48FC 001D055C 48 00 2D 29 */ bl func_801D7624
/* 801D4900 001D0560 2C 03 00 00 */ cmpwi r3, 0
/* 801D4904 001D0564 40 82 00 08 */ bne lbl_801D490C
/* 801D4908 001D0568 48 00 50 51 */ bl TRKTargetContinue
lbl_801D490C:
/* 801D490C 001D056C 3B C0 00 00 */ li r30, 0
lbl_801D4910:
/* 801D4910 001D0570 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4914 001D0574 41 82 FF 44 */ beq lbl_801D4858
/* 801D4918 001D0578 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D491C 001D057C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D4920 001D0580 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D4924 001D0584 7C 08 03 A6 */ mtlr r0
/* 801D4928 001D0588 38 21 00 20 */ addi r1, r1, 0x20
/* 801D492C 001D058C 4E 80 00 20 */ blr
.global func_801D4930
func_801D4930:
/* 801D4930 001D0590 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4934 001D0594 7C 08 02 A6 */ mflr r0
/* 801D4938 001D0598 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D493C 001D059C 80 63 00 08 */ lwz r3, 8(r3)
/* 801D4940 001D05A0 48 00 0A 39 */ bl TRKReleaseBuffer
/* 801D4944 001D05A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4948 001D05A8 7C 08 03 A6 */ mtlr r0
/* 801D494C 001D05AC 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4950 001D05B0 4E 80 00 20 */ blr
.global TRKConstructEvent
TRKConstructEvent:
/* 801D4954 001D05B4 90 83 00 00 */ stw r4, 0(r3)
/* 801D4958 001D05B8 38 80 00 00 */ li r4, 0
/* 801D495C 001D05BC 38 00 FF FF */ li r0, -1
/* 801D4960 001D05C0 90 83 00 04 */ stw r4, 4(r3)
/* 801D4964 001D05C4 90 03 00 08 */ stw r0, 8(r3)
/* 801D4968 001D05C8 4E 80 00 20 */ blr
.global TRKPostEvent
TRKPostEvent:
/* 801D496C 001D05CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4970 001D05D0 7C 08 02 A6 */ mflr r0
/* 801D4974 001D05D4 3C 80 80 49 */ lis r4, lbl_8048EDF0@ha
/* 801D4978 001D05D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D497C 001D05DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4980 001D05E0 3B E0 00 00 */ li r31, 0
/* 801D4984 001D05E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4988 001D05E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D498C 001D05EC 7C 7D 1B 78 */ mr r29, r3
/* 801D4990 001D05F0 38 64 ED F0 */ addi r3, r4, lbl_8048EDF0@l
/* 801D4994 001D05F4 48 00 26 C9 */ bl func_801D705C
/* 801D4998 001D05F8 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D499C 001D05FC 3B C3 ED F0 */ addi r30, r3, lbl_8048EDF0@l
/* 801D49A0 001D0600 80 7E 00 04 */ lwz r3, 4(r30)
/* 801D49A4 001D0604 2C 03 00 02 */ cmpwi r3, 2
/* 801D49A8 001D0608 40 82 00 0C */ bne lbl_801D49B4
/* 801D49AC 001D060C 3B E0 01 00 */ li r31, 0x100
/* 801D49B0 001D0610 48 00 00 70 */ b lbl_801D4A20
lbl_801D49B4:
/* 801D49B4 001D0614 80 1E 00 08 */ lwz r0, 8(r30)
/* 801D49B8 001D0618 7F A4 EB 78 */ mr r4, r29
/* 801D49BC 001D061C 38 A0 00 0C */ li r5, 0xc
/* 801D49C0 001D0620 7C 00 1A 14 */ add r0, r0, r3
/* 801D49C4 001D0624 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801D49C8 001D0628 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 801D49CC 001D062C 7C 00 1A 78 */ xor r0, r0, r3
/* 801D49D0 001D0630 7C 03 00 50 */ subf r0, r3, r0
/* 801D49D4 001D0634 1F A0 00 0C */ mulli r29, r0, 0xc
/* 801D49D8 001D0638 7C 7E EA 14 */ add r3, r30, r29
/* 801D49DC 001D063C 38 63 00 0C */ addi r3, r3, 0xc
/* 801D49E0 001D0640 4B E2 F7 85 */ bl TRK_memcpy
/* 801D49E4 001D0644 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D49E8 001D0648 38 83 ED F0 */ addi r4, r3, lbl_8048EDF0@l
/* 801D49EC 001D064C 80 04 00 24 */ lwz r0, 0x24(r4)
/* 801D49F0 001D0650 7C 64 EA 14 */ add r3, r4, r29
/* 801D49F4 001D0654 90 03 00 10 */ stw r0, 0x10(r3)
/* 801D49F8 001D0658 80 64 00 24 */ lwz r3, 0x24(r4)
/* 801D49FC 001D065C 38 03 00 01 */ addi r0, r3, 1
/* 801D4A00 001D0660 28 00 01 00 */ cmplwi r0, 0x100
/* 801D4A04 001D0664 90 04 00 24 */ stw r0, 0x24(r4)
/* 801D4A08 001D0668 40 80 00 0C */ bge lbl_801D4A14
/* 801D4A0C 001D066C 38 00 01 00 */ li r0, 0x100
/* 801D4A10 001D0670 90 04 00 24 */ stw r0, 0x24(r4)
lbl_801D4A14:
/* 801D4A14 001D0674 80 7E 00 04 */ lwz r3, 4(r30)
/* 801D4A18 001D0678 38 03 00 01 */ addi r0, r3, 1
/* 801D4A1C 001D067C 90 1E 00 04 */ stw r0, 4(r30)
lbl_801D4A20:
/* 801D4A20 001D0680 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D4A24 001D0684 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l
/* 801D4A28 001D0688 48 00 26 2D */ bl func_801D7054
/* 801D4A2C 001D068C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4A30 001D0690 7F E3 FB 78 */ mr r3, r31
/* 801D4A34 001D0694 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D4A38 001D0698 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D4A3C 001D069C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D4A40 001D06A0 7C 08 03 A6 */ mtlr r0
/* 801D4A44 001D06A4 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4A48 001D06A8 4E 80 00 20 */ blr
.global TRKGetNextEvent
TRKGetNextEvent:
/* 801D4A4C 001D06AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4A50 001D06B0 7C 08 02 A6 */ mflr r0
/* 801D4A54 001D06B4 3C 80 80 49 */ lis r4, lbl_8048EDF0@ha
/* 801D4A58 001D06B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4A5C 001D06BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4A60 001D06C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4A64 001D06C4 3B C0 00 00 */ li r30, 0
/* 801D4A68 001D06C8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D4A6C 001D06CC 7C 7D 1B 78 */ mr r29, r3
/* 801D4A70 001D06D0 38 64 ED F0 */ addi r3, r4, lbl_8048EDF0@l
/* 801D4A74 001D06D4 48 00 25 E9 */ bl func_801D705C
/* 801D4A78 001D06D8 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D4A7C 001D06DC 3B E3 ED F0 */ addi r31, r3, lbl_8048EDF0@l
/* 801D4A80 001D06E0 80 1F 00 04 */ lwz r0, 4(r31)
/* 801D4A84 001D06E4 2C 00 00 00 */ cmpwi r0, 0
/* 801D4A88 001D06E8 40 81 00 4C */ ble lbl_801D4AD4
/* 801D4A8C 001D06EC 80 1F 00 08 */ lwz r0, 8(r31)
/* 801D4A90 001D06F0 7F A3 EB 78 */ mr r3, r29
/* 801D4A94 001D06F4 38 A0 00 0C */ li r5, 0xc
/* 801D4A98 001D06F8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801D4A9C 001D06FC 7C 9F 02 14 */ add r4, r31, r0
/* 801D4AA0 001D0700 38 84 00 0C */ addi r4, r4, 0xc
/* 801D4AA4 001D0704 4B E2 F6 C1 */ bl TRK_memcpy
/* 801D4AA8 001D0708 80 7F 00 08 */ lwz r3, 8(r31)
/* 801D4AAC 001D070C 80 9F 00 04 */ lwz r4, 4(r31)
/* 801D4AB0 001D0710 38 03 00 01 */ addi r0, r3, 1
/* 801D4AB4 001D0714 38 64 FF FF */ addi r3, r4, -1
/* 801D4AB8 001D0718 90 1F 00 08 */ stw r0, 8(r31)
/* 801D4ABC 001D071C 2C 00 00 02 */ cmpwi r0, 2
/* 801D4AC0 001D0720 90 7F 00 04 */ stw r3, 4(r31)
/* 801D4AC4 001D0724 40 82 00 0C */ bne lbl_801D4AD0
/* 801D4AC8 001D0728 38 00 00 00 */ li r0, 0
/* 801D4ACC 001D072C 90 1F 00 08 */ stw r0, 8(r31)
lbl_801D4AD0:
/* 801D4AD0 001D0730 3B C0 00 01 */ li r30, 1
lbl_801D4AD4:
/* 801D4AD4 001D0734 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D4AD8 001D0738 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l
/* 801D4ADC 001D073C 48 00 25 79 */ bl func_801D7054
/* 801D4AE0 001D0740 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4AE4 001D0744 7F C3 F3 78 */ mr r3, r30
/* 801D4AE8 001D0748 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D4AEC 001D074C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D4AF0 001D0750 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D4AF4 001D0754 7C 08 03 A6 */ mtlr r0
/* 801D4AF8 001D0758 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4AFC 001D075C 4E 80 00 20 */ blr
.global TRKInitializeEventQueue
TRKInitializeEventQueue:
/* 801D4B00 001D0760 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4B04 001D0764 7C 08 02 A6 */ mflr r0
/* 801D4B08 001D0768 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D4B0C 001D076C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4B10 001D0770 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l
/* 801D4B14 001D0774 48 00 25 51 */ bl func_801D7064
/* 801D4B18 001D0778 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D4B1C 001D077C 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l
/* 801D4B20 001D0780 48 00 25 3D */ bl func_801D705C
/* 801D4B24 001D0784 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha
/* 801D4B28 001D0788 38 80 00 00 */ li r4, 0
/* 801D4B2C 001D078C 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l
/* 801D4B30 001D0790 38 00 01 00 */ li r0, 0x100
/* 801D4B34 001D0794 90 83 00 04 */ stw r4, 4(r3)
/* 801D4B38 001D0798 90 83 00 08 */ stw r4, 8(r3)
/* 801D4B3C 001D079C 90 03 00 24 */ stw r0, 0x24(r3)
/* 801D4B40 001D07A0 48 00 25 15 */ bl func_801D7054
/* 801D4B44 001D07A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4B48 001D07A8 38 60 00 00 */ li r3, 0
/* 801D4B4C 001D07AC 7C 08 03 A6 */ mtlr r0
/* 801D4B50 001D07B0 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4B54 001D07B4 4E 80 00 20 */ blr
.global TRKNubWelcome
TRKNubWelcome:
/* 801D4B58 001D07B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4B5C 001D07BC 7C 08 02 A6 */ mflr r0
/* 801D4B60 001D07C0 3C 60 80 40 */ lis r3, lbl_803FD640@ha
/* 801D4B64 001D07C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4B68 001D07C8 38 63 D6 40 */ addi r3, r3, lbl_803FD640@l
/* 801D4B6C 001D07CC 48 00 4A 11 */ bl TRK_board_display
/* 801D4B70 001D07D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4B74 001D07D4 7C 08 03 A6 */ mtlr r0
/* 801D4B78 001D07D8 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4B7C 001D07DC 4E 80 00 20 */ blr
.global func_801D4B80
func_801D4B80:
/* 801D4B80 001D07E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4B84 001D07E4 7C 08 02 A6 */ mflr r0
/* 801D4B88 001D07E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4B8C 001D07EC 48 00 09 B9 */ bl func_801D5544
/* 801D4B90 001D07F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4B94 001D07F4 38 60 00 00 */ li r3, 0
/* 801D4B98 001D07F8 7C 08 03 A6 */ mtlr r0
/* 801D4B9C 001D07FC 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4BA0 001D0800 4E 80 00 20 */ blr
.global func_801D4BA4
func_801D4BA4:
/* 801D4BA4 001D0804 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4BA8 001D0808 7C 08 02 A6 */ mflr r0
/* 801D4BAC 001D080C 38 A0 00 12 */ li r5, 0x12
/* 801D4BB0 001D0810 38 80 00 34 */ li r4, 0x34
/* 801D4BB4 001D0814 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4BB8 001D0818 38 60 00 56 */ li r3, 0x56
/* 801D4BBC 001D081C 38 00 00 78 */ li r0, 0x78
/* 801D4BC0 001D0820 38 C0 00 01 */ li r6, 1
/* 801D4BC4 001D0824 98 A1 00 08 */ stb r5, 8(r1)
/* 801D4BC8 001D0828 3C A0 80 49 */ lis r5, lbl_8048EE18@ha
/* 801D4BCC 001D082C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4BD0 001D0830 3B E0 00 00 */ li r31, 0
/* 801D4BD4 001D0834 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4BD8 001D0838 98 81 00 09 */ stb r4, 9(r1)
/* 801D4BDC 001D083C 98 61 00 0A */ stb r3, 0xa(r1)
/* 801D4BE0 001D0840 98 01 00 0B */ stb r0, 0xb(r1)
/* 801D4BE4 001D0844 80 61 00 08 */ lwz r3, 8(r1)
/* 801D4BE8 001D0848 94 C5 EE 18 */ stwu r6, lbl_8048EE18@l(r5)
/* 801D4BEC 001D084C 3C 03 ED CC */ addis r0, r3, 0xedcc
/* 801D4BF0 001D0850 28 00 56 78 */ cmplwi r0, 0x5678
/* 801D4BF4 001D0854 40 82 00 0C */ bne lbl_801D4C00
/* 801D4BF8 001D0858 90 C5 00 00 */ stw r6, 0(r5)
/* 801D4BFC 001D085C 48 00 00 1C */ b lbl_801D4C18
lbl_801D4C00:
/* 801D4C00 001D0860 3C 03 87 AA */ addis r0, r3, 0x87aa
/* 801D4C04 001D0864 28 00 34 12 */ cmplwi r0, 0x3412
/* 801D4C08 001D0868 40 82 00 0C */ bne lbl_801D4C14
/* 801D4C0C 001D086C 93 E5 00 00 */ stw r31, 0(r5)
/* 801D4C10 001D0870 48 00 00 08 */ b lbl_801D4C18
lbl_801D4C14:
/* 801D4C14 001D0874 7C DF 33 78 */ mr r31, r6
lbl_801D4C18:
/* 801D4C18 001D0878 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C1C 001D087C 40 82 00 08 */ bne lbl_801D4C24
/* 801D4C20 001D0880 48 00 0A D1 */ bl func_801D56F0
lbl_801D4C24:
/* 801D4C24 001D0884 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C28 001D0888 40 82 00 0C */ bne lbl_801D4C34
/* 801D4C2C 001D088C 4B FF FE D5 */ bl TRKInitializeEventQueue
/* 801D4C30 001D0890 7C 7F 1B 78 */ mr r31, r3
lbl_801D4C34:
/* 801D4C34 001D0894 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C38 001D0898 40 82 00 0C */ bne lbl_801D4C44
/* 801D4C3C 001D089C 48 00 08 95 */ bl TRKInitializeMessageBuffers
/* 801D4C40 001D08A0 7C 7F 1B 78 */ mr r31, r3
lbl_801D4C44:
/* 801D4C44 001D08A4 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C48 001D08A8 40 82 00 0C */ bne lbl_801D4C54
/* 801D4C4C 001D08AC 48 00 0C 71 */ bl func_801D58BC
/* 801D4C50 001D08B0 7C 7F 1B 78 */ mr r31, r3
lbl_801D4C54:
/* 801D4C54 001D08B4 48 00 48 D1 */ bl InitializeProgramEndTrap
/* 801D4C58 001D08B8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C5C 001D08BC 40 82 00 0C */ bne lbl_801D4C68
/* 801D4C60 001D08C0 48 00 08 ED */ bl func_801D554C
/* 801D4C64 001D08C4 7C 7F 1B 78 */ mr r31, r3
lbl_801D4C68:
/* 801D4C68 001D08C8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C6C 001D08CC 40 82 00 0C */ bne lbl_801D4C78
/* 801D4C70 001D08D0 48 00 45 F5 */ bl TRKInitializeTarget
/* 801D4C74 001D08D4 7C 7F 1B 78 */ mr r31, r3
lbl_801D4C78:
/* 801D4C78 001D08D8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C7C 001D08DC 40 82 00 44 */ bne lbl_801D4CC0
/* 801D4C80 001D08E0 3C 60 80 64 */ lis r3, lbl_8063F2A0@ha
/* 801D4C84 001D08E4 3C A0 00 01 */ lis r5, 0x0000E100@ha
/* 801D4C88 001D08E8 38 C3 F2 A0 */ addi r6, r3, lbl_8063F2A0@l
/* 801D4C8C 001D08EC 38 80 00 01 */ li r4, 1
/* 801D4C90 001D08F0 38 65 E1 00 */ addi r3, r5, 0x0000E100@l
/* 801D4C94 001D08F4 38 A0 00 00 */ li r5, 0
/* 801D4C98 001D08F8 48 00 4A 65 */ bl TRKInitializeIntDrivenUART
/* 801D4C9C 001D08FC 3C 80 80 64 */ lis r4, lbl_8063F2A0@ha
/* 801D4CA0 001D0900 7C 60 1B 78 */ mr r0, r3
/* 801D4CA4 001D0904 38 64 F2 A0 */ addi r3, r4, lbl_8063F2A0@l
/* 801D4CA8 001D0908 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4CAC 001D090C 7C 1E 03 78 */ mr r30, r0
/* 801D4CB0 001D0910 48 00 29 3D */ bl func_801D75EC
/* 801D4CB4 001D0914 2C 1E 00 00 */ cmpwi r30, 0
/* 801D4CB8 001D0918 41 82 00 08 */ beq lbl_801D4CC0
/* 801D4CBC 001D091C 7F DF F3 78 */ mr r31, r30
lbl_801D4CC0:
/* 801D4CC0 001D0920 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4CC4 001D0924 7F E3 FB 78 */ mr r3, r31
/* 801D4CC8 001D0928 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D4CCC 001D092C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D4CD0 001D0930 7C 08 03 A6 */ mtlr r0
/* 801D4CD4 001D0934 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4CD8 001D0938 4E 80 00 20 */ blr
.global func_801D4CDC
func_801D4CDC:
/* 801D4CDC 001D093C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4CE0 001D0940 7C 08 02 A6 */ mflr r0
/* 801D4CE4 001D0944 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4CE8 001D0948 80 83 00 08 */ lwz r4, 8(r3)
/* 801D4CEC 001D094C 38 63 00 10 */ addi r3, r3, 0x10
/* 801D4CF0 001D0950 48 00 49 1D */ bl func_801D960C
/* 801D4CF4 001D0954 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4CF8 001D0958 38 60 00 00 */ li r3, 0
/* 801D4CFC 001D095C 7C 08 03 A6 */ mtlr r0
/* 801D4D00 001D0960 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4D04 001D0964 4E 80 00 20 */ blr
.global TRKReadBuffer_ui32
TRKReadBuffer_ui32:
/* 801D4D08 001D0968 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D4D0C 001D096C 7C 08 02 A6 */ mflr r0
/* 801D4D10 001D0970 3C C0 80 49 */ lis r6, lbl_8048EE18@ha
/* 801D4D14 001D0974 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D4D18 001D0978 BF 01 00 10 */ stmw r24, 0x10(r1)
/* 801D4D1C 001D097C 7C 7C 1B 78 */ mr r28, r3
/* 801D4D20 001D0980 7C BD 2B 78 */ mr r29, r5
/* 801D4D24 001D0984 7C 9F 23 78 */ mr r31, r4
/* 801D4D28 001D0988 3B 66 EE 18 */ addi r27, r6, lbl_8048EE18@l
/* 801D4D2C 001D098C 3B C0 00 00 */ li r30, 0
/* 801D4D30 001D0990 38 60 00 00 */ li r3, 0
/* 801D4D34 001D0994 48 00 00 A0 */ b lbl_801D4DD4
lbl_801D4D38:
/* 801D4D38 001D0998 80 1B 00 00 */ lwz r0, 0(r27)
/* 801D4D3C 001D099C 2C 00 00 00 */ cmpwi r0, 0
/* 801D4D40 001D09A0 41 82 00 0C */ beq lbl_801D4D4C
/* 801D4D44 001D09A4 7F F9 FB 78 */ mr r25, r31
/* 801D4D48 001D09A8 48 00 00 08 */ b lbl_801D4D50
lbl_801D4D4C:
/* 801D4D4C 001D09AC 3B 21 00 08 */ addi r25, r1, 8
lbl_801D4D50:
/* 801D4D50 001D09B0 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 801D4D54 001D09B4 3B 00 00 04 */ li r24, 4
/* 801D4D58 001D09B8 80 1C 00 08 */ lwz r0, 8(r28)
/* 801D4D5C 001D09BC 3B 40 00 00 */ li r26, 0
/* 801D4D60 001D09C0 7C 03 00 50 */ subf r0, r3, r0
/* 801D4D64 001D09C4 7C 18 00 40 */ cmplw r24, r0
/* 801D4D68 001D09C8 40 81 00 0C */ ble lbl_801D4D74
/* 801D4D6C 001D09CC 3B 40 03 02 */ li r26, 0x302
/* 801D4D70 001D09D0 7C 18 03 78 */ mr r24, r0
lbl_801D4D74:
/* 801D4D74 001D09D4 38 83 00 10 */ addi r4, r3, 0x10
/* 801D4D78 001D09D8 7F 23 CB 78 */ mr r3, r25
/* 801D4D7C 001D09DC 7F 05 C3 78 */ mr r5, r24
/* 801D4D80 001D09E0 7C 9C 22 14 */ add r4, r28, r4
/* 801D4D84 001D09E4 4B E2 F3 E1 */ bl TRK_memcpy
/* 801D4D88 001D09E8 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 801D4D8C 001D09EC 7C 00 C2 14 */ add r0, r0, r24
/* 801D4D90 001D09F0 90 1C 00 0C */ stw r0, 0xc(r28)
/* 801D4D94 001D09F4 80 1B 00 00 */ lwz r0, 0(r27)
/* 801D4D98 001D09F8 2C 00 00 00 */ cmpwi r0, 0
/* 801D4D9C 001D09FC 40 82 00 2C */ bne lbl_801D4DC8
/* 801D4DA0 001D0A00 2C 1A 00 00 */ cmpwi r26, 0
/* 801D4DA4 001D0A04 40 82 00 24 */ bne lbl_801D4DC8
/* 801D4DA8 001D0A08 88 19 00 03 */ lbz r0, 3(r25)
/* 801D4DAC 001D0A0C 98 1F 00 00 */ stb r0, 0(r31)
/* 801D4DB0 001D0A10 88 19 00 02 */ lbz r0, 2(r25)
/* 801D4DB4 001D0A14 98 1F 00 01 */ stb r0, 1(r31)
/* 801D4DB8 001D0A18 88 19 00 01 */ lbz r0, 1(r25)
/* 801D4DBC 001D0A1C 98 1F 00 02 */ stb r0, 2(r31)
/* 801D4DC0 001D0A20 88 19 00 00 */ lbz r0, 0(r25)
/* 801D4DC4 001D0A24 98 1F 00 03 */ stb r0, 3(r31)
lbl_801D4DC8:
/* 801D4DC8 001D0A28 7F 43 D3 78 */ mr r3, r26
/* 801D4DCC 001D0A2C 3B FF 00 04 */ addi r31, r31, 4
/* 801D4DD0 001D0A30 3B DE 00 01 */ addi r30, r30, 1
lbl_801D4DD4:
/* 801D4DD4 001D0A34 2C 03 00 00 */ cmpwi r3, 0
/* 801D4DD8 001D0A38 40 82 00 0C */ bne lbl_801D4DE4
/* 801D4DDC 001D0A3C 7C 1E E8 00 */ cmpw r30, r29
/* 801D4DE0 001D0A40 41 80 FF 58 */ blt lbl_801D4D38
lbl_801D4DE4:
/* 801D4DE4 001D0A44 BB 01 00 10 */ lmw r24, 0x10(r1)
/* 801D4DE8 001D0A48 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D4DEC 001D0A4C 7C 08 03 A6 */ mtlr r0
/* 801D4DF0 001D0A50 38 21 00 30 */ addi r1, r1, 0x30
/* 801D4DF4 001D0A54 4E 80 00 20 */ blr
.global TRKReadBuffer_ui8
TRKReadBuffer_ui8:
/* 801D4DF8 001D0A58 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4DFC 001D0A5C 7C 08 02 A6 */ mflr r0
/* 801D4E00 001D0A60 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4E04 001D0A64 BF 41 00 08 */ stmw r26, 8(r1)
/* 801D4E08 001D0A68 7C 7A 1B 78 */ mr r26, r3
/* 801D4E0C 001D0A6C 7C 9B 23 78 */ mr r27, r4
/* 801D4E10 001D0A70 7C BC 2B 78 */ mr r28, r5
/* 801D4E14 001D0A74 3B A0 00 00 */ li r29, 0
/* 801D4E18 001D0A78 38 60 00 00 */ li r3, 0
/* 801D4E1C 001D0A7C 48 00 00 50 */ b lbl_801D4E6C
lbl_801D4E20:
/* 801D4E20 001D0A80 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 801D4E24 001D0A84 3B C0 00 01 */ li r30, 1
/* 801D4E28 001D0A88 80 1A 00 08 */ lwz r0, 8(r26)
/* 801D4E2C 001D0A8C 3B E0 00 00 */ li r31, 0
/* 801D4E30 001D0A90 7C 03 00 50 */ subf r0, r3, r0
/* 801D4E34 001D0A94 7C 1E 00 40 */ cmplw r30, r0
/* 801D4E38 001D0A98 40 81 00 0C */ ble lbl_801D4E44
/* 801D4E3C 001D0A9C 3B E0 03 02 */ li r31, 0x302
/* 801D4E40 001D0AA0 7C 1E 03 78 */ mr r30, r0
lbl_801D4E44:
/* 801D4E44 001D0AA4 38 83 00 10 */ addi r4, r3, 0x10
/* 801D4E48 001D0AA8 7F C5 F3 78 */ mr r5, r30
/* 801D4E4C 001D0AAC 7C 7B EA 14 */ add r3, r27, r29
/* 801D4E50 001D0AB0 7C 9A 22 14 */ add r4, r26, r4
/* 801D4E54 001D0AB4 4B E2 F3 11 */ bl TRK_memcpy
/* 801D4E58 001D0AB8 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 801D4E5C 001D0ABC 7F E3 FB 78 */ mr r3, r31
/* 801D4E60 001D0AC0 3B BD 00 01 */ addi r29, r29, 1
/* 801D4E64 001D0AC4 7C 00 F2 14 */ add r0, r0, r30
/* 801D4E68 001D0AC8 90 1A 00 0C */ stw r0, 0xc(r26)
lbl_801D4E6C:
/* 801D4E6C 001D0ACC 2C 03 00 00 */ cmpwi r3, 0
/* 801D4E70 001D0AD0 40 82 00 0C */ bne lbl_801D4E7C
/* 801D4E74 001D0AD4 7C 1D E0 00 */ cmpw r29, r28
/* 801D4E78 001D0AD8 41 80 FF A8 */ blt lbl_801D4E20
lbl_801D4E7C:
/* 801D4E7C 001D0ADC BB 41 00 08 */ lmw r26, 8(r1)
/* 801D4E80 001D0AE0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4E84 001D0AE4 7C 08 03 A6 */ mtlr r0
/* 801D4E88 001D0AE8 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4E8C 001D0AEC 4E 80 00 20 */ blr
.global TRKReadBuffer1_ui64
TRKReadBuffer1_ui64:
/* 801D4E90 001D0AF0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D4E94 001D0AF4 7C 08 02 A6 */ mflr r0
/* 801D4E98 001D0AF8 3C A0 80 49 */ lis r5, lbl_8048EE18@ha
/* 801D4E9C 001D0AFC 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D4EA0 001D0B00 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801D4EA4 001D0B04 7C 7B 1B 78 */ mr r27, r3
/* 801D4EA8 001D0B08 7C 9E 23 78 */ mr r30, r4
/* 801D4EAC 001D0B0C 80 05 EE 18 */ lwz r0, lbl_8048EE18@l(r5)
/* 801D4EB0 001D0B10 2C 00 00 00 */ cmpwi r0, 0
/* 801D4EB4 001D0B14 41 82 00 0C */ beq lbl_801D4EC0
/* 801D4EB8 001D0B18 7F DF F3 78 */ mr r31, r30
/* 801D4EBC 001D0B1C 48 00 00 08 */ b lbl_801D4EC4
lbl_801D4EC0:
/* 801D4EC0 001D0B20 3B E1 00 08 */ addi r31, r1, 8
lbl_801D4EC4:
/* 801D4EC4 001D0B24 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 801D4EC8 001D0B28 3B 80 00 08 */ li r28, 8
/* 801D4ECC 001D0B2C 80 1B 00 08 */ lwz r0, 8(r27)
/* 801D4ED0 001D0B30 3B A0 00 00 */ li r29, 0
/* 801D4ED4 001D0B34 7C 03 00 50 */ subf r0, r3, r0
/* 801D4ED8 001D0B38 7C 1C 00 40 */ cmplw r28, r0
/* 801D4EDC 001D0B3C 40 81 00 0C */ ble lbl_801D4EE8
/* 801D4EE0 001D0B40 3B A0 03 02 */ li r29, 0x302
/* 801D4EE4 001D0B44 7C 1C 03 78 */ mr r28, r0
lbl_801D4EE8:
/* 801D4EE8 001D0B48 38 83 00 10 */ addi r4, r3, 0x10
/* 801D4EEC 001D0B4C 7F E3 FB 78 */ mr r3, r31
/* 801D4EF0 001D0B50 7F 85 E3 78 */ mr r5, r28
/* 801D4EF4 001D0B54 7C 9B 22 14 */ add r4, r27, r4
/* 801D4EF8 001D0B58 4B E2 F2 6D */ bl TRK_memcpy
/* 801D4EFC 001D0B5C 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 801D4F00 001D0B60 3C 60 80 49 */ lis r3, lbl_8048EE18@ha
/* 801D4F04 001D0B64 7C 00 E2 14 */ add r0, r0, r28
/* 801D4F08 001D0B68 90 1B 00 0C */ stw r0, 0xc(r27)
/* 801D4F0C 001D0B6C 80 03 EE 18 */ lwz r0, lbl_8048EE18@l(r3)
/* 801D4F10 001D0B70 2C 00 00 00 */ cmpwi r0, 0
/* 801D4F14 001D0B74 40 82 00 4C */ bne lbl_801D4F60
/* 801D4F18 001D0B78 2C 1D 00 00 */ cmpwi r29, 0
/* 801D4F1C 001D0B7C 40 82 00 44 */ bne lbl_801D4F60
/* 801D4F20 001D0B80 88 1F 00 07 */ lbz r0, 7(r31)
/* 801D4F24 001D0B84 98 1E 00 00 */ stb r0, 0(r30)
/* 801D4F28 001D0B88 88 1F 00 06 */ lbz r0, 6(r31)
/* 801D4F2C 001D0B8C 98 1E 00 01 */ stb r0, 1(r30)
/* 801D4F30 001D0B90 88 1F 00 05 */ lbz r0, 5(r31)
/* 801D4F34 001D0B94 98 1E 00 02 */ stb r0, 2(r30)
/* 801D4F38 001D0B98 88 1F 00 04 */ lbz r0, 4(r31)
/* 801D4F3C 001D0B9C 98 1E 00 03 */ stb r0, 3(r30)
/* 801D4F40 001D0BA0 88 1F 00 03 */ lbz r0, 3(r31)
/* 801D4F44 001D0BA4 98 1E 00 04 */ stb r0, 4(r30)
/* 801D4F48 001D0BA8 88 1F 00 02 */ lbz r0, 2(r31)
/* 801D4F4C 001D0BAC 98 1E 00 05 */ stb r0, 5(r30)
/* 801D4F50 001D0BB0 88 1F 00 01 */ lbz r0, 1(r31)
/* 801D4F54 001D0BB4 98 1E 00 06 */ stb r0, 6(r30)
/* 801D4F58 001D0BB8 88 1F 00 00 */ lbz r0, 0(r31)
/* 801D4F5C 001D0BBC 98 1E 00 07 */ stb r0, 7(r30)
lbl_801D4F60:
/* 801D4F60 001D0BC0 7F A3 EB 78 */ mr r3, r29
/* 801D4F64 001D0BC4 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 801D4F68 001D0BC8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D4F6C 001D0BCC 7C 08 03 A6 */ mtlr r0
/* 801D4F70 001D0BD0 38 21 00 30 */ addi r1, r1, 0x30
/* 801D4F74 001D0BD4 4E 80 00 20 */ blr
.global TRKAppendBuffer_ui32
TRKAppendBuffer_ui32:
/* 801D4F78 001D0BD8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D4F7C 001D0BDC 7C 08 02 A6 */ mflr r0
/* 801D4F80 001D0BE0 3C C0 80 49 */ lis r6, lbl_8048EE18@ha
/* 801D4F84 001D0BE4 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D4F88 001D0BE8 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 801D4F8C 001D0BEC 7C 7B 1B 78 */ mr r27, r3
/* 801D4F90 001D0BF0 7C BC 2B 78 */ mr r28, r5
/* 801D4F94 001D0BF4 7C 9E 23 78 */ mr r30, r4
/* 801D4F98 001D0BF8 3B E6 EE 18 */ addi r31, r6, lbl_8048EE18@l
/* 801D4F9C 001D0BFC 3B A0 00 00 */ li r29, 0
/* 801D4FA0 001D0C00 38 60 00 00 */ li r3, 0
/* 801D4FA4 001D0C04 48 00 00 AC */ b lbl_801D5050
lbl_801D4FA8:
/* 801D4FA8 001D0C08 80 1F 00 00 */ lwz r0, 0(r31)
/* 801D4FAC 001D0C0C 80 7E 00 00 */ lwz r3, 0(r30)
/* 801D4FB0 001D0C10 2C 00 00 00 */ cmpwi r0, 0
/* 801D4FB4 001D0C14 90 61 00 08 */ stw r3, 8(r1)
/* 801D4FB8 001D0C18 41 82 00 0C */ beq lbl_801D4FC4
/* 801D4FBC 001D0C1C 38 81 00 08 */ addi r4, r1, 8
/* 801D4FC0 001D0C20 48 00 00 28 */ b lbl_801D4FE8
lbl_801D4FC4:
/* 801D4FC4 001D0C24 88 C1 00 0B */ lbz r6, 0xb(r1)
/* 801D4FC8 001D0C28 38 81 00 0C */ addi r4, r1, 0xc
/* 801D4FCC 001D0C2C 88 A1 00 0A */ lbz r5, 0xa(r1)
/* 801D4FD0 001D0C30 88 61 00 09 */ lbz r3, 9(r1)
/* 801D4FD4 001D0C34 88 01 00 08 */ lbz r0, 8(r1)
/* 801D4FD8 001D0C38 98 C1 00 0C */ stb r6, 0xc(r1)
/* 801D4FDC 001D0C3C 98 A1 00 0D */ stb r5, 0xd(r1)
/* 801D4FE0 001D0C40 98 61 00 0E */ stb r3, 0xe(r1)
/* 801D4FE4 001D0C44 98 01 00 0F */ stb r0, 0xf(r1)
lbl_801D4FE8:
/* 801D4FE8 001D0C48 80 BB 00 0C */ lwz r5, 0xc(r27)
/* 801D4FEC 001D0C4C 3B 20 00 04 */ li r25, 4
/* 801D4FF0 001D0C50 3B 40 00 00 */ li r26, 0
/* 801D4FF4 001D0C54 20 05 08 80 */ subfic r0, r5, 0x880
/* 801D4FF8 001D0C58 28 00 00 04 */ cmplwi r0, 4
/* 801D4FFC 001D0C5C 40 80 00 0C */ bge lbl_801D5008
/* 801D5000 001D0C60 3B 40 03 01 */ li r26, 0x301
/* 801D5004 001D0C64 7C 19 03 78 */ mr r25, r0
lbl_801D5008:
/* 801D5008 001D0C68 28 19 00 01 */ cmplwi r25, 1
/* 801D500C 001D0C6C 40 82 00 14 */ bne lbl_801D5020
/* 801D5010 001D0C70 88 64 00 00 */ lbz r3, 0(r4)
/* 801D5014 001D0C74 38 05 00 10 */ addi r0, r5, 0x10
/* 801D5018 001D0C78 7C 7B 01 AE */ stbx r3, r27, r0
/* 801D501C 001D0C7C 48 00 00 14 */ b lbl_801D5030
lbl_801D5020:
/* 801D5020 001D0C80 38 65 00 10 */ addi r3, r5, 0x10
/* 801D5024 001D0C84 7F 25 CB 78 */ mr r5, r25
/* 801D5028 001D0C88 7C 7B 1A 14 */ add r3, r27, r3
/* 801D502C 001D0C8C 4B E2 F1 39 */ bl TRK_memcpy
lbl_801D5030:
/* 801D5030 001D0C90 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 801D5034 001D0C94 7F 43 D3 78 */ mr r3, r26
/* 801D5038 001D0C98 3B DE 00 04 */ addi r30, r30, 4
/* 801D503C 001D0C9C 3B BD 00 01 */ addi r29, r29, 1
/* 801D5040 001D0CA0 7C 00 CA 14 */ add r0, r0, r25
/* 801D5044 001D0CA4 90 1B 00 0C */ stw r0, 0xc(r27)
/* 801D5048 001D0CA8 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 801D504C 001D0CAC 90 1B 00 08 */ stw r0, 8(r27)
lbl_801D5050:
/* 801D5050 001D0CB0 2C 03 00 00 */ cmpwi r3, 0
/* 801D5054 001D0CB4 40 82 00 0C */ bne lbl_801D5060
/* 801D5058 001D0CB8 7C 1D E0 00 */ cmpw r29, r28
/* 801D505C 001D0CBC 41 80 FF 4C */ blt lbl_801D4FA8
lbl_801D5060:
/* 801D5060 001D0CC0 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 801D5064 001D0CC4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D5068 001D0CC8 7C 08 03 A6 */ mtlr r0
/* 801D506C 001D0CCC 38 21 00 30 */ addi r1, r1, 0x30
/* 801D5070 001D0CD0 4E 80 00 20 */ blr
.global TRKAppendBuffer_ui8
TRKAppendBuffer_ui8:
/* 801D5074 001D0CD4 39 20 00 00 */ li r9, 0
/* 801D5078 001D0CD8 38 00 00 00 */ li r0, 0
/* 801D507C 001D0CDC 48 00 00 48 */ b lbl_801D50C4
lbl_801D5080:
/* 801D5080 001D0CE0 80 E3 00 0C */ lwz r7, 0xc(r3)
/* 801D5084 001D0CE4 89 04 00 00 */ lbz r8, 0(r4)
/* 801D5088 001D0CE8 28 07 08 80 */ cmplwi r7, 0x880
/* 801D508C 001D0CEC 41 80 00 0C */ blt lbl_801D5098
/* 801D5090 001D0CF0 38 E0 03 01 */ li r7, 0x301
/* 801D5094 001D0CF4 48 00 00 24 */ b lbl_801D50B8
lbl_801D5098:
/* 801D5098 001D0CF8 38 C7 00 01 */ addi r6, r7, 1
/* 801D509C 001D0CFC 38 07 00 10 */ addi r0, r7, 0x10
/* 801D50A0 001D0D00 90 C3 00 0C */ stw r6, 0xc(r3)
/* 801D50A4 001D0D04 38 E0 00 00 */ li r7, 0
/* 801D50A8 001D0D08 7D 03 01 AE */ stbx r8, r3, r0
/* 801D50AC 001D0D0C 80 C3 00 08 */ lwz r6, 8(r3)
/* 801D50B0 001D0D10 38 06 00 01 */ addi r0, r6, 1
/* 801D50B4 001D0D14 90 03 00 08 */ stw r0, 8(r3)
lbl_801D50B8:
/* 801D50B8 001D0D18 7C E0 3B 78 */ mr r0, r7
/* 801D50BC 001D0D1C 39 29 00 01 */ addi r9, r9, 1
/* 801D50C0 001D0D20 38 84 00 01 */ addi r4, r4, 1
lbl_801D50C4:
/* 801D50C4 001D0D24 2C 00 00 00 */ cmpwi r0, 0
/* 801D50C8 001D0D28 40 82 00 0C */ bne lbl_801D50D4
/* 801D50CC 001D0D2C 7C 09 28 00 */ cmpw r9, r5
/* 801D50D0 001D0D30 41 80 FF B0 */ blt lbl_801D5080
lbl_801D50D4:
/* 801D50D4 001D0D34 7C 03 03 78 */ mr r3, r0
/* 801D50D8 001D0D38 4E 80 00 20 */ blr
.global TRKAppendBuffer1_ui64
TRKAppendBuffer1_ui64:
/* 801D50DC 001D0D3C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D50E0 001D0D40 7C 08 02 A6 */ mflr r0
/* 801D50E4 001D0D44 3C 80 80 49 */ lis r4, lbl_8048EE18@ha
/* 801D50E8 001D0D48 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D50EC 001D0D4C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D50F0 001D0D50 7C 7F 1B 78 */ mr r31, r3
/* 801D50F4 001D0D54 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D50F8 001D0D58 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801D50FC 001D0D5C 80 04 EE 18 */ lwz r0, lbl_8048EE18@l(r4)
/* 801D5100 001D0D60 90 A1 00 08 */ stw r5, 8(r1)
/* 801D5104 001D0D64 2C 00 00 00 */ cmpwi r0, 0
/* 801D5108 001D0D68 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801D510C 001D0D6C 41 82 00 0C */ beq lbl_801D5118
/* 801D5110 001D0D70 38 81 00 08 */ addi r4, r1, 8
/* 801D5114 001D0D74 48 00 00 48 */ b lbl_801D515C
lbl_801D5118:
/* 801D5118 001D0D78 89 41 00 0F */ lbz r10, 0xf(r1)
/* 801D511C 001D0D7C 38 81 00 10 */ addi r4, r1, 0x10
/* 801D5120 001D0D80 89 21 00 0E */ lbz r9, 0xe(r1)
/* 801D5124 001D0D84 89 01 00 0D */ lbz r8, 0xd(r1)
/* 801D5128 001D0D88 88 E1 00 0C */ lbz r7, 0xc(r1)
/* 801D512C 001D0D8C 88 C1 00 0B */ lbz r6, 0xb(r1)
/* 801D5130 001D0D90 88 A1 00 0A */ lbz r5, 0xa(r1)
/* 801D5134 001D0D94 88 61 00 09 */ lbz r3, 9(r1)
/* 801D5138 001D0D98 88 01 00 08 */ lbz r0, 8(r1)
/* 801D513C 001D0D9C 99 41 00 10 */ stb r10, 0x10(r1)
/* 801D5140 001D0DA0 99 21 00 11 */ stb r9, 0x11(r1)
/* 801D5144 001D0DA4 99 01 00 12 */ stb r8, 0x12(r1)
/* 801D5148 001D0DA8 98 E1 00 13 */ stb r7, 0x13(r1)
/* 801D514C 001D0DAC 98 C1 00 14 */ stb r6, 0x14(r1)
/* 801D5150 001D0DB0 98 A1 00 15 */ stb r5, 0x15(r1)
/* 801D5154 001D0DB4 98 61 00 16 */ stb r3, 0x16(r1)
/* 801D5158 001D0DB8 98 01 00 17 */ stb r0, 0x17(r1)
lbl_801D515C:
/* 801D515C 001D0DBC 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801D5160 001D0DC0 3B A0 00 08 */ li r29, 8
/* 801D5164 001D0DC4 3B C0 00 00 */ li r30, 0
/* 801D5168 001D0DC8 20 03 08 80 */ subfic r0, r3, 0x880
/* 801D516C 001D0DCC 28 00 00 08 */ cmplwi r0, 8
/* 801D5170 001D0DD0 40 80 00 0C */ bge lbl_801D517C
/* 801D5174 001D0DD4 3B C0 03 01 */ li r30, 0x301
/* 801D5178 001D0DD8 7C 1D 03 78 */ mr r29, r0
lbl_801D517C:
/* 801D517C 001D0DDC 28 1D 00 01 */ cmplwi r29, 1
/* 801D5180 001D0DE0 40 82 00 14 */ bne lbl_801D5194
/* 801D5184 001D0DE4 88 04 00 00 */ lbz r0, 0(r4)
/* 801D5188 001D0DE8 7C 7F 1A 14 */ add r3, r31, r3
/* 801D518C 001D0DEC 98 03 00 10 */ stb r0, 0x10(r3)
/* 801D5190 001D0DF0 48 00 00 14 */ b lbl_801D51A4
lbl_801D5194:
/* 801D5194 001D0DF4 38 63 00 10 */ addi r3, r3, 0x10
/* 801D5198 001D0DF8 7F A5 EB 78 */ mr r5, r29
/* 801D519C 001D0DFC 7C 7F 1A 14 */ add r3, r31, r3
/* 801D51A0 001D0E00 4B E2 EF C5 */ bl TRK_memcpy
lbl_801D51A4:
/* 801D51A4 001D0E04 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 801D51A8 001D0E08 7F C3 F3 78 */ mr r3, r30
/* 801D51AC 001D0E0C 7C 00 EA 14 */ add r0, r0, r29
/* 801D51B0 001D0E10 90 1F 00 0C */ stw r0, 0xc(r31)
/* 801D51B4 001D0E14 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 801D51B8 001D0E18 90 1F 00 08 */ stw r0, 8(r31)
/* 801D51BC 001D0E1C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D51C0 001D0E20 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D51C4 001D0E24 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801D51C8 001D0E28 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D51CC 001D0E2C 7C 08 03 A6 */ mtlr r0
/* 801D51D0 001D0E30 38 21 00 30 */ addi r1, r1, 0x30
/* 801D51D4 001D0E34 4E 80 00 20 */ blr
.global TRKReadBuffer
TRKReadBuffer:
/* 801D51D8 001D0E38 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D51DC 001D0E3C 7C 08 02 A6 */ mflr r0
/* 801D51E0 001D0E40 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D51E4 001D0E44 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D51E8 001D0E48 3B E0 00 00 */ li r31, 0
/* 801D51EC 001D0E4C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D51F0 001D0E50 7C BE 2B 79 */ or. r30, r5, r5
/* 801D51F4 001D0E54 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D51F8 001D0E58 7C 7D 1B 78 */ mr r29, r3
/* 801D51FC 001D0E5C 7C 83 23 78 */ mr r3, r4
/* 801D5200 001D0E60 40 82 00 0C */ bne lbl_801D520C
/* 801D5204 001D0E64 38 60 00 00 */ li r3, 0
/* 801D5208 001D0E68 48 00 00 40 */ b lbl_801D5248
lbl_801D520C:
/* 801D520C 001D0E6C 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 801D5210 001D0E70 80 1D 00 08 */ lwz r0, 8(r29)
/* 801D5214 001D0E74 7C 04 00 50 */ subf r0, r4, r0
/* 801D5218 001D0E78 7C 1E 00 40 */ cmplw r30, r0
/* 801D521C 001D0E7C 40 81 00 0C */ ble lbl_801D5228
/* 801D5220 001D0E80 3B E0 03 02 */ li r31, 0x302
/* 801D5224 001D0E84 7C 1E 03 78 */ mr r30, r0
lbl_801D5228:
/* 801D5228 001D0E88 38 84 00 10 */ addi r4, r4, 0x10
/* 801D522C 001D0E8C 7F C5 F3 78 */ mr r5, r30
/* 801D5230 001D0E90 7C 9D 22 14 */ add r4, r29, r4
/* 801D5234 001D0E94 4B E2 EF 31 */ bl TRK_memcpy
/* 801D5238 001D0E98 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801D523C 001D0E9C 7F E3 FB 78 */ mr r3, r31
/* 801D5240 001D0EA0 7C 00 F2 14 */ add r0, r0, r30
/* 801D5244 001D0EA4 90 1D 00 0C */ stw r0, 0xc(r29)
lbl_801D5248:
/* 801D5248 001D0EA8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D524C 001D0EAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5250 001D0EB0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D5254 001D0EB4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D5258 001D0EB8 7C 08 03 A6 */ mtlr r0
/* 801D525C 001D0EBC 38 21 00 20 */ addi r1, r1, 0x20
/* 801D5260 001D0EC0 4E 80 00 20 */ blr
.global TRKAppendBuffer
TRKAppendBuffer:
/* 801D5264 001D0EC4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D5268 001D0EC8 7C 08 02 A6 */ mflr r0
/* 801D526C 001D0ECC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D5270 001D0ED0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D5274 001D0ED4 3B E0 00 00 */ li r31, 0
/* 801D5278 001D0ED8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D527C 001D0EDC 7C BE 2B 79 */ or. r30, r5, r5
/* 801D5280 001D0EE0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D5284 001D0EE4 7C 7D 1B 78 */ mr r29, r3
/* 801D5288 001D0EE8 40 82 00 0C */ bne lbl_801D5294
/* 801D528C 001D0EEC 38 60 00 00 */ li r3, 0
/* 801D5290 001D0EF0 48 00 00 5C */ b lbl_801D52EC
lbl_801D5294:
/* 801D5294 001D0EF4 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801D5298 001D0EF8 20 03 08 80 */ subfic r0, r3, 0x880
/* 801D529C 001D0EFC 7C 00 F0 40 */ cmplw r0, r30
/* 801D52A0 001D0F00 40 80 00 0C */ bge lbl_801D52AC
/* 801D52A4 001D0F04 3B E0 03 01 */ li r31, 0x301
/* 801D52A8 001D0F08 7C 1E 03 78 */ mr r30, r0
lbl_801D52AC:
/* 801D52AC 001D0F0C 28 1E 00 01 */ cmplwi r30, 1
/* 801D52B0 001D0F10 40 82 00 14 */ bne lbl_801D52C4
/* 801D52B4 001D0F14 88 04 00 00 */ lbz r0, 0(r4)
/* 801D52B8 001D0F18 7C 7D 1A 14 */ add r3, r29, r3
/* 801D52BC 001D0F1C 98 03 00 10 */ stb r0, 0x10(r3)
/* 801D52C0 001D0F20 48 00 00 14 */ b lbl_801D52D4
lbl_801D52C4:
/* 801D52C4 001D0F24 38 63 00 10 */ addi r3, r3, 0x10
/* 801D52C8 001D0F28 7F C5 F3 78 */ mr r5, r30
/* 801D52CC 001D0F2C 7C 7D 1A 14 */ add r3, r29, r3
/* 801D52D0 001D0F30 4B E2 EE 95 */ bl TRK_memcpy
lbl_801D52D4:
/* 801D52D4 001D0F34 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801D52D8 001D0F38 7F E3 FB 78 */ mr r3, r31
/* 801D52DC 001D0F3C 7C 00 F2 14 */ add r0, r0, r30
/* 801D52E0 001D0F40 90 1D 00 0C */ stw r0, 0xc(r29)
/* 801D52E4 001D0F44 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801D52E8 001D0F48 90 1D 00 08 */ stw r0, 8(r29)
lbl_801D52EC:
/* 801D52EC 001D0F4C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D52F0 001D0F50 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D52F4 001D0F54 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D52F8 001D0F58 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D52FC 001D0F5C 7C 08 03 A6 */ mtlr r0
/* 801D5300 001D0F60 38 21 00 20 */ addi r1, r1, 0x20
/* 801D5304 001D0F64 4E 80 00 20 */ blr
.global TRKSetBufferPosition
TRKSetBufferPosition:
/* 801D5308 001D0F68 28 04 08 80 */ cmplwi r4, 0x880
/* 801D530C 001D0F6C 38 A0 00 00 */ li r5, 0
/* 801D5310 001D0F70 40 81 00 0C */ ble lbl_801D531C
/* 801D5314 001D0F74 38 A0 03 01 */ li r5, 0x301
/* 801D5318 001D0F78 48 00 00 18 */ b lbl_801D5330
lbl_801D531C:
/* 801D531C 001D0F7C 90 83 00 0C */ stw r4, 0xc(r3)
/* 801D5320 001D0F80 80 03 00 08 */ lwz r0, 8(r3)
/* 801D5324 001D0F84 7C 04 00 40 */ cmplw r4, r0
/* 801D5328 001D0F88 40 81 00 08 */ ble lbl_801D5330
/* 801D532C 001D0F8C 90 83 00 08 */ stw r4, 8(r3)
lbl_801D5330:
/* 801D5330 001D0F90 7C A3 2B 78 */ mr r3, r5
/* 801D5334 001D0F94 4E 80 00 20 */ blr
.global TRKResetBuffer
TRKResetBuffer:
/* 801D5338 001D0F98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D533C 001D0F9C 7C 08 02 A6 */ mflr r0
/* 801D5340 001D0FA0 2C 04 00 00 */ cmpwi r4, 0
/* 801D5344 001D0FA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D5348 001D0FA8 38 00 00 00 */ li r0, 0
/* 801D534C 001D0FAC 90 03 00 08 */ stw r0, 8(r3)
/* 801D5350 001D0FB0 90 03 00 0C */ stw r0, 0xc(r3)
/* 801D5354 001D0FB4 40 82 00 14 */ bne lbl_801D5368
/* 801D5358 001D0FB8 38 63 00 10 */ addi r3, r3, 0x10
/* 801D535C 001D0FBC 38 80 00 00 */ li r4, 0
/* 801D5360 001D0FC0 38 A0 08 80 */ li r5, 0x880
/* 801D5364 001D0FC4 4B E2 ED D1 */ bl TRK_memset
lbl_801D5368:
/* 801D5368 001D0FC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D536C 001D0FCC 7C 08 03 A6 */ mtlr r0
/* 801D5370 001D0FD0 38 21 00 10 */ addi r1, r1, 0x10
/* 801D5374 001D0FD4 4E 80 00 20 */ blr
.global TRKReleaseBuffer
TRKReleaseBuffer:
/* 801D5378 001D0FD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D537C 001D0FDC 7C 08 02 A6 */ mflr r0
/* 801D5380 001D0FE0 2C 03 FF FF */ cmpwi r3, -1
/* 801D5384 001D0FE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D5388 001D0FE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D538C 001D0FEC 41 82 00 3C */ beq lbl_801D53C8
/* 801D5390 001D0FF0 2C 03 00 00 */ cmpwi r3, 0
/* 801D5394 001D0FF4 41 80 00 34 */ blt lbl_801D53C8
/* 801D5398 001D0FF8 2C 03 00 03 */ cmpwi r3, 3
/* 801D539C 001D0FFC 40 80 00 2C */ bge lbl_801D53C8
/* 801D53A0 001D1000 1C 83 08 90 */ mulli r4, r3, 0x890
/* 801D53A4 001D1004 3C 60 80 49 */ lis r3, lbl_8048EE20@ha
/* 801D53A8 001D1008 38 03 EE 20 */ addi r0, r3, lbl_8048EE20@l
/* 801D53AC 001D100C 7F E0 22 14 */ add r31, r0, r4
/* 801D53B0 001D1010 7F E3 FB 78 */ mr r3, r31
/* 801D53B4 001D1014 48 00 1C A9 */ bl func_801D705C
/* 801D53B8 001D1018 38 00 00 00 */ li r0, 0
/* 801D53BC 001D101C 7F E3 FB 78 */ mr r3, r31
/* 801D53C0 001D1020 90 1F 00 04 */ stw r0, 4(r31)
/* 801D53C4 001D1024 48 00 1C 91 */ bl func_801D7054
lbl_801D53C8:
/* 801D53C8 001D1028 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D53CC 001D102C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D53D0 001D1030 7C 08 03 A6 */ mtlr r0
/* 801D53D4 001D1034 38 21 00 10 */ addi r1, r1, 0x10
/* 801D53D8 001D1038 4E 80 00 20 */ blr
.global TRKGetBuffer
TRKGetBuffer:
/* 801D53DC 001D103C 2C 03 00 00 */ cmpwi r3, 0
/* 801D53E0 001D1040 38 00 00 00 */ li r0, 0
/* 801D53E4 001D1044 41 80 00 1C */ blt lbl_801D5400
/* 801D53E8 001D1048 2C 03 00 03 */ cmpwi r3, 3
/* 801D53EC 001D104C 40 80 00 14 */ bge lbl_801D5400
/* 801D53F0 001D1050 1C 83 08 90 */ mulli r4, r3, 0x890
/* 801D53F4 001D1054 3C 60 80 49 */ lis r3, lbl_8048EE20@ha
/* 801D53F8 001D1058 38 03 EE 20 */ addi r0, r3, lbl_8048EE20@l
/* 801D53FC 001D105C 7C 00 22 14 */ add r0, r0, r4
lbl_801D5400:
/* 801D5400 001D1060 7C 03 03 78 */ mr r3, r0
/* 801D5404 001D1064 4E 80 00 20 */ blr
.global TRKGetFreeBuffer
TRKGetFreeBuffer:
/* 801D5408 001D1068 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D540C 001D106C 7C 08 02 A6 */ mflr r0
/* 801D5410 001D1070 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D5414 001D1074 38 00 00 00 */ li r0, 0
/* 801D5418 001D1078 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 801D541C 001D107C 7C 9C 23 78 */ mr r28, r4
/* 801D5420 001D1080 7C 7B 1B 78 */ mr r27, r3
/* 801D5424 001D1084 3B C0 03 00 */ li r30, 0x300
/* 801D5428 001D1088 3B A0 00 00 */ li r29, 0
/* 801D542C 001D108C 90 04 00 00 */ stw r0, 0(r4)
/* 801D5430 001D1090 48 00 00 6C */ b lbl_801D549C
lbl_801D5434:
/* 801D5434 001D1094 2C 1D 00 00 */ cmpwi r29, 0
/* 801D5438 001D1098 3B E0 00 00 */ li r31, 0
/* 801D543C 001D109C 41 80 00 1C */ blt lbl_801D5458
/* 801D5440 001D10A0 2C 1D 00 03 */ cmpwi r29, 3
/* 801D5444 001D10A4 40 80 00 14 */ bge lbl_801D5458
/* 801D5448 001D10A8 1C 9D 08 90 */ mulli r4, r29, 0x890
/* 801D544C 001D10AC 3C 60 80 49 */ lis r3, lbl_8048EE20@ha
/* 801D5450 001D10B0 38 03 EE 20 */ addi r0, r3, lbl_8048EE20@l
/* 801D5454 001D10B4 7F E0 22 14 */ add r31, r0, r4
lbl_801D5458:
/* 801D5458 001D10B8 7F E3 FB 78 */ mr r3, r31
/* 801D545C 001D10BC 48 00 1C 01 */ bl func_801D705C
/* 801D5460 001D10C0 80 1F 00 04 */ lwz r0, 4(r31)
/* 801D5464 001D10C4 2C 00 00 00 */ cmpwi r0, 0
/* 801D5468 001D10C8 40 82 00 28 */ bne lbl_801D5490
/* 801D546C 001D10CC 38 60 00 00 */ li r3, 0
/* 801D5470 001D10D0 38 00 00 01 */ li r0, 1
/* 801D5474 001D10D4 90 7F 00 08 */ stw r3, 8(r31)
/* 801D5478 001D10D8 3B C0 00 00 */ li r30, 0
/* 801D547C 001D10DC 90 7F 00 0C */ stw r3, 0xc(r31)
/* 801D5480 001D10E0 90 1F 00 04 */ stw r0, 4(r31)
/* 801D5484 001D10E4 93 FC 00 00 */ stw r31, 0(r28)
/* 801D5488 001D10E8 93 BB 00 00 */ stw r29, 0(r27)
/* 801D548C 001D10EC 3B A0 00 03 */ li r29, 3
lbl_801D5490:
/* 801D5490 001D10F0 7F E3 FB 78 */ mr r3, r31
/* 801D5494 001D10F4 48 00 1B C1 */ bl func_801D7054
/* 801D5498 001D10F8 3B BD 00 01 */ addi r29, r29, 1
lbl_801D549C:
/* 801D549C 001D10FC 2C 1D 00 03 */ cmpwi r29, 3
/* 801D54A0 001D1100 41 80 FF 94 */ blt lbl_801D5434
/* 801D54A4 001D1104 2C 1E 03 00 */ cmpwi r30, 0x300
/* 801D54A8 001D1108 40 82 00 10 */ bne lbl_801D54B8
/* 801D54AC 001D110C 3C 60 80 40 */ lis r3, lbl_803FD660@ha
/* 801D54B0 001D1110 38 63 D6 60 */ addi r3, r3, lbl_803FD660@l
/* 801D54B4 001D1114 48 00 02 41 */ bl usr_puts_serial
lbl_801D54B8:
/* 801D54B8 001D1118 7F C3 F3 78 */ mr r3, r30
/* 801D54BC 001D111C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 801D54C0 001D1120 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D54C4 001D1124 7C 08 03 A6 */ mtlr r0
/* 801D54C8 001D1128 38 21 00 20 */ addi r1, r1, 0x20
/* 801D54CC 001D112C 4E 80 00 20 */ blr
.global TRKInitializeMessageBuffers
TRKInitializeMessageBuffers:
/* 801D54D0 001D1130 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D54D4 001D1134 7C 08 02 A6 */ mflr r0
/* 801D54D8 001D1138 3C 60 80 49 */ lis r3, lbl_8048EE20@ha
/* 801D54DC 001D113C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D54E0 001D1140 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D54E4 001D1144 3B E0 00 00 */ li r31, 0
/* 801D54E8 001D1148 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D54EC 001D114C 3B C3 EE 20 */ addi r30, r3, lbl_8048EE20@l
/* 801D54F0 001D1150 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D54F4 001D1154 3B A0 00 00 */ li r29, 0
lbl_801D54F8:
/* 801D54F8 001D1158 7F C3 F3 78 */ mr r3, r30
/* 801D54FC 001D115C 48 00 1B 69 */ bl func_801D7064
/* 801D5500 001D1160 7F C3 F3 78 */ mr r3, r30
/* 801D5504 001D1164 48 00 1B 59 */ bl func_801D705C
/* 801D5508 001D1168 93 FE 00 04 */ stw r31, 4(r30)
/* 801D550C 001D116C 7F C3 F3 78 */ mr r3, r30
/* 801D5510 001D1170 48 00 1B 45 */ bl func_801D7054
/* 801D5514 001D1174 3B BD 00 01 */ addi r29, r29, 1
/* 801D5518 001D1178 3B DE 08 90 */ addi r30, r30, 0x890
/* 801D551C 001D117C 2C 1D 00 03 */ cmpwi r29, 3
/* 801D5520 001D1180 41 80 FF D8 */ blt lbl_801D54F8
/* 801D5524 001D1184 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D5528 001D1188 38 60 00 00 */ li r3, 0
/* 801D552C 001D118C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5530 001D1190 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D5534 001D1194 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D5538 001D1198 7C 08 03 A6 */ mtlr r0
/* 801D553C 001D119C 38 21 00 20 */ addi r1, r1, 0x20
/* 801D5540 001D11A0 4E 80 00 20 */ blr
.global func_801D5544
func_801D5544:
/* 801D5544 001D11A4 38 60 00 00 */ li r3, 0
/* 801D5548 001D11A8 4E 80 00 20 */ blr
.global func_801D554C
func_801D554C:
/* 801D554C 001D11AC 3C 60 80 49 */ lis r3, lbl_804907D0@ha
/* 801D5550 001D11B0 38 A0 FF FF */ li r5, -1
/* 801D5554 001D11B4 38 83 07 D0 */ addi r4, r3, lbl_804907D0@l
/* 801D5558 001D11B8 38 00 00 00 */ li r0, 0
/* 801D555C 001D11BC 90 A4 00 00 */ stw r5, 0(r4)
/* 801D5560 001D11C0 38 60 00 00 */ li r3, 0
/* 801D5564 001D11C4 90 04 00 08 */ stw r0, 8(r4)
/* 801D5568 001D11C8 90 04 00 0C */ stw r0, 0xc(r4)
/* 801D556C 001D11CC 4E 80 00 20 */ blr
.global TRKProcessInput
TRKProcessInput:
/* 801D5570 001D11D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D5574 001D11D4 7C 08 02 A6 */ mflr r0
/* 801D5578 001D11D8 38 80 00 02 */ li r4, 2
/* 801D557C 001D11DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D5580 001D11E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D5584 001D11E4 7C 7F 1B 78 */ mr r31, r3
/* 801D5588 001D11E8 38 61 00 08 */ addi r3, r1, 8
/* 801D558C 001D11EC 4B FF F3 C9 */ bl TRKConstructEvent
/* 801D5590 001D11F0 3C 60 80 49 */ lis r3, lbl_804907D0@ha
/* 801D5594 001D11F4 38 00 FF FF */ li r0, -1
/* 801D5598 001D11F8 38 83 07 D0 */ addi r4, r3, lbl_804907D0@l
/* 801D559C 001D11FC 93 E1 00 10 */ stw r31, 0x10(r1)
/* 801D55A0 001D1200 38 61 00 08 */ addi r3, r1, 8
/* 801D55A4 001D1204 90 04 00 00 */ stw r0, 0(r4)
/* 801D55A8 001D1208 4B FF F3 C5 */ bl TRKPostEvent
/* 801D55AC 001D120C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D55B0 001D1210 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D55B4 001D1214 7C 08 03 A6 */ mtlr r0
/* 801D55B8 001D1218 38 21 00 20 */ addi r1, r1, 0x20
/* 801D55BC 001D121C 4E 80 00 20 */ blr
.global TRKGetInput
TRKGetInput:
/* 801D55C0 001D1220 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D55C4 001D1224 7C 08 02 A6 */ mflr r0
/* 801D55C8 001D1228 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D55CC 001D122C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D55D0 001D1230 48 00 00 51 */ bl func_801D5620
/* 801D55D4 001D1234 7C 7F 1B 78 */ mr r31, r3
/* 801D55D8 001D1238 2C 1F FF FF */ cmpwi r31, -1
/* 801D55DC 001D123C 41 82 00 30 */ beq lbl_801D560C
/* 801D55E0 001D1240 4B FF FD FD */ bl TRKGetBuffer
/* 801D55E4 001D1244 38 61 00 08 */ addi r3, r1, 8
/* 801D55E8 001D1248 38 80 00 02 */ li r4, 2
/* 801D55EC 001D124C 4B FF F3 69 */ bl TRKConstructEvent
/* 801D55F0 001D1250 3C 60 80 49 */ lis r3, lbl_804907D0@ha
/* 801D55F4 001D1254 38 00 FF FF */ li r0, -1
/* 801D55F8 001D1258 38 83 07 D0 */ addi r4, r3, lbl_804907D0@l
/* 801D55FC 001D125C 93 E1 00 10 */ stw r31, 0x10(r1)
/* 801D5600 001D1260 38 61 00 08 */ addi r3, r1, 8
/* 801D5604 001D1264 90 04 00 00 */ stw r0, 0(r4)
/* 801D5608 001D1268 4B FF F3 65 */ bl TRKPostEvent
lbl_801D560C:
/* 801D560C 001D126C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D5610 001D1270 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5614 001D1274 7C 08 03 A6 */ mtlr r0
/* 801D5618 001D1278 38 21 00 20 */ addi r1, r1, 0x20
/* 801D561C 001D127C 4E 80 00 20 */ blr
.global func_801D5620
func_801D5620:
/* 801D5620 001D1280 94 21 F7 20 */ stwu r1, -0x8e0(r1)
/* 801D5624 001D1284 7C 08 02 A6 */ mflr r0
/* 801D5628 001D1288 90 01 08 E4 */ stw r0, 0x8e4(r1)
/* 801D562C 001D128C 93 E1 08 DC */ stw r31, 0x8dc(r1)
/* 801D5630 001D1290 48 00 40 55 */ bl func_801D9684
/* 801D5634 001D1294 2C 03 00 00 */ cmpwi r3, 0
/* 801D5638 001D1298 41 81 00 0C */ bgt lbl_801D5644
/* 801D563C 001D129C 38 60 FF FF */ li r3, -1
/* 801D5640 001D12A0 48 00 00 9C */ b lbl_801D56DC
lbl_801D5644:
/* 801D5644 001D12A4 38 61 00 0C */ addi r3, r1, 0xc
/* 801D5648 001D12A8 38 81 00 08 */ addi r4, r1, 8
/* 801D564C 001D12AC 4B FF FD BD */ bl TRKGetFreeBuffer
/* 801D5650 001D12B0 7C 60 1B 78 */ mr r0, r3
/* 801D5654 001D12B4 80 61 00 08 */ lwz r3, 8(r1)
/* 801D5658 001D12B8 7C 1F 03 78 */ mr r31, r0
/* 801D565C 001D12BC 38 80 00 00 */ li r4, 0
/* 801D5660 001D12C0 4B FF FC A9 */ bl TRKSetBufferPosition
/* 801D5664 001D12C4 38 61 00 10 */ addi r3, r1, 0x10
/* 801D5668 001D12C8 38 80 00 40 */ li r4, 0x40
/* 801D566C 001D12CC 48 00 3F DD */ bl TRKWriteUARTN
/* 801D5670 001D12D0 2C 03 00 00 */ cmpwi r3, 0
/* 801D5674 001D12D4 40 82 00 58 */ bne lbl_801D56CC
/* 801D5678 001D12D8 80 61 00 08 */ lwz r3, 8(r1)
/* 801D567C 001D12DC 38 81 00 10 */ addi r4, r1, 0x10
/* 801D5680 001D12E0 38 A0 00 40 */ li r5, 0x40
/* 801D5684 001D12E4 4B FF F9 F1 */ bl TRKAppendBuffer_ui8
/* 801D5688 001D12E8 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D568C 001D12EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D5690 001D12F0 34 83 FF C0 */ addic. r4, r3, -64
/* 801D5694 001D12F4 40 81 00 44 */ ble lbl_801D56D8
/* 801D5698 001D12F8 38 61 00 50 */ addi r3, r1, 0x50
/* 801D569C 001D12FC 48 00 3F AD */ bl TRKWriteUARTN
/* 801D56A0 001D1300 2C 03 00 00 */ cmpwi r3, 0
/* 801D56A4 001D1304 40 82 00 18 */ bne lbl_801D56BC
/* 801D56A8 001D1308 80 61 00 08 */ lwz r3, 8(r1)
/* 801D56AC 001D130C 38 81 00 50 */ addi r4, r1, 0x50
/* 801D56B0 001D1310 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 801D56B4 001D1314 4B FF F9 C1 */ bl TRKAppendBuffer_ui8
/* 801D56B8 001D1318 48 00 00 20 */ b lbl_801D56D8
lbl_801D56BC:
/* 801D56BC 001D131C 7F E3 FB 78 */ mr r3, r31
/* 801D56C0 001D1320 4B FF FC B9 */ bl TRKReleaseBuffer
/* 801D56C4 001D1324 3B E0 FF FF */ li r31, -1
/* 801D56C8 001D1328 48 00 00 10 */ b lbl_801D56D8
lbl_801D56CC:
/* 801D56CC 001D132C 7F E3 FB 78 */ mr r3, r31
/* 801D56D0 001D1330 4B FF FC A9 */ bl TRKReleaseBuffer
/* 801D56D4 001D1334 3B E0 FF FF */ li r31, -1
lbl_801D56D8:
/* 801D56D8 001D1338 7F E3 FB 78 */ mr r3, r31
lbl_801D56DC:
/* 801D56DC 001D133C 80 01 08 E4 */ lwz r0, 0x8e4(r1)
/* 801D56E0 001D1340 83 E1 08 DC */ lwz r31, 0x8dc(r1)
/* 801D56E4 001D1344 7C 08 03 A6 */ mtlr r0
/* 801D56E8 001D1348 38 21 08 E0 */ addi r1, r1, 0x8e0
/* 801D56EC 001D134C 4E 80 00 20 */ blr
.global func_801D56F0
func_801D56F0:
/* 801D56F0 001D1350 4E 80 00 20 */ blr
.global usr_puts_serial
usr_puts_serial:
/* 801D56F4 001D1354 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D56F8 001D1358 7C 08 02 A6 */ mflr r0
/* 801D56FC 001D135C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D5700 001D1360 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D5704 001D1364 3B E0 00 00 */ li r31, 0
/* 801D5708 001D1368 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D570C 001D136C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D5710 001D1370 7C 7D 1B 78 */ mr r29, r3
/* 801D5714 001D1374 38 60 00 00 */ li r3, 0
/* 801D5718 001D1378 48 00 00 30 */ b lbl_801D5748
lbl_801D571C:
/* 801D571C 001D137C 48 00 12 75 */ bl func_801D6990
/* 801D5720 001D1380 9B C1 00 08 */ stb r30, 8(r1)
/* 801D5724 001D1384 7C 7E 1B 78 */ mr r30, r3
/* 801D5728 001D1388 38 60 00 00 */ li r3, 0
/* 801D572C 001D138C 9B E1 00 09 */ stb r31, 9(r1)
/* 801D5730 001D1390 48 00 12 55 */ bl SetTRKConnected
/* 801D5734 001D1394 38 61 00 08 */ addi r3, r1, 8
/* 801D5738 001D1398 4B E3 23 8D */ bl func_80007AC4
/* 801D573C 001D139C 7F C3 F3 78 */ mr r3, r30
/* 801D5740 001D13A0 48 00 12 45 */ bl SetTRKConnected
/* 801D5744 001D13A4 38 60 00 00 */ li r3, 0
lbl_801D5748:
/* 801D5748 001D13A8 2C 03 00 00 */ cmpwi r3, 0
/* 801D574C 001D13AC 40 82 00 14 */ bne lbl_801D5760
/* 801D5750 001D13B0 88 1D 00 00 */ lbz r0, 0(r29)
/* 801D5754 001D13B4 3B BD 00 01 */ addi r29, r29, 1
/* 801D5758 001D13B8 7C 1E 07 75 */ extsb. r30, r0
/* 801D575C 001D13BC 40 82 FF C0 */ bne lbl_801D571C
lbl_801D5760:
/* 801D5760 001D13C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D5764 001D13C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5768 001D13C8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D576C 001D13CC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D5770 001D13D0 7C 08 03 A6 */ mtlr r0
/* 801D5774 001D13D4 38 21 00 20 */ addi r1, r1, 0x20
/* 801D5778 001D13D8 4E 80 00 20 */ blr
.global func_801D577C
func_801D577C:
/* 801D577C 001D13DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D5780 001D13E0 7C 08 02 A6 */ mflr r0
/* 801D5784 001D13E4 38 80 00 00 */ li r4, 0
/* 801D5788 001D13E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D578C 001D13EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D5790 001D13F0 3B E0 05 00 */ li r31, 0x500
/* 801D5794 001D13F4 93 C1 00 08 */ stw r30, 8(r1)
/* 801D5798 001D13F8 7C 7E 1B 78 */ mr r30, r3
/* 801D579C 001D13FC 4B FF FB 6D */ bl TRKSetBufferPosition
/* 801D57A0 001D1400 88 1E 00 14 */ lbz r0, 0x14(r30)
/* 801D57A4 001D1404 28 00 00 1A */ cmplwi r0, 0x1a
/* 801D57A8 001D1408 41 81 00 F8 */ bgt lbl_801D58A0
/* 801D57AC 001D140C 3C 60 80 42 */ lis r3, lbl_80423188@ha
/* 801D57B0 001D1410 54 00 10 3A */ slwi r0, r0, 2
/* 801D57B4 001D1414 38 63 31 88 */ addi r3, r3, lbl_80423188@l
/* 801D57B8 001D1418 7C 03 00 2E */ lwzx r0, r3, r0
/* 801D57BC 001D141C 7C 09 03 A6 */ mtctr r0
/* 801D57C0 001D1420 4E 80 04 20 */ bctr
/* 801D57C4 001D1424 7F C3 F3 78 */ mr r3, r30
/* 801D57C8 001D1428 48 00 11 35 */ bl func_801D68FC
/* 801D57CC 001D142C 7C 7F 1B 78 */ mr r31, r3
/* 801D57D0 001D1430 48 00 00 D0 */ b lbl_801D58A0
/* 801D57D4 001D1434 7F C3 F3 78 */ mr r3, r30
/* 801D57D8 001D1438 48 00 10 89 */ bl func_801D6860
/* 801D57DC 001D143C 7C 7F 1B 78 */ mr r31, r3
/* 801D57E0 001D1440 48 00 00 C0 */ b lbl_801D58A0
/* 801D57E4 001D1444 7F C3 F3 78 */ mr r3, r30
/* 801D57E8 001D1448 48 00 0F FD */ bl func_801D67E4
/* 801D57EC 001D144C 7C 7F 1B 78 */ mr r31, r3
/* 801D57F0 001D1450 48 00 00 B0 */ b lbl_801D58A0
/* 801D57F4 001D1454 7F C3 F3 78 */ mr r3, r30
/* 801D57F8 001D1458 48 00 0F 71 */ bl func_801D6768
/* 801D57FC 001D145C 7C 7F 1B 78 */ mr r31, r3
/* 801D5800 001D1460 48 00 00 A0 */ b lbl_801D58A0
/* 801D5804 001D1464 7F C3 F3 78 */ mr r3, r30
/* 801D5808 001D1468 48 00 0F 59 */ bl func_801D6760
/* 801D580C 001D146C 7C 7F 1B 78 */ mr r31, r3
/* 801D5810 001D1470 48 00 00 90 */ b lbl_801D58A0
/* 801D5814 001D1474 7F C3 F3 78 */ mr r3, r30
/* 801D5818 001D1478 48 00 0F 41 */ bl func_801D6758
/* 801D581C 001D147C 7C 7F 1B 78 */ mr r31, r3
/* 801D5820 001D1480 48 00 00 80 */ b lbl_801D58A0
/* 801D5824 001D1484 7F C3 F3 78 */ mr r3, r30
/* 801D5828 001D1488 48 00 0C E9 */ bl func_801D6510
/* 801D582C 001D148C 7C 7F 1B 78 */ mr r31, r3
/* 801D5830 001D1490 48 00 00 70 */ b lbl_801D58A0
/* 801D5834 001D1494 7F C3 F3 78 */ mr r3, r30
/* 801D5838 001D1498 48 00 0A BD */ bl func_801D62F4
/* 801D583C 001D149C 7C 7F 1B 78 */ mr r31, r3
/* 801D5840 001D14A0 48 00 00 60 */ b lbl_801D58A0
/* 801D5844 001D14A4 7F C3 F3 78 */ mr r3, r30
/* 801D5848 001D14A8 48 00 08 89 */ bl func_801D60D0
/* 801D584C 001D14AC 7C 7F 1B 78 */ mr r31, r3
/* 801D5850 001D14B0 48 00 00 50 */ b lbl_801D58A0
/* 801D5854 001D14B4 7F C3 F3 78 */ mr r3, r30
/* 801D5858 001D14B8 48 00 05 BD */ bl func_801D5E14
/* 801D585C 001D14BC 7C 7F 1B 78 */ mr r31, r3
/* 801D5860 001D14C0 48 00 00 40 */ b lbl_801D58A0
/* 801D5864 001D14C4 7F C3 F3 78 */ mr r3, r30
/* 801D5868 001D14C8 48 00 04 C9 */ bl func_801D5D30
/* 801D586C 001D14CC 7C 7F 1B 78 */ mr r31, r3
/* 801D5870 001D14D0 48 00 00 30 */ b lbl_801D58A0
/* 801D5874 001D14D4 7F C3 F3 78 */ mr r3, r30
/* 801D5878 001D14D8 48 00 01 E5 */ bl func_801D5A5C
/* 801D587C 001D14DC 7C 7F 1B 78 */ mr r31, r3
/* 801D5880 001D14E0 48 00 00 20 */ b lbl_801D58A0
/* 801D5884 001D14E4 7F C3 F3 78 */ mr r3, r30
/* 801D5888 001D14E8 48 00 01 09 */ bl func_801D5990
/* 801D588C 001D14EC 7C 7F 1B 78 */ mr r31, r3
/* 801D5890 001D14F0 48 00 00 10 */ b lbl_801D58A0
/* 801D5894 001D14F4 7F C3 F3 78 */ mr r3, r30
/* 801D5898 001D14F8 48 00 00 2D */ bl func_801D58C4
/* 801D589C 001D14FC 7C 7F 1B 78 */ mr r31, r3
lbl_801D58A0:
/* 801D58A0 001D1500 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D58A4 001D1504 7F E3 FB 78 */ mr r3, r31
/* 801D58A8 001D1508 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D58AC 001D150C 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D58B0 001D1510 7C 08 03 A6 */ mtlr r0
/* 801D58B4 001D1514 38 21 00 10 */ addi r1, r1, 0x10
/* 801D58B8 001D1518 4E 80 00 20 */ blr
.global func_801D58BC
func_801D58BC:
/* 801D58BC 001D151C 38 60 00 00 */ li r3, 0
/* 801D58C0 001D1520 4E 80 00 20 */ blr
.global func_801D58C4
func_801D58C4:
/* 801D58C4 001D1524 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D58C8 001D1528 7C 08 02 A6 */ mflr r0
/* 801D58CC 001D152C 3C 80 80 40 */ lis r4, lbl_803FD680@ha
/* 801D58D0 001D1530 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D58D4 001D1534 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801D58D8 001D1538 3B E4 D6 80 */ addi r31, r4, lbl_803FD680@l
/* 801D58DC 001D153C 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801D58E0 001D1540 88 03 00 18 */ lbz r0, 0x18(r3)
/* 801D58E4 001D1544 8B C3 00 1C */ lbz r30, 0x1c(r3)
/* 801D58E8 001D1548 28 00 00 01 */ cmplwi r0, 1
/* 801D58EC 001D154C 40 82 00 30 */ bne lbl_801D591C
/* 801D58F0 001D1550 38 7F 00 00 */ addi r3, r31, 0
/* 801D58F4 001D1554 4B FF FE 01 */ bl usr_puts_serial
/* 801D58F8 001D1558 28 1E 00 00 */ cmplwi r30, 0
/* 801D58FC 001D155C 41 82 00 10 */ beq lbl_801D590C
/* 801D5900 001D1560 38 7F 00 20 */ addi r3, r31, 0x20
/* 801D5904 001D1564 4B FF FD F1 */ bl usr_puts_serial
/* 801D5908 001D1568 48 00 00 0C */ b lbl_801D5914
lbl_801D590C:
/* 801D590C 001D156C 38 7F 00 28 */ addi r3, r31, 0x28
/* 801D5910 001D1570 4B FF FD E5 */ bl usr_puts_serial
lbl_801D5914:
/* 801D5914 001D1574 7F C3 F3 78 */ mr r3, r30
/* 801D5918 001D1578 48 00 40 85 */ bl SetUseSerialIO
lbl_801D591C:
/* 801D591C 001D157C 38 61 00 08 */ addi r3, r1, 8
/* 801D5920 001D1580 38 80 00 00 */ li r4, 0
/* 801D5924 001D1584 38 A0 00 40 */ li r5, 0x40
/* 801D5928 001D1588 4B E2 E8 0D */ bl TRK_memset
/* 801D592C 001D158C 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5930 001D1590 38 00 00 80 */ li r0, 0x80
/* 801D5934 001D1594 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5938 001D1598 38 C0 00 40 */ li r6, 0x40
/* 801D593C 001D159C 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5940 001D15A0 38 A0 00 00 */ li r5, 0
/* 801D5944 001D15A4 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D5948 001D15A8 38 61 00 08 */ addi r3, r1, 8
/* 801D594C 001D15AC 38 E8 00 01 */ addi r7, r8, 1
/* 801D5950 001D15B0 38 80 00 40 */ li r4, 0x40
/* 801D5954 001D15B4 91 01 00 14 */ stw r8, 0x14(r1)
/* 801D5958 001D15B8 38 07 00 01 */ addi r0, r7, 1
/* 801D595C 001D15BC 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5960 001D15C0 90 C1 00 08 */ stw r6, 8(r1)
/* 801D5964 001D15C4 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801D5968 001D15C8 90 09 00 00 */ stw r0, 0(r9)
/* 801D596C 001D15CC 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D5970 001D15D0 48 00 3C 9D */ bl func_801D960C
/* 801D5974 001D15D4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D5978 001D15D8 38 60 00 00 */ li r3, 0
/* 801D597C 001D15DC 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801D5980 001D15E0 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801D5984 001D15E4 7C 08 03 A6 */ mtlr r0
/* 801D5988 001D15E8 38 21 00 50 */ addi r1, r1, 0x50
/* 801D598C 001D15EC 4E 80 00 20 */ blr
.global func_801D5990
func_801D5990:
/* 801D5990 001D15F0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D5994 001D15F4 7C 08 02 A6 */ mflr r0
/* 801D5998 001D15F8 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D599C 001D15FC 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801D59A0 001D1600 48 00 1C 5D */ bl TRKTargetStop
/* 801D59A4 001D1604 2C 03 07 04 */ cmpwi r3, 0x704
/* 801D59A8 001D1608 41 82 00 2C */ beq lbl_801D59D4
/* 801D59AC 001D160C 40 80 00 10 */ bge lbl_801D59BC
/* 801D59B0 001D1610 2C 03 00 00 */ cmpwi r3, 0
/* 801D59B4 001D1614 41 82 00 18 */ beq lbl_801D59CC
/* 801D59B8 001D1618 48 00 00 34 */ b lbl_801D59EC
lbl_801D59BC:
/* 801D59BC 001D161C 2C 03 07 06 */ cmpwi r3, 0x706
/* 801D59C0 001D1620 41 82 00 24 */ beq lbl_801D59E4
/* 801D59C4 001D1624 40 80 00 28 */ bge lbl_801D59EC
/* 801D59C8 001D1628 48 00 00 14 */ b lbl_801D59DC
lbl_801D59CC:
/* 801D59CC 001D162C 3B E0 00 00 */ li r31, 0
/* 801D59D0 001D1630 48 00 00 20 */ b lbl_801D59F0
lbl_801D59D4:
/* 801D59D4 001D1634 3B E0 00 21 */ li r31, 0x21
/* 801D59D8 001D1638 48 00 00 18 */ b lbl_801D59F0
lbl_801D59DC:
/* 801D59DC 001D163C 3B E0 00 22 */ li r31, 0x22
/* 801D59E0 001D1640 48 00 00 10 */ b lbl_801D59F0
lbl_801D59E4:
/* 801D59E4 001D1644 3B E0 00 20 */ li r31, 0x20
/* 801D59E8 001D1648 48 00 00 08 */ b lbl_801D59F0
lbl_801D59EC:
/* 801D59EC 001D164C 3B E0 00 01 */ li r31, 1
lbl_801D59F0:
/* 801D59F0 001D1650 38 61 00 08 */ addi r3, r1, 8
/* 801D59F4 001D1654 38 80 00 00 */ li r4, 0
/* 801D59F8 001D1658 38 A0 00 40 */ li r5, 0x40
/* 801D59FC 001D165C 4B E2 E7 39 */ bl TRK_memset
/* 801D5A00 001D1660 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5A04 001D1664 38 00 00 80 */ li r0, 0x80
/* 801D5A08 001D1668 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
/* 801D5A0C 001D166C 38 A0 00 40 */ li r5, 0x40
/* 801D5A10 001D1670 80 E8 00 00 */ lwz r7, 0(r8)
/* 801D5A14 001D1674 38 61 00 08 */ addi r3, r1, 8
/* 801D5A18 001D1678 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D5A1C 001D167C 38 80 00 40 */ li r4, 0x40
/* 801D5A20 001D1680 38 C7 00 01 */ addi r6, r7, 1
/* 801D5A24 001D1684 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D5A28 001D1688 38 06 00 01 */ addi r0, r6, 1
/* 801D5A2C 001D168C 90 C8 00 00 */ stw r6, 0(r8)
/* 801D5A30 001D1690 90 A1 00 08 */ stw r5, 8(r1)
/* 801D5A34 001D1694 9B E1 00 10 */ stb r31, 0x10(r1)
/* 801D5A38 001D1698 90 08 00 00 */ stw r0, 0(r8)
/* 801D5A3C 001D169C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801D5A40 001D16A0 48 00 3B CD */ bl func_801D960C
/* 801D5A44 001D16A4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D5A48 001D16A8 38 60 00 00 */ li r3, 0
/* 801D5A4C 001D16AC 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801D5A50 001D16B0 7C 08 03 A6 */ mtlr r0
/* 801D5A54 001D16B4 38 21 00 50 */ addi r1, r1, 0x50
/* 801D5A58 001D16B8 4E 80 00 20 */ blr
.global func_801D5A5C
func_801D5A5C:
/* 801D5A5C 001D16BC 94 21 FE A0 */ stwu r1, -0x160(r1)
/* 801D5A60 001D16C0 7C 08 02 A6 */ mflr r0
/* 801D5A64 001D16C4 38 80 00 00 */ li r4, 0
/* 801D5A68 001D16C8 90 01 01 64 */ stw r0, 0x164(r1)
/* 801D5A6C 001D16CC BF 61 01 4C */ stmw r27, 0x14c(r1)
/* 801D5A70 001D16D0 7C 7B 1B 78 */ mr r27, r3
/* 801D5A74 001D16D4 4B FF F8 95 */ bl TRKSetBufferPosition
/* 801D5A78 001D16D8 8B FB 00 18 */ lbz r31, 0x18(r27)
/* 801D5A7C 001D16DC 83 BB 00 20 */ lwz r29, 0x20(r27)
/* 801D5A80 001D16E0 2C 1F 00 10 */ cmpwi r31, 0x10
/* 801D5A84 001D16E4 83 9B 00 24 */ lwz r28, 0x24(r27)
/* 801D5A88 001D16E8 41 82 00 2C */ beq lbl_801D5AB4
/* 801D5A8C 001D16EC 40 80 00 1C */ bge lbl_801D5AA8
/* 801D5A90 001D16F0 2C 1F 00 01 */ cmpwi r31, 1
/* 801D5A94 001D16F4 41 82 00 8C */ beq lbl_801D5B20
/* 801D5A98 001D16F8 40 80 00 FC */ bge lbl_801D5B94
/* 801D5A9C 001D16FC 2C 1F 00 00 */ cmpwi r31, 0
/* 801D5AA0 001D1700 40 80 00 14 */ bge lbl_801D5AB4
/* 801D5AA4 001D1704 48 00 00 F0 */ b lbl_801D5B94
lbl_801D5AA8:
/* 801D5AA8 001D1708 2C 1F 00 12 */ cmpwi r31, 0x12
/* 801D5AAC 001D170C 40 80 00 E8 */ bge lbl_801D5B94
/* 801D5AB0 001D1710 48 00 00 70 */ b lbl_801D5B20
lbl_801D5AB4:
/* 801D5AB4 001D1714 8B DB 00 1C */ lbz r30, 0x1c(r27)
/* 801D5AB8 001D1718 28 1E 00 01 */ cmplwi r30, 1
/* 801D5ABC 001D171C 40 80 01 38 */ bge lbl_801D5BF4
/* 801D5AC0 001D1720 38 61 01 08 */ addi r3, r1, 0x108
/* 801D5AC4 001D1724 38 80 00 00 */ li r4, 0
/* 801D5AC8 001D1728 38 A0 00 40 */ li r5, 0x40
/* 801D5ACC 001D172C 4B E2 E6 69 */ bl TRK_memset
/* 801D5AD0 001D1730 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5AD4 001D1734 38 00 00 80 */ li r0, 0x80
/* 801D5AD8 001D1738 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5ADC 001D173C 38 C0 00 40 */ li r6, 0x40
/* 801D5AE0 001D1740 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5AE4 001D1744 38 A0 00 11 */ li r5, 0x11
/* 801D5AE8 001D1748 98 01 01 0C */ stb r0, 0x10c(r1)
/* 801D5AEC 001D174C 38 61 01 08 */ addi r3, r1, 0x108
/* 801D5AF0 001D1750 38 E8 00 01 */ addi r7, r8, 1
/* 801D5AF4 001D1754 38 80 00 40 */ li r4, 0x40
/* 801D5AF8 001D1758 91 01 01 14 */ stw r8, 0x114(r1)
/* 801D5AFC 001D175C 38 07 00 01 */ addi r0, r7, 1
/* 801D5B00 001D1760 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5B04 001D1764 90 C1 01 08 */ stw r6, 0x108(r1)
/* 801D5B08 001D1768 98 A1 01 10 */ stb r5, 0x110(r1)
/* 801D5B0C 001D176C 90 09 00 00 */ stw r0, 0(r9)
/* 801D5B10 001D1770 90 E1 01 14 */ stw r7, 0x114(r1)
/* 801D5B14 001D1774 48 00 3A F9 */ bl func_801D960C
/* 801D5B18 001D1778 38 60 00 00 */ li r3, 0
/* 801D5B1C 001D177C 48 00 02 00 */ b lbl_801D5D1C
lbl_801D5B20:
/* 801D5B20 001D1780 48 00 1D 15 */ bl func_801D7834
/* 801D5B24 001D1784 7C 03 E8 40 */ cmplw r3, r29
/* 801D5B28 001D1788 41 80 00 0C */ blt lbl_801D5B34
/* 801D5B2C 001D178C 7C 03 E0 40 */ cmplw r3, r28
/* 801D5B30 001D1790 40 81 00 C4 */ ble lbl_801D5BF4
lbl_801D5B34:
/* 801D5B34 001D1794 38 61 00 C8 */ addi r3, r1, 0xc8
/* 801D5B38 001D1798 38 80 00 00 */ li r4, 0
/* 801D5B3C 001D179C 38 A0 00 40 */ li r5, 0x40
/* 801D5B40 001D17A0 4B E2 E5 F5 */ bl TRK_memset
/* 801D5B44 001D17A4 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5B48 001D17A8 38 00 00 80 */ li r0, 0x80
/* 801D5B4C 001D17AC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5B50 001D17B0 38 C0 00 40 */ li r6, 0x40
/* 801D5B54 001D17B4 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5B58 001D17B8 38 A0 00 11 */ li r5, 0x11
/* 801D5B5C 001D17BC 98 01 00 CC */ stb r0, 0xcc(r1)
/* 801D5B60 001D17C0 38 61 00 C8 */ addi r3, r1, 0xc8
/* 801D5B64 001D17C4 38 E8 00 01 */ addi r7, r8, 1
/* 801D5B68 001D17C8 38 80 00 40 */ li r4, 0x40
/* 801D5B6C 001D17CC 91 01 00 D4 */ stw r8, 0xd4(r1)
/* 801D5B70 001D17D0 38 07 00 01 */ addi r0, r7, 1
/* 801D5B74 001D17D4 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5B78 001D17D8 90 C1 00 C8 */ stw r6, 0xc8(r1)
/* 801D5B7C 001D17DC 98 A1 00 D0 */ stb r5, 0xd0(r1)
/* 801D5B80 001D17E0 90 09 00 00 */ stw r0, 0(r9)
/* 801D5B84 001D17E4 90 E1 00 D4 */ stw r7, 0xd4(r1)
/* 801D5B88 001D17E8 48 00 3A 85 */ bl func_801D960C
/* 801D5B8C 001D17EC 38 60 00 00 */ li r3, 0
/* 801D5B90 001D17F0 48 00 01 8C */ b lbl_801D5D1C
lbl_801D5B94:
/* 801D5B94 001D17F4 38 61 00 88 */ addi r3, r1, 0x88
/* 801D5B98 001D17F8 38 80 00 00 */ li r4, 0
/* 801D5B9C 001D17FC 38 A0 00 40 */ li r5, 0x40
/* 801D5BA0 001D1800 4B E2 E5 95 */ bl TRK_memset
/* 801D5BA4 001D1804 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5BA8 001D1808 38 00 00 80 */ li r0, 0x80
/* 801D5BAC 001D180C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5BB0 001D1810 38 C0 00 40 */ li r6, 0x40
/* 801D5BB4 001D1814 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5BB8 001D1818 38 A0 00 12 */ li r5, 0x12
/* 801D5BBC 001D181C 98 01 00 8C */ stb r0, 0x8c(r1)
/* 801D5BC0 001D1820 38 61 00 88 */ addi r3, r1, 0x88
/* 801D5BC4 001D1824 38 E8 00 01 */ addi r7, r8, 1
/* 801D5BC8 001D1828 38 80 00 40 */ li r4, 0x40
/* 801D5BCC 001D182C 91 01 00 94 */ stw r8, 0x94(r1)
/* 801D5BD0 001D1830 38 07 00 01 */ addi r0, r7, 1
/* 801D5BD4 001D1834 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5BD8 001D1838 90 C1 00 88 */ stw r6, 0x88(r1)
/* 801D5BDC 001D183C 98 A1 00 90 */ stb r5, 0x90(r1)
/* 801D5BE0 001D1840 90 09 00 00 */ stw r0, 0(r9)
/* 801D5BE4 001D1844 90 E1 00 94 */ stw r7, 0x94(r1)
/* 801D5BE8 001D1848 48 00 3A 25 */ bl func_801D960C
/* 801D5BEC 001D184C 38 60 00 00 */ li r3, 0
/* 801D5BF0 001D1850 48 00 01 2C */ b lbl_801D5D1C
lbl_801D5BF4:
/* 801D5BF4 001D1854 48 00 1A 31 */ bl func_801D7624
/* 801D5BF8 001D1858 2C 03 00 00 */ cmpwi r3, 0
/* 801D5BFC 001D185C 40 82 00 64 */ bne lbl_801D5C60
/* 801D5C00 001D1860 38 61 00 48 */ addi r3, r1, 0x48
/* 801D5C04 001D1864 38 80 00 00 */ li r4, 0
/* 801D5C08 001D1868 38 A0 00 40 */ li r5, 0x40
/* 801D5C0C 001D186C 4B E2 E5 29 */ bl TRK_memset
/* 801D5C10 001D1870 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5C14 001D1874 38 00 00 80 */ li r0, 0x80
/* 801D5C18 001D1878 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5C1C 001D187C 38 C0 00 40 */ li r6, 0x40
/* 801D5C20 001D1880 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5C24 001D1884 38 A0 00 16 */ li r5, 0x16
/* 801D5C28 001D1888 98 01 00 4C */ stb r0, 0x4c(r1)
/* 801D5C2C 001D188C 38 61 00 48 */ addi r3, r1, 0x48
/* 801D5C30 001D1890 38 E8 00 01 */ addi r7, r8, 1
/* 801D5C34 001D1894 38 80 00 40 */ li r4, 0x40
/* 801D5C38 001D1898 91 01 00 54 */ stw r8, 0x54(r1)
/* 801D5C3C 001D189C 38 07 00 01 */ addi r0, r7, 1
/* 801D5C40 001D18A0 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5C44 001D18A4 90 C1 00 48 */ stw r6, 0x48(r1)
/* 801D5C48 001D18A8 98 A1 00 50 */ stb r5, 0x50(r1)
/* 801D5C4C 001D18AC 90 09 00 00 */ stw r0, 0(r9)
/* 801D5C50 001D18B0 90 E1 00 54 */ stw r7, 0x54(r1)
/* 801D5C54 001D18B4 48 00 39 B9 */ bl func_801D960C
/* 801D5C58 001D18B8 38 60 00 00 */ li r3, 0
/* 801D5C5C 001D18BC 48 00 00 C0 */ b lbl_801D5D1C
lbl_801D5C60:
/* 801D5C60 001D18C0 38 61 00 08 */ addi r3, r1, 8
/* 801D5C64 001D18C4 38 80 00 00 */ li r4, 0
/* 801D5C68 001D18C8 38 A0 00 40 */ li r5, 0x40
/* 801D5C6C 001D18CC 4B E2 E4 C9 */ bl TRK_memset
/* 801D5C70 001D18D0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5C74 001D18D4 38 00 00 80 */ li r0, 0x80
/* 801D5C78 001D18D8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5C7C 001D18DC 38 C0 00 40 */ li r6, 0x40
/* 801D5C80 001D18E0 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5C84 001D18E4 38 A0 00 00 */ li r5, 0
/* 801D5C88 001D18E8 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D5C8C 001D18EC 38 61 00 08 */ addi r3, r1, 8
/* 801D5C90 001D18F0 38 E8 00 01 */ addi r7, r8, 1
/* 801D5C94 001D18F4 38 80 00 40 */ li r4, 0x40
/* 801D5C98 001D18F8 91 01 00 14 */ stw r8, 0x14(r1)
/* 801D5C9C 001D18FC 38 07 00 01 */ addi r0, r7, 1
/* 801D5CA0 001D1900 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5CA4 001D1904 90 C1 00 08 */ stw r6, 8(r1)
/* 801D5CA8 001D1908 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801D5CAC 001D190C 90 09 00 00 */ stw r0, 0(r9)
/* 801D5CB0 001D1910 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D5CB4 001D1914 48 00 39 59 */ bl func_801D960C
/* 801D5CB8 001D1918 2C 1F 00 10 */ cmpwi r31, 0x10
/* 801D5CBC 001D191C 38 60 00 00 */ li r3, 0
/* 801D5CC0 001D1920 41 82 00 2C */ beq lbl_801D5CEC
/* 801D5CC4 001D1924 40 80 00 1C */ bge lbl_801D5CE0
/* 801D5CC8 001D1928 2C 1F 00 01 */ cmpwi r31, 1
/* 801D5CCC 001D192C 41 82 00 38 */ beq lbl_801D5D04
/* 801D5CD0 001D1930 40 80 00 4C */ bge lbl_801D5D1C
/* 801D5CD4 001D1934 2C 1F 00 00 */ cmpwi r31, 0
/* 801D5CD8 001D1938 40 80 00 14 */ bge lbl_801D5CEC
/* 801D5CDC 001D193C 48 00 00 40 */ b lbl_801D5D1C
lbl_801D5CE0:
/* 801D5CE0 001D1940 2C 1F 00 12 */ cmpwi r31, 0x12
/* 801D5CE4 001D1944 40 80 00 38 */ bge lbl_801D5D1C
/* 801D5CE8 001D1948 48 00 00 1C */ b lbl_801D5D04
lbl_801D5CEC:
/* 801D5CEC 001D194C 20 1F 00 10 */ subfic r0, r31, 0x10
/* 801D5CF0 001D1950 7F C3 F3 78 */ mr r3, r30
/* 801D5CF4 001D1954 7C 00 00 34 */ cntlzw r0, r0
/* 801D5CF8 001D1958 54 04 D9 7E */ srwi r4, r0, 5
/* 801D5CFC 001D195C 48 00 1B C5 */ bl func_801D78C0
/* 801D5D00 001D1960 48 00 00 1C */ b lbl_801D5D1C
lbl_801D5D04:
/* 801D5D04 001D1964 20 1F 00 11 */ subfic r0, r31, 0x11
/* 801D5D08 001D1968 7F A3 EB 78 */ mr r3, r29
/* 801D5D0C 001D196C 7C 00 00 34 */ cntlzw r0, r0
/* 801D5D10 001D1970 7F 84 E3 78 */ mr r4, r28
/* 801D5D14 001D1974 54 05 D9 7E */ srwi r5, r0, 5
/* 801D5D18 001D1978 48 00 1B 2D */ bl func_801D7844
lbl_801D5D1C:
/* 801D5D1C 001D197C BB 61 01 4C */ lmw r27, 0x14c(r1)
/* 801D5D20 001D1980 80 01 01 64 */ lwz r0, 0x164(r1)
/* 801D5D24 001D1984 7C 08 03 A6 */ mtlr r0
/* 801D5D28 001D1988 38 21 01 60 */ addi r1, r1, 0x160
/* 801D5D2C 001D198C 4E 80 00 20 */ blr
.global func_801D5D30
func_801D5D30:
/* 801D5D30 001D1990 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801D5D34 001D1994 7C 08 02 A6 */ mflr r0
/* 801D5D38 001D1998 90 01 00 94 */ stw r0, 0x94(r1)
/* 801D5D3C 001D199C 48 00 18 E9 */ bl func_801D7624
/* 801D5D40 001D19A0 2C 03 00 00 */ cmpwi r3, 0
/* 801D5D44 001D19A4 40 82 00 64 */ bne lbl_801D5DA8
/* 801D5D48 001D19A8 38 61 00 48 */ addi r3, r1, 0x48
/* 801D5D4C 001D19AC 38 80 00 00 */ li r4, 0
/* 801D5D50 001D19B0 38 A0 00 40 */ li r5, 0x40
/* 801D5D54 001D19B4 4B E2 E3 E1 */ bl TRK_memset
/* 801D5D58 001D19B8 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5D5C 001D19BC 38 00 00 80 */ li r0, 0x80
/* 801D5D60 001D19C0 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5D64 001D19C4 38 C0 00 40 */ li r6, 0x40
/* 801D5D68 001D19C8 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5D6C 001D19CC 38 A0 00 16 */ li r5, 0x16
/* 801D5D70 001D19D0 98 01 00 4C */ stb r0, 0x4c(r1)
/* 801D5D74 001D19D4 38 61 00 48 */ addi r3, r1, 0x48
/* 801D5D78 001D19D8 38 E8 00 01 */ addi r7, r8, 1
/* 801D5D7C 001D19DC 38 80 00 40 */ li r4, 0x40
/* 801D5D80 001D19E0 91 01 00 54 */ stw r8, 0x54(r1)
/* 801D5D84 001D19E4 38 07 00 01 */ addi r0, r7, 1
/* 801D5D88 001D19E8 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5D8C 001D19EC 90 C1 00 48 */ stw r6, 0x48(r1)
/* 801D5D90 001D19F0 98 A1 00 50 */ stb r5, 0x50(r1)
/* 801D5D94 001D19F4 90 09 00 00 */ stw r0, 0(r9)
/* 801D5D98 001D19F8 90 E1 00 54 */ stw r7, 0x54(r1)
/* 801D5D9C 001D19FC 48 00 38 71 */ bl func_801D960C
/* 801D5DA0 001D1A00 38 60 00 00 */ li r3, 0
/* 801D5DA4 001D1A04 48 00 00 60 */ b lbl_801D5E04
lbl_801D5DA8:
/* 801D5DA8 001D1A08 38 61 00 08 */ addi r3, r1, 8
/* 801D5DAC 001D1A0C 38 80 00 00 */ li r4, 0
/* 801D5DB0 001D1A10 38 A0 00 40 */ li r5, 0x40
/* 801D5DB4 001D1A14 4B E2 E3 81 */ bl TRK_memset
/* 801D5DB8 001D1A18 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5DBC 001D1A1C 38 00 00 80 */ li r0, 0x80
/* 801D5DC0 001D1A20 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5DC4 001D1A24 38 C0 00 40 */ li r6, 0x40
/* 801D5DC8 001D1A28 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5DCC 001D1A2C 38 A0 00 00 */ li r5, 0
/* 801D5DD0 001D1A30 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D5DD4 001D1A34 38 61 00 08 */ addi r3, r1, 8
/* 801D5DD8 001D1A38 38 E8 00 01 */ addi r7, r8, 1
/* 801D5DDC 001D1A3C 38 80 00 40 */ li r4, 0x40
/* 801D5DE0 001D1A40 91 01 00 14 */ stw r8, 0x14(r1)
/* 801D5DE4 001D1A44 38 07 00 01 */ addi r0, r7, 1
/* 801D5DE8 001D1A48 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5DEC 001D1A4C 90 C1 00 08 */ stw r6, 8(r1)
/* 801D5DF0 001D1A50 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801D5DF4 001D1A54 90 09 00 00 */ stw r0, 0(r9)
/* 801D5DF8 001D1A58 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D5DFC 001D1A5C 48 00 38 11 */ bl func_801D960C
/* 801D5E00 001D1A60 48 00 3B 59 */ bl TRKTargetContinue
lbl_801D5E04:
/* 801D5E04 001D1A64 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801D5E08 001D1A68 7C 08 03 A6 */ mtlr r0
/* 801D5E0C 001D1A6C 38 21 00 90 */ addi r1, r1, 0x90
/* 801D5E10 001D1A70 4E 80 00 20 */ blr
.global func_801D5E14
func_801D5E14:
/* 801D5E14 001D1A74 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 801D5E18 001D1A78 7C 08 02 A6 */ mflr r0
/* 801D5E1C 001D1A7C 38 80 00 00 */ li r4, 0
/* 801D5E20 001D1A80 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 801D5E24 001D1A84 93 E1 00 DC */ stw r31, 0xdc(r1)
/* 801D5E28 001D1A88 93 C1 00 D8 */ stw r30, 0xd8(r1)
/* 801D5E2C 001D1A8C 93 A1 00 D4 */ stw r29, 0xd4(r1)
/* 801D5E30 001D1A90 93 81 00 D0 */ stw r28, 0xd0(r1)
/* 801D5E34 001D1A94 7C 7C 1B 78 */ mr r28, r3
/* 801D5E38 001D1A98 8B E3 00 18 */ lbz r31, 0x18(r3)
/* 801D5E3C 001D1A9C A3 C3 00 1C */ lhz r30, 0x1c(r3)
/* 801D5E40 001D1AA0 A3 A3 00 20 */ lhz r29, 0x20(r3)
/* 801D5E44 001D1AA4 4B FF F4 C5 */ bl TRKSetBufferPosition
/* 801D5E48 001D1AA8 7C 1E E8 40 */ cmplw r30, r29
/* 801D5E4C 001D1AAC 40 81 00 64 */ ble lbl_801D5EB0
/* 801D5E50 001D1AB0 38 61 00 4C */ addi r3, r1, 0x4c
/* 801D5E54 001D1AB4 38 80 00 00 */ li r4, 0
/* 801D5E58 001D1AB8 38 A0 00 40 */ li r5, 0x40
/* 801D5E5C 001D1ABC 4B E2 E2 D9 */ bl TRK_memset
/* 801D5E60 001D1AC0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5E64 001D1AC4 38 00 00 80 */ li r0, 0x80
/* 801D5E68 001D1AC8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D5E6C 001D1ACC 38 C0 00 40 */ li r6, 0x40
/* 801D5E70 001D1AD0 81 09 00 00 */ lwz r8, 0(r9)
/* 801D5E74 001D1AD4 38 A0 00 14 */ li r5, 0x14
/* 801D5E78 001D1AD8 98 01 00 50 */ stb r0, 0x50(r1)
/* 801D5E7C 001D1ADC 38 61 00 4C */ addi r3, r1, 0x4c
/* 801D5E80 001D1AE0 38 E8 00 01 */ addi r7, r8, 1
/* 801D5E84 001D1AE4 38 80 00 40 */ li r4, 0x40
/* 801D5E88 001D1AE8 91 01 00 58 */ stw r8, 0x58(r1)
/* 801D5E8C 001D1AEC 38 07 00 01 */ addi r0, r7, 1
/* 801D5E90 001D1AF0 90 E9 00 00 */ stw r7, 0(r9)
/* 801D5E94 001D1AF4 90 C1 00 4C */ stw r6, 0x4c(r1)
/* 801D5E98 001D1AF8 98 A1 00 54 */ stb r5, 0x54(r1)
/* 801D5E9C 001D1AFC 90 09 00 00 */ stw r0, 0(r9)
/* 801D5EA0 001D1B00 90 E1 00 58 */ stw r7, 0x58(r1)
/* 801D5EA4 001D1B04 48 00 37 69 */ bl func_801D960C
/* 801D5EA8 001D1B08 38 60 00 00 */ li r3, 0
/* 801D5EAC 001D1B0C 48 00 02 04 */ b lbl_801D60B0
lbl_801D5EB0:
/* 801D5EB0 001D1B10 7F 83 E3 78 */ mr r3, r28
/* 801D5EB4 001D1B14 38 80 00 40 */ li r4, 0x40
/* 801D5EB8 001D1B18 4B FF F4 51 */ bl TRKSetBufferPosition
/* 801D5EBC 001D1B1C 2C 1F 00 02 */ cmpwi r31, 2
/* 801D5EC0 001D1B20 41 82 00 64 */ beq lbl_801D5F24
/* 801D5EC4 001D1B24 40 80 00 14 */ bge lbl_801D5ED8
/* 801D5EC8 001D1B28 2C 1F 00 00 */ cmpwi r31, 0
/* 801D5ECC 001D1B2C 41 82 00 18 */ beq lbl_801D5EE4
/* 801D5ED0 001D1B30 40 80 00 34 */ bge lbl_801D5F04
/* 801D5ED4 001D1B34 48 00 00 90 */ b lbl_801D5F64
lbl_801D5ED8:
/* 801D5ED8 001D1B38 2C 1F 00 04 */ cmpwi r31, 4
/* 801D5EDC 001D1B3C 40 80 00 88 */ bge lbl_801D5F64
/* 801D5EE0 001D1B40 48 00 00 64 */ b lbl_801D5F44
lbl_801D5EE4:
/* 801D5EE4 001D1B44 7F C3 F3 78 */ mr r3, r30
/* 801D5EE8 001D1B48 7F A4 EB 78 */ mr r4, r29
/* 801D5EEC 001D1B4C 7F 85 E3 78 */ mr r5, r28
/* 801D5EF0 001D1B50 38 C1 00 08 */ addi r6, r1, 8
/* 801D5EF4 001D1B54 38 E0 00 00 */ li r7, 0
/* 801D5EF8 001D1B58 48 00 28 01 */ bl TRKTargetAccessDefault
/* 801D5EFC 001D1B5C 7C 7F 1B 78 */ mr r31, r3
/* 801D5F00 001D1B60 48 00 00 68 */ b lbl_801D5F68
lbl_801D5F04:
/* 801D5F04 001D1B64 7F C3 F3 78 */ mr r3, r30
/* 801D5F08 001D1B68 7F A4 EB 78 */ mr r4, r29
/* 801D5F0C 001D1B6C 7F 85 E3 78 */ mr r5, r28
/* 801D5F10 001D1B70 38 C1 00 08 */ addi r6, r1, 8
/* 801D5F14 001D1B74 38 E0 00 00 */ li r7, 0
/* 801D5F18 001D1B78 48 00 22 D5 */ bl TRKTargetAccessFP
/* 801D5F1C 001D1B7C 7C 7F 1B 78 */ mr r31, r3
/* 801D5F20 001D1B80 48 00 00 48 */ b lbl_801D5F68
lbl_801D5F24:
/* 801D5F24 001D1B84 7F C3 F3 78 */ mr r3, r30
/* 801D5F28 001D1B88 7F A4 EB 78 */ mr r4, r29
/* 801D5F2C 001D1B8C 7F 85 E3 78 */ mr r5, r28
/* 801D5F30 001D1B90 38 C1 00 08 */ addi r6, r1, 8
/* 801D5F34 001D1B94 38 E0 00 00 */ li r7, 0
/* 801D5F38 001D1B98 48 00 21 45 */ bl TRKTargetAccessExtended1
/* 801D5F3C 001D1B9C 7C 7F 1B 78 */ mr r31, r3
/* 801D5F40 001D1BA0 48 00 00 28 */ b lbl_801D5F68
lbl_801D5F44:
/* 801D5F44 001D1BA4 7F C3 F3 78 */ mr r3, r30
/* 801D5F48 001D1BA8 7F A4 EB 78 */ mr r4, r29
/* 801D5F4C 001D1BAC 7F 85 E3 78 */ mr r5, r28
/* 801D5F50 001D1BB0 38 C1 00 08 */ addi r6, r1, 8
/* 801D5F54 001D1BB4 38 E0 00 00 */ li r7, 0
/* 801D5F58 001D1BB8 48 00 1C ED */ bl TRKTargetAccessExtended2
/* 801D5F5C 001D1BBC 7C 7F 1B 78 */ mr r31, r3
/* 801D5F60 001D1BC0 48 00 00 08 */ b lbl_801D5F68
lbl_801D5F64:
/* 801D5F64 001D1BC4 3B E0 07 03 */ li r31, 0x703
lbl_801D5F68:
/* 801D5F68 001D1BC8 7F 83 E3 78 */ mr r3, r28
/* 801D5F6C 001D1BCC 38 80 00 00 */ li r4, 0
/* 801D5F70 001D1BD0 4B FF F3 C9 */ bl TRKResetBuffer
/* 801D5F74 001D1BD4 2C 1F 00 00 */ cmpwi r31, 0
/* 801D5F78 001D1BD8 40 82 00 54 */ bne lbl_801D5FCC
/* 801D5F7C 001D1BDC 38 61 00 8C */ addi r3, r1, 0x8c
/* 801D5F80 001D1BE0 38 80 00 00 */ li r4, 0
/* 801D5F84 001D1BE4 38 A0 00 40 */ li r5, 0x40
/* 801D5F88 001D1BE8 4B E2 E1 AD */ bl TRK_memset
/* 801D5F8C 001D1BEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D5F90 001D1BF0 38 00 00 40 */ li r0, 0x40
/* 801D5F94 001D1BF4 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
/* 801D5F98 001D1BF8 38 A0 00 80 */ li r5, 0x80
/* 801D5F9C 001D1BFC 80 C7 00 00 */ lwz r6, 0(r7)
/* 801D5FA0 001D1C00 7F 83 E3 78 */ mr r3, r28
/* 801D5FA4 001D1C04 90 01 00 8C */ stw r0, 0x8c(r1)
/* 801D5FA8 001D1C08 38 81 00 8C */ addi r4, r1, 0x8c
/* 801D5FAC 001D1C0C 38 06 00 01 */ addi r0, r6, 1
/* 801D5FB0 001D1C10 98 A1 00 90 */ stb r5, 0x90(r1)
/* 801D5FB4 001D1C14 38 A0 00 40 */ li r5, 0x40
/* 801D5FB8 001D1C18 9B E1 00 94 */ stb r31, 0x94(r1)
/* 801D5FBC 001D1C1C 90 07 00 00 */ stw r0, 0(r7)
/* 801D5FC0 001D1C20 90 C1 00 98 */ stw r6, 0x98(r1)
/* 801D5FC4 001D1C24 4B FF F2 A1 */ bl TRKAppendBuffer
/* 801D5FC8 001D1C28 7C 7F 1B 78 */ mr r31, r3
lbl_801D5FCC:
/* 801D5FCC 001D1C2C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D5FD0 001D1C30 41 82 00 D8 */ beq lbl_801D60A8
/* 801D5FD4 001D1C34 2C 1F 07 03 */ cmpwi r31, 0x703
/* 801D5FD8 001D1C38 41 82 00 38 */ beq lbl_801D6010
/* 801D5FDC 001D1C3C 40 80 00 1C */ bge lbl_801D5FF8
/* 801D5FE0 001D1C40 2C 1F 07 01 */ cmpwi r31, 0x701
/* 801D5FE4 001D1C44 41 82 00 34 */ beq lbl_801D6018
/* 801D5FE8 001D1C48 40 80 00 40 */ bge lbl_801D6028
/* 801D5FEC 001D1C4C 2C 1F 03 02 */ cmpwi r31, 0x302
/* 801D5FF0 001D1C50 41 82 00 30 */ beq lbl_801D6020
/* 801D5FF4 001D1C54 48 00 00 54 */ b lbl_801D6048
lbl_801D5FF8:
/* 801D5FF8 001D1C58 2C 1F 07 06 */ cmpwi r31, 0x706
/* 801D5FFC 001D1C5C 41 82 00 44 */ beq lbl_801D6040
/* 801D6000 001D1C60 40 80 00 48 */ bge lbl_801D6048
/* 801D6004 001D1C64 2C 1F 07 05 */ cmpwi r31, 0x705
/* 801D6008 001D1C68 40 80 00 30 */ bge lbl_801D6038
/* 801D600C 001D1C6C 48 00 00 24 */ b lbl_801D6030
lbl_801D6010:
/* 801D6010 001D1C70 3B E0 00 12 */ li r31, 0x12
/* 801D6014 001D1C74 48 00 00 38 */ b lbl_801D604C
lbl_801D6018:
/* 801D6018 001D1C78 3B E0 00 14 */ li r31, 0x14
/* 801D601C 001D1C7C 48 00 00 30 */ b lbl_801D604C
lbl_801D6020:
/* 801D6020 001D1C80 3B E0 00 02 */ li r31, 2
/* 801D6024 001D1C84 48 00 00 28 */ b lbl_801D604C
lbl_801D6028:
/* 801D6028 001D1C88 3B E0 00 15 */ li r31, 0x15
/* 801D602C 001D1C8C 48 00 00 20 */ b lbl_801D604C
lbl_801D6030:
/* 801D6030 001D1C90 3B E0 00 21 */ li r31, 0x21
/* 801D6034 001D1C94 48 00 00 18 */ b lbl_801D604C
lbl_801D6038:
/* 801D6038 001D1C98 3B E0 00 22 */ li r31, 0x22
/* 801D603C 001D1C9C 48 00 00 10 */ b lbl_801D604C
lbl_801D6040:
/* 801D6040 001D1CA0 3B E0 00 20 */ li r31, 0x20
/* 801D6044 001D1CA4 48 00 00 08 */ b lbl_801D604C
lbl_801D6048:
/* 801D6048 001D1CA8 3B E0 00 03 */ li r31, 3
lbl_801D604C:
/* 801D604C 001D1CAC 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6050 001D1CB0 38 80 00 00 */ li r4, 0
/* 801D6054 001D1CB4 38 A0 00 40 */ li r5, 0x40
/* 801D6058 001D1CB8 4B E2 E0 DD */ bl TRK_memset
/* 801D605C 001D1CBC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6060 001D1CC0 38 00 00 80 */ li r0, 0x80
/* 801D6064 001D1CC4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
/* 801D6068 001D1CC8 38 A0 00 40 */ li r5, 0x40
/* 801D606C 001D1CCC 80 E8 00 00 */ lwz r7, 0(r8)
/* 801D6070 001D1CD0 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6074 001D1CD4 98 01 00 10 */ stb r0, 0x10(r1)
/* 801D6078 001D1CD8 38 80 00 40 */ li r4, 0x40
/* 801D607C 001D1CDC 38 C7 00 01 */ addi r6, r7, 1
/* 801D6080 001D1CE0 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801D6084 001D1CE4 38 06 00 01 */ addi r0, r6, 1
/* 801D6088 001D1CE8 90 C8 00 00 */ stw r6, 0(r8)
/* 801D608C 001D1CEC 90 A1 00 0C */ stw r5, 0xc(r1)
/* 801D6090 001D1CF0 9B E1 00 14 */ stb r31, 0x14(r1)
/* 801D6094 001D1CF4 90 08 00 00 */ stw r0, 0(r8)
/* 801D6098 001D1CF8 90 C1 00 18 */ stw r6, 0x18(r1)
/* 801D609C 001D1CFC 48 00 35 71 */ bl func_801D960C
/* 801D60A0 001D1D00 38 60 00 00 */ li r3, 0
/* 801D60A4 001D1D04 48 00 00 0C */ b lbl_801D60B0
lbl_801D60A8:
/* 801D60A8 001D1D08 7F 83 E3 78 */ mr r3, r28
/* 801D60AC 001D1D0C 4B FF EC 31 */ bl func_801D4CDC
lbl_801D60B0:
/* 801D60B0 001D1D10 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 801D60B4 001D1D14 83 E1 00 DC */ lwz r31, 0xdc(r1)
/* 801D60B8 001D1D18 83 C1 00 D8 */ lwz r30, 0xd8(r1)
/* 801D60BC 001D1D1C 83 A1 00 D4 */ lwz r29, 0xd4(r1)
/* 801D60C0 001D1D20 83 81 00 D0 */ lwz r28, 0xd0(r1)
/* 801D60C4 001D1D24 7C 08 03 A6 */ mtlr r0
/* 801D60C8 001D1D28 38 21 00 E0 */ addi r1, r1, 0xe0
/* 801D60CC 001D1D2C 4E 80 00 20 */ blr
.global func_801D60D0
func_801D60D0:
/* 801D60D0 001D1D30 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 801D60D4 001D1D34 7C 08 02 A6 */ mflr r0
/* 801D60D8 001D1D38 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 801D60DC 001D1D3C 93 E1 00 DC */ stw r31, 0xdc(r1)
/* 801D60E0 001D1D40 7C 7F 1B 78 */ mr r31, r3
/* 801D60E4 001D1D44 A0 83 00 1C */ lhz r4, 0x1c(r3)
/* 801D60E8 001D1D48 A0 03 00 20 */ lhz r0, 0x20(r3)
/* 801D60EC 001D1D4C 7C 04 00 40 */ cmplw r4, r0
/* 801D60F0 001D1D50 40 81 00 64 */ ble lbl_801D6154
/* 801D60F4 001D1D54 38 61 00 4C */ addi r3, r1, 0x4c
/* 801D60F8 001D1D58 38 80 00 00 */ li r4, 0
/* 801D60FC 001D1D5C 38 A0 00 40 */ li r5, 0x40
/* 801D6100 001D1D60 4B E2 E0 35 */ bl TRK_memset
/* 801D6104 001D1D64 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6108 001D1D68 38 00 00 80 */ li r0, 0x80
/* 801D610C 001D1D6C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D6110 001D1D70 38 C0 00 40 */ li r6, 0x40
/* 801D6114 001D1D74 81 09 00 00 */ lwz r8, 0(r9)
/* 801D6118 001D1D78 38 A0 00 14 */ li r5, 0x14
/* 801D611C 001D1D7C 98 01 00 50 */ stb r0, 0x50(r1)
/* 801D6120 001D1D80 38 61 00 4C */ addi r3, r1, 0x4c
/* 801D6124 001D1D84 38 E8 00 01 */ addi r7, r8, 1
/* 801D6128 001D1D88 38 80 00 40 */ li r4, 0x40
/* 801D612C 001D1D8C 91 01 00 58 */ stw r8, 0x58(r1)
/* 801D6130 001D1D90 38 07 00 01 */ addi r0, r7, 1
/* 801D6134 001D1D94 90 E9 00 00 */ stw r7, 0(r9)
/* 801D6138 001D1D98 90 C1 00 4C */ stw r6, 0x4c(r1)
/* 801D613C 001D1D9C 98 A1 00 54 */ stb r5, 0x54(r1)
/* 801D6140 001D1DA0 90 09 00 00 */ stw r0, 0(r9)
/* 801D6144 001D1DA4 90 E1 00 58 */ stw r7, 0x58(r1)
/* 801D6148 001D1DA8 48 00 34 C5 */ bl func_801D960C
/* 801D614C 001D1DAC 38 60 00 00 */ li r3, 0
/* 801D6150 001D1DB0 48 00 01 90 */ b lbl_801D62E0
lbl_801D6154:
/* 801D6154 001D1DB4 3C 80 80 49 */ lis r4, lbl_804907E8@ha
/* 801D6158 001D1DB8 38 00 00 80 */ li r0, 0x80
/* 801D615C 001D1DBC 38 C4 07 E8 */ addi r6, r4, lbl_804907E8@l
/* 801D6160 001D1DC0 38 E0 04 68 */ li r7, 0x468
/* 801D6164 001D1DC4 80 A6 00 00 */ lwz r5, 0(r6)
/* 801D6168 001D1DC8 38 80 00 00 */ li r4, 0
/* 801D616C 001D1DCC 98 01 00 90 */ stb r0, 0x90(r1)
/* 801D6170 001D1DD0 38 05 00 01 */ addi r0, r5, 1
/* 801D6174 001D1DD4 90 E1 00 8C */ stw r7, 0x8c(r1)
/* 801D6178 001D1DD8 90 06 00 00 */ stw r0, 0(r6)
/* 801D617C 001D1DDC 90 A1 00 98 */ stw r5, 0x98(r1)
/* 801D6180 001D1DE0 4B FF F1 B9 */ bl TRKResetBuffer
/* 801D6184 001D1DE4 7F E3 FB 78 */ mr r3, r31
/* 801D6188 001D1DE8 38 81 00 8C */ addi r4, r1, 0x8c
/* 801D618C 001D1DEC 38 A0 00 40 */ li r5, 0x40
/* 801D6190 001D1DF0 4B FF EE E5 */ bl TRKAppendBuffer_ui8
/* 801D6194 001D1DF4 7F E5 FB 78 */ mr r5, r31
/* 801D6198 001D1DF8 38 C1 00 08 */ addi r6, r1, 8
/* 801D619C 001D1DFC 38 60 00 00 */ li r3, 0
/* 801D61A0 001D1E00 38 80 00 24 */ li r4, 0x24
/* 801D61A4 001D1E04 38 E0 00 01 */ li r7, 1
/* 801D61A8 001D1E08 48 00 25 51 */ bl TRKTargetAccessDefault
/* 801D61AC 001D1E0C 2C 03 00 00 */ cmpwi r3, 0
/* 801D61B0 001D1E10 40 82 00 1C */ bne lbl_801D61CC
/* 801D61B4 001D1E14 7F E5 FB 78 */ mr r5, r31
/* 801D61B8 001D1E18 38 C1 00 08 */ addi r6, r1, 8
/* 801D61BC 001D1E1C 38 60 00 00 */ li r3, 0
/* 801D61C0 001D1E20 38 80 00 21 */ li r4, 0x21
/* 801D61C4 001D1E24 38 E0 00 01 */ li r7, 1
/* 801D61C8 001D1E28 48 00 20 25 */ bl TRKTargetAccessFP
lbl_801D61CC:
/* 801D61CC 001D1E2C 2C 03 00 00 */ cmpwi r3, 0
/* 801D61D0 001D1E30 40 82 00 1C */ bne lbl_801D61EC
/* 801D61D4 001D1E34 7F E5 FB 78 */ mr r5, r31
/* 801D61D8 001D1E38 38 C1 00 08 */ addi r6, r1, 8
/* 801D61DC 001D1E3C 38 60 00 00 */ li r3, 0
/* 801D61E0 001D1E40 38 80 00 60 */ li r4, 0x60
/* 801D61E4 001D1E44 38 E0 00 01 */ li r7, 1
/* 801D61E8 001D1E48 48 00 1E 95 */ bl TRKTargetAccessExtended1
lbl_801D61EC:
/* 801D61EC 001D1E4C 2C 03 00 00 */ cmpwi r3, 0
/* 801D61F0 001D1E50 40 82 00 1C */ bne lbl_801D620C
/* 801D61F4 001D1E54 7F E5 FB 78 */ mr r5, r31
/* 801D61F8 001D1E58 38 C1 00 08 */ addi r6, r1, 8
/* 801D61FC 001D1E5C 38 60 00 00 */ li r3, 0
/* 801D6200 001D1E60 38 80 00 1F */ li r4, 0x1f
/* 801D6204 001D1E64 38 E0 00 01 */ li r7, 1
/* 801D6208 001D1E68 48 00 1A 3D */ bl TRKTargetAccessExtended2
lbl_801D620C:
/* 801D620C 001D1E6C 2C 03 00 00 */ cmpwi r3, 0
/* 801D6210 001D1E70 41 82 00 C8 */ beq lbl_801D62D8
/* 801D6214 001D1E74 2C 03 07 04 */ cmpwi r3, 0x704
/* 801D6218 001D1E78 41 82 00 48 */ beq lbl_801D6260
/* 801D621C 001D1E7C 40 80 00 1C */ bge lbl_801D6238
/* 801D6220 001D1E80 2C 03 07 02 */ cmpwi r3, 0x702
/* 801D6224 001D1E84 41 82 00 34 */ beq lbl_801D6258
/* 801D6228 001D1E88 40 80 00 20 */ bge lbl_801D6248
/* 801D622C 001D1E8C 2C 03 07 01 */ cmpwi r3, 0x701
/* 801D6230 001D1E90 40 80 00 20 */ bge lbl_801D6250
/* 801D6234 001D1E94 48 00 00 44 */ b lbl_801D6278
lbl_801D6238:
/* 801D6238 001D1E98 2C 03 07 06 */ cmpwi r3, 0x706
/* 801D623C 001D1E9C 41 82 00 34 */ beq lbl_801D6270
/* 801D6240 001D1EA0 40 80 00 38 */ bge lbl_801D6278
/* 801D6244 001D1EA4 48 00 00 24 */ b lbl_801D6268
lbl_801D6248:
/* 801D6248 001D1EA8 3B E0 00 12 */ li r31, 0x12
/* 801D624C 001D1EAC 48 00 00 30 */ b lbl_801D627C
lbl_801D6250:
/* 801D6250 001D1EB0 3B E0 00 14 */ li r31, 0x14
/* 801D6254 001D1EB4 48 00 00 28 */ b lbl_801D627C
lbl_801D6258:
/* 801D6258 001D1EB8 3B E0 00 15 */ li r31, 0x15
/* 801D625C 001D1EBC 48 00 00 20 */ b lbl_801D627C
lbl_801D6260:
/* 801D6260 001D1EC0 3B E0 00 21 */ li r31, 0x21
/* 801D6264 001D1EC4 48 00 00 18 */ b lbl_801D627C
lbl_801D6268:
/* 801D6268 001D1EC8 3B E0 00 22 */ li r31, 0x22
/* 801D626C 001D1ECC 48 00 00 10 */ b lbl_801D627C
lbl_801D6270:
/* 801D6270 001D1ED0 3B E0 00 20 */ li r31, 0x20
/* 801D6274 001D1ED4 48 00 00 08 */ b lbl_801D627C
lbl_801D6278:
/* 801D6278 001D1ED8 3B E0 00 03 */ li r31, 3
lbl_801D627C:
/* 801D627C 001D1EDC 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6280 001D1EE0 38 80 00 00 */ li r4, 0
/* 801D6284 001D1EE4 38 A0 00 40 */ li r5, 0x40
/* 801D6288 001D1EE8 4B E2 DE AD */ bl TRK_memset
/* 801D628C 001D1EEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6290 001D1EF0 38 00 00 80 */ li r0, 0x80
/* 801D6294 001D1EF4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
/* 801D6298 001D1EF8 38 A0 00 40 */ li r5, 0x40
/* 801D629C 001D1EFC 80 E8 00 00 */ lwz r7, 0(r8)
/* 801D62A0 001D1F00 38 61 00 0C */ addi r3, r1, 0xc
/* 801D62A4 001D1F04 98 01 00 10 */ stb r0, 0x10(r1)
/* 801D62A8 001D1F08 38 80 00 40 */ li r4, 0x40
/* 801D62AC 001D1F0C 38 C7 00 01 */ addi r6, r7, 1
/* 801D62B0 001D1F10 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801D62B4 001D1F14 38 06 00 01 */ addi r0, r6, 1
/* 801D62B8 001D1F18 90 C8 00 00 */ stw r6, 0(r8)
/* 801D62BC 001D1F1C 90 A1 00 0C */ stw r5, 0xc(r1)
/* 801D62C0 001D1F20 9B E1 00 14 */ stb r31, 0x14(r1)
/* 801D62C4 001D1F24 90 08 00 00 */ stw r0, 0(r8)
/* 801D62C8 001D1F28 90 C1 00 18 */ stw r6, 0x18(r1)
/* 801D62CC 001D1F2C 48 00 33 41 */ bl func_801D960C
/* 801D62D0 001D1F30 38 60 00 00 */ li r3, 0
/* 801D62D4 001D1F34 48 00 00 0C */ b lbl_801D62E0
lbl_801D62D8:
/* 801D62D8 001D1F38 7F E3 FB 78 */ mr r3, r31
/* 801D62DC 001D1F3C 4B FF EA 01 */ bl func_801D4CDC
lbl_801D62E0:
/* 801D62E0 001D1F40 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 801D62E4 001D1F44 83 E1 00 DC */ lwz r31, 0xdc(r1)
/* 801D62E8 001D1F48 7C 08 03 A6 */ mtlr r0
/* 801D62EC 001D1F4C 38 21 00 E0 */ addi r1, r1, 0xe0
/* 801D62F0 001D1F50 4E 80 00 20 */ blr
.global func_801D62F4
func_801D62F4:
/* 801D62F4 001D1F54 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 801D62F8 001D1F58 7C 2C 0B 78 */ mr r12, r1
/* 801D62FC 001D1F5C 21 6B F6 C0 */ subfic r11, r11, -2368
/* 801D6300 001D1F60 7C 21 59 6E */ stwux r1, r1, r11
/* 801D6304 001D1F64 7C 08 02 A6 */ mflr r0
/* 801D6308 001D1F68 90 0C 00 04 */ stw r0, 4(r12)
/* 801D630C 001D1F6C 93 EC FF FC */ stw r31, -4(r12)
/* 801D6310 001D1F70 93 CC FF F8 */ stw r30, -8(r12)
/* 801D6314 001D1F74 93 AC FF F4 */ stw r29, -0xc(r12)
/* 801D6318 001D1F78 7C 7D 1B 78 */ mr r29, r3
/* 801D631C 001D1F7C 8B E3 00 18 */ lbz r31, 0x18(r3)
/* 801D6320 001D1F80 83 C3 00 20 */ lwz r30, 0x20(r3)
/* 801D6324 001D1F84 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
/* 801D6328 001D1F88 A0 83 00 1C */ lhz r4, 0x1c(r3)
/* 801D632C 001D1F8C 41 82 00 64 */ beq lbl_801D6390
/* 801D6330 001D1F90 38 61 00 64 */ addi r3, r1, 0x64
/* 801D6334 001D1F94 38 80 00 00 */ li r4, 0
/* 801D6338 001D1F98 38 A0 00 40 */ li r5, 0x40
/* 801D633C 001D1F9C 4B E2 DD F9 */ bl TRK_memset
/* 801D6340 001D1FA0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6344 001D1FA4 38 00 00 80 */ li r0, 0x80
/* 801D6348 001D1FA8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D634C 001D1FAC 38 C0 00 40 */ li r6, 0x40
/* 801D6350 001D1FB0 81 09 00 00 */ lwz r8, 0(r9)
/* 801D6354 001D1FB4 38 A0 00 12 */ li r5, 0x12
/* 801D6358 001D1FB8 98 01 00 68 */ stb r0, 0x68(r1)
/* 801D635C 001D1FBC 38 61 00 64 */ addi r3, r1, 0x64
/* 801D6360 001D1FC0 38 E8 00 01 */ addi r7, r8, 1
/* 801D6364 001D1FC4 38 80 00 40 */ li r4, 0x40
/* 801D6368 001D1FC8 91 01 00 70 */ stw r8, 0x70(r1)
/* 801D636C 001D1FCC 38 07 00 01 */ addi r0, r7, 1
/* 801D6370 001D1FD0 90 E9 00 00 */ stw r7, 0(r9)
/* 801D6374 001D1FD4 90 C1 00 64 */ stw r6, 0x64(r1)
/* 801D6378 001D1FD8 98 A1 00 6C */ stb r5, 0x6c(r1)
/* 801D637C 001D1FDC 90 09 00 00 */ stw r0, 0(r9)
/* 801D6380 001D1FE0 90 E1 00 70 */ stw r7, 0x70(r1)
/* 801D6384 001D1FE4 48 00 32 89 */ bl func_801D960C
/* 801D6388 001D1FE8 38 60 00 00 */ li r3, 0
/* 801D638C 001D1FEC 48 00 01 64 */ b lbl_801D64F0
lbl_801D6390:
/* 801D6390 001D1FF0 90 81 00 20 */ stw r4, 0x20(r1)
/* 801D6394 001D1FF4 38 80 00 40 */ li r4, 0x40
/* 801D6398 001D1FF8 4B FF EF 71 */ bl TRKSetBufferPosition
/* 801D639C 001D1FFC 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 801D63A0 001D2000 7F A3 EB 78 */ mr r3, r29
/* 801D63A4 001D2004 38 81 01 00 */ addi r4, r1, 0x100
/* 801D63A8 001D2008 4B FF EE 31 */ bl TRKReadBuffer
/* 801D63AC 001D200C 57 E0 EF FE */ rlwinm r0, r31, 0x1d, 0x1f, 0x1f
/* 801D63B0 001D2010 7F C4 F3 78 */ mr r4, r30
/* 801D63B4 001D2014 38 61 01 00 */ addi r3, r1, 0x100
/* 801D63B8 001D2018 38 A1 00 20 */ addi r5, r1, 0x20
/* 801D63BC 001D201C 68 06 00 01 */ xori r6, r0, 1
/* 801D63C0 001D2020 38 E0 00 00 */ li r7, 0
/* 801D63C4 001D2024 48 00 24 75 */ bl TRKTargetAccessMemory
/* 801D63C8 001D2028 7C 60 1B 78 */ mr r0, r3
/* 801D63CC 001D202C 7F A3 EB 78 */ mr r3, r29
/* 801D63D0 001D2030 7C 1F 03 78 */ mr r31, r0
/* 801D63D4 001D2034 38 80 00 00 */ li r4, 0
/* 801D63D8 001D2038 4B FF EF 61 */ bl TRKResetBuffer
/* 801D63DC 001D203C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D63E0 001D2040 40 82 00 54 */ bne lbl_801D6434
/* 801D63E4 001D2044 38 61 00 A4 */ addi r3, r1, 0xa4
/* 801D63E8 001D2048 38 80 00 00 */ li r4, 0
/* 801D63EC 001D204C 38 A0 00 40 */ li r5, 0x40
/* 801D63F0 001D2050 4B E2 DD 45 */ bl TRK_memset
/* 801D63F4 001D2054 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D63F8 001D2058 38 00 00 40 */ li r0, 0x40
/* 801D63FC 001D205C 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
/* 801D6400 001D2060 38 A0 00 80 */ li r5, 0x80
/* 801D6404 001D2064 80 C7 00 00 */ lwz r6, 0(r7)
/* 801D6408 001D2068 7F A3 EB 78 */ mr r3, r29
/* 801D640C 001D206C 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801D6410 001D2070 38 81 00 A4 */ addi r4, r1, 0xa4
/* 801D6414 001D2074 38 06 00 01 */ addi r0, r6, 1
/* 801D6418 001D2078 98 A1 00 A8 */ stb r5, 0xa8(r1)
/* 801D641C 001D207C 38 A0 00 40 */ li r5, 0x40
/* 801D6420 001D2080 9B E1 00 AC */ stb r31, 0xac(r1)
/* 801D6424 001D2084 90 07 00 00 */ stw r0, 0(r7)
/* 801D6428 001D2088 90 C1 00 B0 */ stw r6, 0xb0(r1)
/* 801D642C 001D208C 4B FF EE 39 */ bl TRKAppendBuffer
/* 801D6430 001D2090 7C 7F 1B 78 */ mr r31, r3
lbl_801D6434:
/* 801D6434 001D2094 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6438 001D2098 41 82 00 B0 */ beq lbl_801D64E8
/* 801D643C 001D209C 38 1F F9 00 */ addi r0, r31, -1792
/* 801D6440 001D20A0 28 00 00 06 */ cmplwi r0, 6
/* 801D6444 001D20A4 41 81 00 44 */ bgt lbl_801D6488
/* 801D6448 001D20A8 3C 60 80 42 */ lis r3, lbl_804231F8@ha
/* 801D644C 001D20AC 54 00 10 3A */ slwi r0, r0, 2
/* 801D6450 001D20B0 38 63 31 F8 */ addi r3, r3, lbl_804231F8@l
/* 801D6454 001D20B4 7C 03 00 2E */ lwzx r0, r3, r0
/* 801D6458 001D20B8 7C 09 03 A6 */ mtctr r0
/* 801D645C 001D20BC 4E 80 04 20 */ bctr
/* 801D6460 001D20C0 3B E0 00 15 */ li r31, 0x15
/* 801D6464 001D20C4 48 00 00 28 */ b lbl_801D648C
/* 801D6468 001D20C8 3B E0 00 13 */ li r31, 0x13
/* 801D646C 001D20CC 48 00 00 20 */ b lbl_801D648C
/* 801D6470 001D20D0 3B E0 00 21 */ li r31, 0x21
/* 801D6474 001D20D4 48 00 00 18 */ b lbl_801D648C
/* 801D6478 001D20D8 3B E0 00 22 */ li r31, 0x22
/* 801D647C 001D20DC 48 00 00 10 */ b lbl_801D648C
/* 801D6480 001D20E0 3B E0 00 20 */ li r31, 0x20
/* 801D6484 001D20E4 48 00 00 08 */ b lbl_801D648C
lbl_801D6488:
/* 801D6488 001D20E8 3B E0 00 03 */ li r31, 3
lbl_801D648C:
/* 801D648C 001D20EC 38 61 00 24 */ addi r3, r1, 0x24
/* 801D6490 001D20F0 38 80 00 00 */ li r4, 0
/* 801D6494 001D20F4 38 A0 00 40 */ li r5, 0x40
/* 801D6498 001D20F8 4B E2 DC 9D */ bl TRK_memset
/* 801D649C 001D20FC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D64A0 001D2100 38 00 00 80 */ li r0, 0x80
/* 801D64A4 001D2104 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
/* 801D64A8 001D2108 38 A0 00 40 */ li r5, 0x40
/* 801D64AC 001D210C 80 E8 00 00 */ lwz r7, 0(r8)
/* 801D64B0 001D2110 38 61 00 24 */ addi r3, r1, 0x24
/* 801D64B4 001D2114 98 01 00 28 */ stb r0, 0x28(r1)
/* 801D64B8 001D2118 38 80 00 40 */ li r4, 0x40
/* 801D64BC 001D211C 38 C7 00 01 */ addi r6, r7, 1
/* 801D64C0 001D2120 90 E1 00 30 */ stw r7, 0x30(r1)
/* 801D64C4 001D2124 38 06 00 01 */ addi r0, r6, 1
/* 801D64C8 001D2128 90 C8 00 00 */ stw r6, 0(r8)
/* 801D64CC 001D212C 90 A1 00 24 */ stw r5, 0x24(r1)
/* 801D64D0 001D2130 9B E1 00 2C */ stb r31, 0x2c(r1)
/* 801D64D4 001D2134 90 08 00 00 */ stw r0, 0(r8)
/* 801D64D8 001D2138 90 C1 00 30 */ stw r6, 0x30(r1)
/* 801D64DC 001D213C 48 00 31 31 */ bl func_801D960C
/* 801D64E0 001D2140 38 60 00 00 */ li r3, 0
/* 801D64E4 001D2144 48 00 00 0C */ b lbl_801D64F0
lbl_801D64E8:
/* 801D64E8 001D2148 7F A3 EB 78 */ mr r3, r29
/* 801D64EC 001D214C 4B FF E7 F1 */ bl func_801D4CDC
lbl_801D64F0:
/* 801D64F0 001D2150 81 41 00 00 */ lwz r10, 0(r1)
/* 801D64F4 001D2154 80 0A 00 04 */ lwz r0, 4(r10)
/* 801D64F8 001D2158 83 EA FF FC */ lwz r31, -4(r10)
/* 801D64FC 001D215C 83 CA FF F8 */ lwz r30, -8(r10)
/* 801D6500 001D2160 83 AA FF F4 */ lwz r29, -0xc(r10)
/* 801D6504 001D2164 7C 08 03 A6 */ mtlr r0
/* 801D6508 001D2168 7D 41 53 78 */ mr r1, r10
/* 801D650C 001D216C 4E 80 00 20 */ blr
.global func_801D6510
func_801D6510:
/* 801D6510 001D2170 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 801D6514 001D2174 7C 2C 0B 78 */ mr r12, r1
/* 801D6518 001D2178 21 6B F6 C0 */ subfic r11, r11, -2368
/* 801D651C 001D217C 7C 21 59 6E */ stwux r1, r1, r11
/* 801D6520 001D2180 7C 08 02 A6 */ mflr r0
/* 801D6524 001D2184 90 0C 00 04 */ stw r0, 4(r12)
/* 801D6528 001D2188 93 EC FF FC */ stw r31, -4(r12)
/* 801D652C 001D218C 7C 7F 1B 78 */ mr r31, r3
/* 801D6530 001D2190 93 CC FF F8 */ stw r30, -8(r12)
/* 801D6534 001D2194 93 AC FF F4 */ stw r29, -0xc(r12)
/* 801D6538 001D2198 93 8C FF F0 */ stw r28, -0x10(r12)
/* 801D653C 001D219C 8B C3 00 18 */ lbz r30, 0x18(r3)
/* 801D6540 001D21A0 83 83 00 20 */ lwz r28, 0x20(r3)
/* 801D6544 001D21A4 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e
/* 801D6548 001D21A8 A0 63 00 1C */ lhz r3, 0x1c(r3)
/* 801D654C 001D21AC 41 82 00 64 */ beq lbl_801D65B0
/* 801D6550 001D21B0 38 61 00 64 */ addi r3, r1, 0x64
/* 801D6554 001D21B4 38 80 00 00 */ li r4, 0
/* 801D6558 001D21B8 38 A0 00 40 */ li r5, 0x40
/* 801D655C 001D21BC 4B E2 DB D9 */ bl TRK_memset
/* 801D6560 001D21C0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6564 001D21C4 38 00 00 80 */ li r0, 0x80
/* 801D6568 001D21C8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D656C 001D21CC 38 C0 00 40 */ li r6, 0x40
/* 801D6570 001D21D0 81 09 00 00 */ lwz r8, 0(r9)
/* 801D6574 001D21D4 38 A0 00 12 */ li r5, 0x12
/* 801D6578 001D21D8 98 01 00 68 */ stb r0, 0x68(r1)
/* 801D657C 001D21DC 38 61 00 64 */ addi r3, r1, 0x64
/* 801D6580 001D21E0 38 E8 00 01 */ addi r7, r8, 1
/* 801D6584 001D21E4 38 80 00 40 */ li r4, 0x40
/* 801D6588 001D21E8 91 01 00 70 */ stw r8, 0x70(r1)
/* 801D658C 001D21EC 38 07 00 01 */ addi r0, r7, 1
/* 801D6590 001D21F0 90 E9 00 00 */ stw r7, 0(r9)
/* 801D6594 001D21F4 90 C1 00 64 */ stw r6, 0x64(r1)
/* 801D6598 001D21F8 98 A1 00 6C */ stb r5, 0x6c(r1)
/* 801D659C 001D21FC 90 09 00 00 */ stw r0, 0(r9)
/* 801D65A0 001D2200 90 E1 00 70 */ stw r7, 0x70(r1)
/* 801D65A4 001D2204 48 00 30 69 */ bl func_801D960C
/* 801D65A8 001D2208 38 60 00 00 */ li r3, 0
/* 801D65AC 001D220C 48 00 01 88 */ b lbl_801D6734
lbl_801D65B0:
/* 801D65B0 001D2210 57 C0 EF FE */ rlwinm r0, r30, 0x1d, 0x1f, 0x1f
/* 801D65B4 001D2214 90 61 00 20 */ stw r3, 0x20(r1)
/* 801D65B8 001D2218 7F 84 E3 78 */ mr r4, r28
/* 801D65BC 001D221C 38 61 01 00 */ addi r3, r1, 0x100
/* 801D65C0 001D2220 38 A1 00 20 */ addi r5, r1, 0x20
/* 801D65C4 001D2224 68 06 00 01 */ xori r6, r0, 1
/* 801D65C8 001D2228 38 E0 00 01 */ li r7, 1
/* 801D65CC 001D222C 48 00 22 6D */ bl TRKTargetAccessMemory
/* 801D65D0 001D2230 7C 60 1B 78 */ mr r0, r3
/* 801D65D4 001D2234 7F E3 FB 78 */ mr r3, r31
/* 801D65D8 001D2238 7C 1D 03 78 */ mr r29, r0
/* 801D65DC 001D223C 38 80 00 00 */ li r4, 0
/* 801D65E0 001D2240 4B FF ED 59 */ bl TRKResetBuffer
/* 801D65E4 001D2244 2C 1D 00 00 */ cmpwi r29, 0
/* 801D65E8 001D2248 40 82 00 90 */ bne lbl_801D6678
/* 801D65EC 001D224C 38 61 00 A4 */ addi r3, r1, 0xa4
/* 801D65F0 001D2250 38 80 00 00 */ li r4, 0
/* 801D65F4 001D2254 38 A0 00 40 */ li r5, 0x40
/* 801D65F8 001D2258 4B E2 DB 3D */ bl TRK_memset
/* 801D65FC 001D225C 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6600 001D2260 80 81 00 20 */ lwz r4, 0x20(r1)
/* 801D6604 001D2264 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
/* 801D6608 001D2268 39 00 00 80 */ li r8, 0x80
/* 801D660C 001D226C 80 C7 00 00 */ lwz r6, 0(r7)
/* 801D6610 001D2270 38 04 00 40 */ addi r0, r4, 0x40
/* 801D6614 001D2274 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801D6618 001D2278 7F E3 FB 78 */ mr r3, r31
/* 801D661C 001D227C 38 06 00 01 */ addi r0, r6, 1
/* 801D6620 001D2280 38 81 00 A4 */ addi r4, r1, 0xa4
/* 801D6624 001D2284 9B A1 00 AC */ stb r29, 0xac(r1)
/* 801D6628 001D2288 38 A0 00 40 */ li r5, 0x40
/* 801D662C 001D228C 99 01 00 A8 */ stb r8, 0xa8(r1)
/* 801D6630 001D2290 90 07 00 00 */ stw r0, 0(r7)
/* 801D6634 001D2294 90 C1 00 B0 */ stw r6, 0xb0(r1)
/* 801D6638 001D2298 4B FF EC 2D */ bl TRKAppendBuffer
/* 801D663C 001D229C 57 C0 06 73 */ rlwinm. r0, r30, 0, 0x19, 0x19
/* 801D6640 001D22A0 41 82 00 24 */ beq lbl_801D6664
/* 801D6644 001D22A4 57 80 06 FE */ clrlwi r0, r28, 0x1b
/* 801D6648 001D22A8 38 81 01 00 */ addi r4, r1, 0x100
/* 801D664C 001D22AC 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 801D6650 001D22B0 7F E3 FB 78 */ mr r3, r31
/* 801D6654 001D22B4 7C 84 02 14 */ add r4, r4, r0
/* 801D6658 001D22B8 4B FF EC 0D */ bl TRKAppendBuffer
/* 801D665C 001D22BC 7C 7D 1B 78 */ mr r29, r3
/* 801D6660 001D22C0 48 00 00 18 */ b lbl_801D6678
lbl_801D6664:
/* 801D6664 001D22C4 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 801D6668 001D22C8 7F E3 FB 78 */ mr r3, r31
/* 801D666C 001D22CC 38 81 01 00 */ addi r4, r1, 0x100
/* 801D6670 001D22D0 4B FF EB F5 */ bl TRKAppendBuffer
/* 801D6674 001D22D4 7C 7D 1B 78 */ mr r29, r3
lbl_801D6678:
/* 801D6678 001D22D8 2C 1D 00 00 */ cmpwi r29, 0
/* 801D667C 001D22DC 41 82 00 B0 */ beq lbl_801D672C
/* 801D6680 001D22E0 38 1D F9 00 */ addi r0, r29, -1792
/* 801D6684 001D22E4 28 00 00 06 */ cmplwi r0, 6
/* 801D6688 001D22E8 41 81 00 44 */ bgt lbl_801D66CC
/* 801D668C 001D22EC 3C 60 80 42 */ lis r3, lbl_80423214@ha
/* 801D6690 001D22F0 54 00 10 3A */ slwi r0, r0, 2
/* 801D6694 001D22F4 38 63 32 14 */ addi r3, r3, lbl_80423214@l
/* 801D6698 001D22F8 7C 03 00 2E */ lwzx r0, r3, r0
/* 801D669C 001D22FC 7C 09 03 A6 */ mtctr r0
/* 801D66A0 001D2300 4E 80 04 20 */ bctr
/* 801D66A4 001D2304 3B A0 00 15 */ li r29, 0x15
/* 801D66A8 001D2308 48 00 00 28 */ b lbl_801D66D0
/* 801D66AC 001D230C 3B A0 00 13 */ li r29, 0x13
/* 801D66B0 001D2310 48 00 00 20 */ b lbl_801D66D0
/* 801D66B4 001D2314 3B A0 00 21 */ li r29, 0x21
/* 801D66B8 001D2318 48 00 00 18 */ b lbl_801D66D0
/* 801D66BC 001D231C 3B A0 00 22 */ li r29, 0x22
/* 801D66C0 001D2320 48 00 00 10 */ b lbl_801D66D0
/* 801D66C4 001D2324 3B A0 00 20 */ li r29, 0x20
/* 801D66C8 001D2328 48 00 00 08 */ b lbl_801D66D0
lbl_801D66CC:
/* 801D66CC 001D232C 3B A0 00 03 */ li r29, 3
lbl_801D66D0:
/* 801D66D0 001D2330 38 61 00 24 */ addi r3, r1, 0x24
/* 801D66D4 001D2334 38 80 00 00 */ li r4, 0
/* 801D66D8 001D2338 38 A0 00 40 */ li r5, 0x40
/* 801D66DC 001D233C 4B E2 DA 59 */ bl TRK_memset
/* 801D66E0 001D2340 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D66E4 001D2344 38 00 00 80 */ li r0, 0x80
/* 801D66E8 001D2348 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
/* 801D66EC 001D234C 38 A0 00 40 */ li r5, 0x40
/* 801D66F0 001D2350 80 E8 00 00 */ lwz r7, 0(r8)
/* 801D66F4 001D2354 38 61 00 24 */ addi r3, r1, 0x24
/* 801D66F8 001D2358 98 01 00 28 */ stb r0, 0x28(r1)
/* 801D66FC 001D235C 38 80 00 40 */ li r4, 0x40
/* 801D6700 001D2360 38 C7 00 01 */ addi r6, r7, 1
/* 801D6704 001D2364 90 E1 00 30 */ stw r7, 0x30(r1)
/* 801D6708 001D2368 38 06 00 01 */ addi r0, r6, 1
/* 801D670C 001D236C 90 C8 00 00 */ stw r6, 0(r8)
/* 801D6710 001D2370 90 A1 00 24 */ stw r5, 0x24(r1)
/* 801D6714 001D2374 9B A1 00 2C */ stb r29, 0x2c(r1)
/* 801D6718 001D2378 90 08 00 00 */ stw r0, 0(r8)
/* 801D671C 001D237C 90 C1 00 30 */ stw r6, 0x30(r1)
/* 801D6720 001D2380 48 00 2E ED */ bl func_801D960C
/* 801D6724 001D2384 38 60 00 00 */ li r3, 0
/* 801D6728 001D2388 48 00 00 0C */ b lbl_801D6734
lbl_801D672C:
/* 801D672C 001D238C 7F E3 FB 78 */ mr r3, r31
/* 801D6730 001D2390 4B FF E5 AD */ bl func_801D4CDC
lbl_801D6734:
/* 801D6734 001D2394 81 41 00 00 */ lwz r10, 0(r1)
/* 801D6738 001D2398 80 0A 00 04 */ lwz r0, 4(r10)
/* 801D673C 001D239C 83 EA FF FC */ lwz r31, -4(r10)
/* 801D6740 001D23A0 83 CA FF F8 */ lwz r30, -8(r10)
/* 801D6744 001D23A4 83 AA FF F4 */ lwz r29, -0xc(r10)
/* 801D6748 001D23A8 83 8A FF F0 */ lwz r28, -0x10(r10)
/* 801D674C 001D23AC 7C 08 03 A6 */ mtlr r0
/* 801D6750 001D23B0 7D 41 53 78 */ mr r1, r10
/* 801D6754 001D23B4 4E 80 00 20 */ blr
.global func_801D6758
func_801D6758:
/* 801D6758 001D23B8 38 60 00 00 */ li r3, 0
/* 801D675C 001D23BC 4E 80 00 20 */ blr
.global func_801D6760
func_801D6760:
/* 801D6760 001D23C0 38 60 00 00 */ li r3, 0
/* 801D6764 001D23C4 4E 80 00 20 */ blr
.global func_801D6768
func_801D6768:
/* 801D6768 001D23C8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D676C 001D23CC 7C 08 02 A6 */ mflr r0
/* 801D6770 001D23D0 38 80 00 00 */ li r4, 0
/* 801D6774 001D23D4 38 A0 00 40 */ li r5, 0x40
/* 801D6778 001D23D8 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D677C 001D23DC 38 61 00 08 */ addi r3, r1, 8
/* 801D6780 001D23E0 4B E2 D9 B5 */ bl TRK_memset
/* 801D6784 001D23E4 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6788 001D23E8 38 00 00 80 */ li r0, 0x80
/* 801D678C 001D23EC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D6790 001D23F0 38 C0 00 40 */ li r6, 0x40
/* 801D6794 001D23F4 81 09 00 00 */ lwz r8, 0(r9)
/* 801D6798 001D23F8 38 A0 00 00 */ li r5, 0
/* 801D679C 001D23FC 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D67A0 001D2400 38 61 00 08 */ addi r3, r1, 8
/* 801D67A4 001D2404 38 E8 00 01 */ addi r7, r8, 1
/* 801D67A8 001D2408 38 80 00 40 */ li r4, 0x40
/* 801D67AC 001D240C 91 01 00 14 */ stw r8, 0x14(r1)
/* 801D67B0 001D2410 38 07 00 01 */ addi r0, r7, 1
/* 801D67B4 001D2414 90 E9 00 00 */ stw r7, 0(r9)
/* 801D67B8 001D2418 90 C1 00 08 */ stw r6, 8(r1)
/* 801D67BC 001D241C 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801D67C0 001D2420 90 09 00 00 */ stw r0, 0(r9)
/* 801D67C4 001D2424 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D67C8 001D2428 48 00 2E 45 */ bl func_801D960C
/* 801D67CC 001D242C 48 00 2A E5 */ bl __TRK_copy_vectors
/* 801D67D0 001D2430 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D67D4 001D2434 38 60 00 00 */ li r3, 0
/* 801D67D8 001D2438 7C 08 03 A6 */ mtlr r0
/* 801D67DC 001D243C 38 21 00 50 */ addi r1, r1, 0x50
/* 801D67E0 001D2440 4E 80 00 20 */ blr
.global func_801D67E4
func_801D67E4:
/* 801D67E4 001D2444 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D67E8 001D2448 7C 08 02 A6 */ mflr r0
/* 801D67EC 001D244C 38 80 00 00 */ li r4, 0
/* 801D67F0 001D2450 38 A0 00 40 */ li r5, 0x40
/* 801D67F4 001D2454 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D67F8 001D2458 38 61 00 08 */ addi r3, r1, 8
/* 801D67FC 001D245C 4B E2 D9 39 */ bl TRK_memset
/* 801D6800 001D2460 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6804 001D2464 38 00 00 80 */ li r0, 0x80
/* 801D6808 001D2468 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D680C 001D246C 38 C0 00 40 */ li r6, 0x40
/* 801D6810 001D2470 81 09 00 00 */ lwz r8, 0(r9)
/* 801D6814 001D2474 38 A0 00 00 */ li r5, 0
/* 801D6818 001D2478 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D681C 001D247C 38 61 00 08 */ addi r3, r1, 8
/* 801D6820 001D2480 38 E8 00 01 */ addi r7, r8, 1
/* 801D6824 001D2484 38 80 00 40 */ li r4, 0x40
/* 801D6828 001D2488 91 01 00 14 */ stw r8, 0x14(r1)
/* 801D682C 001D248C 38 07 00 01 */ addi r0, r7, 1
/* 801D6830 001D2490 90 E9 00 00 */ stw r7, 0(r9)
/* 801D6834 001D2494 90 C1 00 08 */ stw r6, 8(r1)
/* 801D6838 001D2498 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801D683C 001D249C 90 09 00 00 */ stw r0, 0(r9)
/* 801D6840 001D24A0 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D6844 001D24A4 48 00 2D C9 */ bl func_801D960C
/* 801D6848 001D24A8 4B E2 F8 75 */ bl __TRK_reset
/* 801D684C 001D24AC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D6850 001D24B0 38 60 00 00 */ li r3, 0
/* 801D6854 001D24B4 7C 08 03 A6 */ mtlr r0
/* 801D6858 001D24B8 38 21 00 50 */ addi r1, r1, 0x50
/* 801D685C 001D24BC 4E 80 00 20 */ blr
.global func_801D6860
func_801D6860:
/* 801D6860 001D24C0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801D6864 001D24C4 7C 08 02 A6 */ mflr r0
/* 801D6868 001D24C8 3C 60 80 49 */ lis r3, lbl_804907EC@ha
/* 801D686C 001D24CC 38 A0 00 40 */ li r5, 0x40
/* 801D6870 001D24D0 90 01 00 64 */ stw r0, 0x64(r1)
/* 801D6874 001D24D4 38 83 07 EC */ addi r4, r3, lbl_804907EC@l
/* 801D6878 001D24D8 38 00 00 00 */ li r0, 0
/* 801D687C 001D24DC 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6880 001D24E0 90 04 00 00 */ stw r0, 0(r4)
/* 801D6884 001D24E4 38 80 00 00 */ li r4, 0
/* 801D6888 001D24E8 4B E2 D8 AD */ bl TRK_memset
/* 801D688C 001D24EC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D6890 001D24F0 38 00 00 80 */ li r0, 0x80
/* 801D6894 001D24F4 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D6898 001D24F8 38 C0 00 40 */ li r6, 0x40
/* 801D689C 001D24FC 81 09 00 00 */ lwz r8, 0(r9)
/* 801D68A0 001D2500 38 A0 00 00 */ li r5, 0
/* 801D68A4 001D2504 98 01 00 18 */ stb r0, 0x18(r1)
/* 801D68A8 001D2508 38 61 00 14 */ addi r3, r1, 0x14
/* 801D68AC 001D250C 38 E8 00 01 */ addi r7, r8, 1
/* 801D68B0 001D2510 38 80 00 40 */ li r4, 0x40
/* 801D68B4 001D2514 91 01 00 20 */ stw r8, 0x20(r1)
/* 801D68B8 001D2518 38 07 00 01 */ addi r0, r7, 1
/* 801D68BC 001D251C 90 E9 00 00 */ stw r7, 0(r9)
/* 801D68C0 001D2520 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801D68C4 001D2524 98 A1 00 1C */ stb r5, 0x1c(r1)
/* 801D68C8 001D2528 90 09 00 00 */ stw r0, 0(r9)
/* 801D68CC 001D252C 90 E1 00 20 */ stw r7, 0x20(r1)
/* 801D68D0 001D2530 48 00 2D 3D */ bl func_801D960C
/* 801D68D4 001D2534 38 61 00 08 */ addi r3, r1, 8
/* 801D68D8 001D2538 38 80 00 01 */ li r4, 1
/* 801D68DC 001D253C 4B FF E0 79 */ bl TRKConstructEvent
/* 801D68E0 001D2540 38 61 00 08 */ addi r3, r1, 8
/* 801D68E4 001D2544 4B FF E0 89 */ bl TRKPostEvent
/* 801D68E8 001D2548 80 01 00 64 */ lwz r0, 0x64(r1)
/* 801D68EC 001D254C 38 60 00 00 */ li r3, 0
/* 801D68F0 001D2550 7C 08 03 A6 */ mtlr r0
/* 801D68F4 001D2554 38 21 00 60 */ addi r1, r1, 0x60
/* 801D68F8 001D2558 4E 80 00 20 */ blr
.global func_801D68FC
func_801D68FC:
/* 801D68FC 001D255C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D6900 001D2560 7C 08 02 A6 */ mflr r0
/* 801D6904 001D2564 3C 60 80 49 */ lis r3, lbl_804907EC@ha
/* 801D6908 001D2568 38 A0 00 40 */ li r5, 0x40
/* 801D690C 001D256C 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D6910 001D2570 38 83 07 EC */ addi r4, r3, lbl_804907EC@l
/* 801D6914 001D2574 38 00 00 01 */ li r0, 1
/* 801D6918 001D2578 38 61 00 08 */ addi r3, r1, 8
/* 801D691C 001D257C 90 04 00 00 */ stw r0, 0(r4)
/* 801D6920 001D2580 38 80 00 00 */ li r4, 0
/* 801D6924 001D2584 4B E2 D8 11 */ bl TRK_memset
/* 801D6928 001D2588 3C 60 80 49 */ lis r3, lbl_804907E8@ha
/* 801D692C 001D258C 38 00 00 80 */ li r0, 0x80
/* 801D6930 001D2590 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
/* 801D6934 001D2594 38 C0 00 40 */ li r6, 0x40
/* 801D6938 001D2598 81 09 00 00 */ lwz r8, 0(r9)
/* 801D693C 001D259C 38 A0 00 00 */ li r5, 0
/* 801D6940 001D25A0 98 01 00 0C */ stb r0, 0xc(r1)
/* 801D6944 001D25A4 38 61 00 08 */ addi r3, r1, 8
/* 801D6948 001D25A8 38 E8 00 01 */ addi r7, r8, 1
/* 801D694C 001D25AC 38 80 00 40 */ li r4, 0x40
/* 801D6950 001D25B0 91 01 00 14 */ stw r8, 0x14(r1)
/* 801D6954 001D25B4 38 07 00 01 */ addi r0, r7, 1
/* 801D6958 001D25B8 90 E9 00 00 */ stw r7, 0(r9)
/* 801D695C 001D25BC 90 C1 00 08 */ stw r6, 8(r1)
/* 801D6960 001D25C0 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801D6964 001D25C4 90 09 00 00 */ stw r0, 0(r9)
/* 801D6968 001D25C8 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801D696C 001D25CC 48 00 2C A1 */ bl func_801D960C
/* 801D6970 001D25D0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D6974 001D25D4 38 60 00 00 */ li r3, 0
/* 801D6978 001D25D8 7C 08 03 A6 */ mtlr r0
/* 801D697C 001D25DC 38 21 00 50 */ addi r1, r1, 0x50
/* 801D6980 001D25E0 4E 80 00 20 */ blr
.global SetTRKConnected
SetTRKConnected:
/* 801D6984 001D25E4 3C 80 80 49 */ lis r4, lbl_804907EC@ha
/* 801D6988 001D25E8 90 64 07 EC */ stw r3, lbl_804907EC@l(r4)
/* 801D698C 001D25EC 4E 80 00 20 */ blr
.global func_801D6990
func_801D6990:
/* 801D6990 001D25F0 3C 60 80 49 */ lis r3, lbl_804907EC@ha
/* 801D6994 001D25F4 38 63 07 EC */ addi r3, r3, lbl_804907EC@l
/* 801D6998 001D25F8 80 63 00 00 */ lwz r3, 0(r3)
/* 801D699C 001D25FC 4E 80 00 20 */ blr
.global HandlePositionFileSupportRequest
HandlePositionFileSupportRequest:
/* 801D69A0 001D2600 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801D69A4 001D2604 7C 08 02 A6 */ mflr r0
/* 801D69A8 001D2608 90 01 00 74 */ stw r0, 0x74(r1)
/* 801D69AC 001D260C 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801D69B0 001D2610 7C BF 2B 78 */ mr r31, r5
/* 801D69B4 001D2614 38 A0 00 40 */ li r5, 0x40
/* 801D69B8 001D2618 93 C1 00 68 */ stw r30, 0x68(r1)
/* 801D69BC 001D261C 7C DE 33 78 */ mr r30, r6
/* 801D69C0 001D2620 93 A1 00 64 */ stw r29, 0x64(r1)
/* 801D69C4 001D2624 7C 9D 23 78 */ mr r29, r4
/* 801D69C8 001D2628 38 80 00 00 */ li r4, 0
/* 801D69CC 001D262C 93 81 00 60 */ stw r28, 0x60(r1)
/* 801D69D0 001D2630 7C 7C 1B 78 */ mr r28, r3
/* 801D69D4 001D2634 38 61 00 14 */ addi r3, r1, 0x14
/* 801D69D8 001D2638 4B E2 D7 5D */ bl TRK_memset
/* 801D69DC 001D263C 38 60 00 D4 */ li r3, 0xd4
/* 801D69E0 001D2640 38 00 00 40 */ li r0, 0x40
/* 801D69E4 001D2644 98 61 00 18 */ stb r3, 0x18(r1)
/* 801D69E8 001D2648 38 61 00 0C */ addi r3, r1, 0xc
/* 801D69EC 001D264C 38 81 00 08 */ addi r4, r1, 8
/* 801D69F0 001D2650 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D69F4 001D2654 93 81 00 1C */ stw r28, 0x1c(r1)
/* 801D69F8 001D2658 80 1D 00 00 */ lwz r0, 0(r29)
/* 801D69FC 001D265C 90 01 00 20 */ stw r0, 0x20(r1)
/* 801D6A00 001D2660 9B E1 00 24 */ stb r31, 0x24(r1)
/* 801D6A04 001D2664 4B FF EA 05 */ bl TRKGetFreeBuffer
/* 801D6A08 001D2668 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6A0C 001D266C 40 82 00 18 */ bne lbl_801D6A24
/* 801D6A10 001D2670 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6A14 001D2674 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6A18 001D2678 38 A0 00 40 */ li r5, 0x40
/* 801D6A1C 001D267C 4B FF E6 59 */ bl TRKAppendBuffer_ui8
/* 801D6A20 001D2680 7C 7F 1B 78 */ mr r31, r3
lbl_801D6A24:
/* 801D6A24 001D2684 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6A28 001D2688 40 82 00 5C */ bne lbl_801D6A84
/* 801D6A2C 001D268C 38 60 00 00 */ li r3, 0
/* 801D6A30 001D2690 38 00 FF FF */ li r0, -1
/* 801D6A34 001D2694 90 7E 00 00 */ stw r3, 0(r30)
/* 801D6A38 001D2698 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6A3C 001D269C 38 A0 00 03 */ li r5, 3
/* 801D6A40 001D26A0 38 C0 00 03 */ li r6, 3
/* 801D6A44 001D26A4 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6A48 001D26A8 38 E0 00 00 */ li r7, 0
/* 801D6A4C 001D26AC 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6A50 001D26B0 48 00 02 65 */ bl func_801D6CB4
/* 801D6A54 001D26B4 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6A58 001D26B8 40 82 00 24 */ bne lbl_801D6A7C
/* 801D6A5C 001D26BC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6A60 001D26C0 4B FF E9 7D */ bl TRKGetBuffer
/* 801D6A64 001D26C4 28 03 00 00 */ cmplwi r3, 0
/* 801D6A68 001D26C8 41 82 00 14 */ beq lbl_801D6A7C
/* 801D6A6C 001D26CC 80 03 00 20 */ lwz r0, 0x20(r3)
/* 801D6A70 001D26D0 90 1E 00 00 */ stw r0, 0(r30)
/* 801D6A74 001D26D4 80 03 00 28 */ lwz r0, 0x28(r3)
/* 801D6A78 001D26D8 90 1D 00 00 */ stw r0, 0(r29)
lbl_801D6A7C:
/* 801D6A7C 001D26DC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6A80 001D26E0 4B FF E8 F9 */ bl TRKReleaseBuffer
lbl_801D6A84:
/* 801D6A84 001D26E4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D6A88 001D26E8 4B FF E8 F1 */ bl TRKReleaseBuffer
/* 801D6A8C 001D26EC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801D6A90 001D26F0 7F E3 FB 78 */ mr r3, r31
/* 801D6A94 001D26F4 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 801D6A98 001D26F8 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 801D6A9C 001D26FC 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 801D6AA0 001D2700 83 81 00 60 */ lwz r28, 0x60(r1)
/* 801D6AA4 001D2704 7C 08 03 A6 */ mtlr r0
/* 801D6AA8 001D2708 38 21 00 70 */ addi r1, r1, 0x70
/* 801D6AAC 001D270C 4E 80 00 20 */ blr
.global HandleCloseFileSupportRequest
HandleCloseFileSupportRequest:
/* 801D6AB0 001D2710 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801D6AB4 001D2714 7C 08 02 A6 */ mflr r0
/* 801D6AB8 001D2718 38 A0 00 40 */ li r5, 0x40
/* 801D6ABC 001D271C 90 01 00 74 */ stw r0, 0x74(r1)
/* 801D6AC0 001D2720 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801D6AC4 001D2724 7C 7F 1B 78 */ mr r31, r3
/* 801D6AC8 001D2728 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6ACC 001D272C 93 C1 00 68 */ stw r30, 0x68(r1)
/* 801D6AD0 001D2730 93 A1 00 64 */ stw r29, 0x64(r1)
/* 801D6AD4 001D2734 7C 9D 23 78 */ mr r29, r4
/* 801D6AD8 001D2738 38 80 00 00 */ li r4, 0
/* 801D6ADC 001D273C 4B E2 D6 59 */ bl TRK_memset
/* 801D6AE0 001D2740 38 60 00 D3 */ li r3, 0xd3
/* 801D6AE4 001D2744 38 00 00 40 */ li r0, 0x40
/* 801D6AE8 001D2748 98 61 00 18 */ stb r3, 0x18(r1)
/* 801D6AEC 001D274C 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6AF0 001D2750 38 81 00 08 */ addi r4, r1, 8
/* 801D6AF4 001D2754 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6AF8 001D2758 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D6AFC 001D275C 4B FF E9 0D */ bl TRKGetFreeBuffer
/* 801D6B00 001D2760 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6B04 001D2764 40 82 00 18 */ bne lbl_801D6B1C
/* 801D6B08 001D2768 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6B0C 001D276C 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6B10 001D2770 38 A0 00 40 */ li r5, 0x40
/* 801D6B14 001D2774 4B FF E5 61 */ bl TRKAppendBuffer_ui8
/* 801D6B18 001D2778 7C 7F 1B 78 */ mr r31, r3
lbl_801D6B1C:
/* 801D6B1C 001D277C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6B20 001D2780 40 82 00 50 */ bne lbl_801D6B70
/* 801D6B24 001D2784 38 00 00 00 */ li r0, 0
/* 801D6B28 001D2788 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6B2C 001D278C 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6B30 001D2790 38 A0 00 03 */ li r5, 3
/* 801D6B34 001D2794 38 C0 00 03 */ li r6, 3
/* 801D6B38 001D2798 38 E0 00 00 */ li r7, 0
/* 801D6B3C 001D279C 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6B40 001D27A0 48 00 01 75 */ bl func_801D6CB4
/* 801D6B44 001D27A4 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6B48 001D27A8 40 82 00 10 */ bne lbl_801D6B58
/* 801D6B4C 001D27AC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6B50 001D27B0 4B FF E8 8D */ bl TRKGetBuffer
/* 801D6B54 001D27B4 7C 7E 1B 78 */ mr r30, r3
lbl_801D6B58:
/* 801D6B58 001D27B8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6B5C 001D27BC 40 82 00 0C */ bne lbl_801D6B68
/* 801D6B60 001D27C0 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 801D6B64 001D27C4 90 1D 00 00 */ stw r0, 0(r29)
lbl_801D6B68:
/* 801D6B68 001D27C8 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6B6C 001D27CC 4B FF E8 0D */ bl TRKReleaseBuffer
lbl_801D6B70:
/* 801D6B70 001D27D0 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D6B74 001D27D4 4B FF E8 05 */ bl TRKReleaseBuffer
/* 801D6B78 001D27D8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801D6B7C 001D27DC 7F E3 FB 78 */ mr r3, r31
/* 801D6B80 001D27E0 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 801D6B84 001D27E4 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 801D6B88 001D27E8 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 801D6B8C 001D27EC 7C 08 03 A6 */ mtlr r0
/* 801D6B90 001D27F0 38 21 00 70 */ addi r1, r1, 0x70
/* 801D6B94 001D27F4 4E 80 00 20 */ blr
.global HandleOpenFileSupportRequest
HandleOpenFileSupportRequest:
/* 801D6B98 001D27F8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801D6B9C 001D27FC 7C 08 02 A6 */ mflr r0
/* 801D6BA0 001D2800 90 01 00 74 */ stw r0, 0x74(r1)
/* 801D6BA4 001D2804 BF 61 00 5C */ stmw r27, 0x5c(r1)
/* 801D6BA8 001D2808 7C 7B 1B 78 */ mr r27, r3
/* 801D6BAC 001D280C 7C 9F 23 78 */ mr r31, r4
/* 801D6BB0 001D2810 7C BC 2B 78 */ mr r28, r5
/* 801D6BB4 001D2814 7C DD 33 78 */ mr r29, r6
/* 801D6BB8 001D2818 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6BBC 001D281C 38 80 00 00 */ li r4, 0
/* 801D6BC0 001D2820 38 A0 00 40 */ li r5, 0x40
/* 801D6BC4 001D2824 4B E2 D5 71 */ bl TRK_memset
/* 801D6BC8 001D2828 38 60 00 00 */ li r3, 0
/* 801D6BCC 001D282C 38 00 00 D2 */ li r0, 0xd2
/* 801D6BD0 001D2830 90 7C 00 00 */ stw r3, 0(r28)
/* 801D6BD4 001D2834 7F 63 DB 78 */ mr r3, r27
/* 801D6BD8 001D2838 98 01 00 18 */ stb r0, 0x18(r1)
/* 801D6BDC 001D283C 48 00 06 19 */ bl strlen
/* 801D6BE0 001D2840 38 03 00 41 */ addi r0, r3, 0x41
/* 801D6BE4 001D2844 9B E1 00 1C */ stb r31, 0x1c(r1)
/* 801D6BE8 001D2848 7F 63 DB 78 */ mr r3, r27
/* 801D6BEC 001D284C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6BF0 001D2850 48 00 06 05 */ bl strlen
/* 801D6BF4 001D2854 38 03 00 01 */ addi r0, r3, 1
/* 801D6BF8 001D2858 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6BFC 001D285C B0 01 00 20 */ sth r0, 0x20(r1)
/* 801D6C00 001D2860 38 81 00 08 */ addi r4, r1, 8
/* 801D6C04 001D2864 4B FF E8 05 */ bl TRKGetFreeBuffer
/* 801D6C08 001D2868 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6C0C 001D286C 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6C10 001D2870 38 A0 00 40 */ li r5, 0x40
/* 801D6C14 001D2874 4B FF E4 61 */ bl TRKAppendBuffer_ui8
/* 801D6C18 001D2878 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6C1C 001D287C 40 82 00 24 */ bne lbl_801D6C40
/* 801D6C20 001D2880 7F 63 DB 78 */ mr r3, r27
/* 801D6C24 001D2884 48 00 05 D1 */ bl strlen
/* 801D6C28 001D2888 7C 65 1B 78 */ mr r5, r3
/* 801D6C2C 001D288C 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6C30 001D2890 7F 64 DB 78 */ mr r4, r27
/* 801D6C34 001D2894 38 A5 00 01 */ addi r5, r5, 1
/* 801D6C38 001D2898 4B FF E4 3D */ bl TRKAppendBuffer_ui8
/* 801D6C3C 001D289C 7C 7F 1B 78 */ mr r31, r3
lbl_801D6C40:
/* 801D6C40 001D28A0 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6C44 001D28A4 40 82 00 50 */ bne lbl_801D6C94
/* 801D6C48 001D28A8 38 00 00 00 */ li r0, 0
/* 801D6C4C 001D28AC 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6C50 001D28B0 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6C54 001D28B4 38 A0 00 07 */ li r5, 7
/* 801D6C58 001D28B8 38 C0 00 03 */ li r6, 3
/* 801D6C5C 001D28BC 38 E0 00 00 */ li r7, 0
/* 801D6C60 001D28C0 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6C64 001D28C4 48 00 00 51 */ bl func_801D6CB4
/* 801D6C68 001D28C8 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6C6C 001D28CC 40 82 00 10 */ bne lbl_801D6C7C
/* 801D6C70 001D28D0 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6C74 001D28D4 4B FF E7 69 */ bl TRKGetBuffer
/* 801D6C78 001D28D8 7C 7E 1B 78 */ mr r30, r3
lbl_801D6C7C:
/* 801D6C7C 001D28DC 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 801D6C80 001D28E0 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6C84 001D28E4 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 801D6C88 001D28E8 90 1C 00 00 */ stw r0, 0(r28)
/* 801D6C8C 001D28EC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6C90 001D28F0 4B FF E6 E9 */ bl TRKReleaseBuffer
lbl_801D6C94:
/* 801D6C94 001D28F4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D6C98 001D28F8 4B FF E6 E1 */ bl TRKReleaseBuffer
/* 801D6C9C 001D28FC 7F E3 FB 78 */ mr r3, r31
/* 801D6CA0 001D2900 BB 61 00 5C */ lmw r27, 0x5c(r1)
/* 801D6CA4 001D2904 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801D6CA8 001D2908 7C 08 03 A6 */ mtlr r0
/* 801D6CAC 001D290C 38 21 00 70 */ addi r1, r1, 0x70
/* 801D6CB0 001D2910 4E 80 00 20 */ blr
.global func_801D6CB4
func_801D6CB4:
/* 801D6CB4 001D2914 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D6CB8 001D2918 7C 08 02 A6 */ mflr r0
/* 801D6CBC 001D291C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D6CC0 001D2920 38 00 FF FF */ li r0, -1
/* 801D6CC4 001D2924 BE C1 00 08 */ stmw r22, 8(r1)
/* 801D6CC8 001D2928 7C 97 23 78 */ mr r23, r4
/* 801D6CCC 001D292C 7C 76 1B 78 */ mr r22, r3
/* 801D6CD0 001D2930 7C F8 3B 78 */ mr r24, r7
/* 801D6CD4 001D2934 3B 86 00 01 */ addi r28, r6, 1
/* 801D6CD8 001D2938 3B E0 00 00 */ li r31, 0
/* 801D6CDC 001D293C 3B 20 00 01 */ li r25, 1
/* 801D6CE0 001D2940 90 04 00 00 */ stw r0, 0(r4)
/* 801D6CE4 001D2944 48 00 01 0C */ b lbl_801D6DF0
lbl_801D6CE8:
/* 801D6CE8 001D2948 7E C3 B3 78 */ mr r3, r22
/* 801D6CEC 001D294C 4B FF DF F1 */ bl func_801D4CDC
/* 801D6CF0 001D2950 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6CF4 001D2954 40 82 00 F8 */ bne lbl_801D6DEC
/* 801D6CF8 001D2958 2C 18 00 00 */ cmpwi r24, 0
/* 801D6CFC 001D295C 41 82 00 08 */ beq lbl_801D6D04
/* 801D6D00 001D2960 3B A0 00 00 */ li r29, 0
lbl_801D6D04:
/* 801D6D04 001D2964 4B FF E9 1D */ bl func_801D5620
/* 801D6D08 001D2968 90 77 00 00 */ stw r3, 0(r23)
/* 801D6D0C 001D296C 80 77 00 00 */ lwz r3, 0(r23)
/* 801D6D10 001D2970 2C 03 FF FF */ cmpwi r3, -1
/* 801D6D14 001D2974 40 82 00 20 */ bne lbl_801D6D34
/* 801D6D18 001D2978 2C 18 00 00 */ cmpwi r24, 0
/* 801D6D1C 001D297C 41 82 FF E8 */ beq lbl_801D6D04
/* 801D6D20 001D2980 3C 80 04 C5 */ lis r4, 0x04C4B3EC@ha
/* 801D6D24 001D2984 3B BD 00 01 */ addi r29, r29, 1
/* 801D6D28 001D2988 38 04 B3 EC */ addi r0, r4, 0x04C4B3EC@l
/* 801D6D2C 001D298C 7C 1D 00 40 */ cmplw r29, r0
/* 801D6D30 001D2990 41 80 FF D4 */ blt lbl_801D6D04
lbl_801D6D34:
/* 801D6D34 001D2994 2C 03 FF FF */ cmpwi r3, -1
/* 801D6D38 001D2998 41 82 00 44 */ beq lbl_801D6D7C
/* 801D6D3C 001D299C 3B 20 00 00 */ li r25, 0
/* 801D6D40 001D29A0 4B FF E6 9D */ bl TRKGetBuffer
/* 801D6D44 001D29A4 38 80 00 00 */ li r4, 0
/* 801D6D48 001D29A8 7C 7E 1B 78 */ mr r30, r3
/* 801D6D4C 001D29AC 4B FF E5 BD */ bl TRKSetBufferPosition
/* 801D6D50 001D29B0 80 9E 00 08 */ lwz r4, 8(r30)
/* 801D6D54 001D29B4 38 7E 00 10 */ addi r3, r30, 0x10
/* 801D6D58 001D29B8 48 00 2F 0D */ bl func_801D9C64
/* 801D6D5C 001D29BC 8B 7E 00 14 */ lbz r27, 0x14(r30)
/* 801D6D60 001D29C0 28 1B 00 80 */ cmplwi r27, 0x80
/* 801D6D64 001D29C4 40 80 00 18 */ bge lbl_801D6D7C
/* 801D6D68 001D29C8 80 77 00 00 */ lwz r3, 0(r23)
/* 801D6D6C 001D29CC 4B FF E8 05 */ bl TRKProcessInput
/* 801D6D70 001D29D0 38 00 FF FF */ li r0, -1
/* 801D6D74 001D29D4 90 17 00 00 */ stw r0, 0(r23)
/* 801D6D78 001D29D8 4B FF FF 8C */ b lbl_801D6D04
lbl_801D6D7C:
/* 801D6D7C 001D29DC 80 77 00 00 */ lwz r3, 0(r23)
/* 801D6D80 001D29E0 2C 03 FF FF */ cmpwi r3, -1
/* 801D6D84 001D29E4 41 82 00 68 */ beq lbl_801D6DEC
/* 801D6D88 001D29E8 80 1E 00 08 */ lwz r0, 8(r30)
/* 801D6D8C 001D29EC 28 00 00 40 */ cmplwi r0, 0x40
/* 801D6D90 001D29F0 40 80 00 08 */ bge lbl_801D6D98
/* 801D6D94 001D29F4 3B 20 00 01 */ li r25, 1
lbl_801D6D98:
/* 801D6D98 001D29F8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6D9C 001D29FC 40 82 00 10 */ bne lbl_801D6DAC
/* 801D6DA0 001D2A00 2C 19 00 00 */ cmpwi r25, 0
/* 801D6DA4 001D2A04 40 82 00 08 */ bne lbl_801D6DAC
/* 801D6DA8 001D2A08 8B 5E 00 18 */ lbz r26, 0x18(r30)
lbl_801D6DAC:
/* 801D6DAC 001D2A0C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6DB0 001D2A10 40 82 00 20 */ bne lbl_801D6DD0
/* 801D6DB4 001D2A14 2C 19 00 00 */ cmpwi r25, 0
/* 801D6DB8 001D2A18 40 82 00 18 */ bne lbl_801D6DD0
/* 801D6DBC 001D2A1C 2C 1B 00 80 */ cmpwi r27, 0x80
/* 801D6DC0 001D2A20 40 82 00 0C */ bne lbl_801D6DCC
/* 801D6DC4 001D2A24 2C 1A 00 00 */ cmpwi r26, 0
/* 801D6DC8 001D2A28 41 82 00 08 */ beq lbl_801D6DD0
lbl_801D6DCC:
/* 801D6DCC 001D2A2C 3B 20 00 01 */ li r25, 1
lbl_801D6DD0:
/* 801D6DD0 001D2A30 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6DD4 001D2A34 40 82 00 0C */ bne lbl_801D6DE0
/* 801D6DD8 001D2A38 2C 19 00 00 */ cmpwi r25, 0
/* 801D6DDC 001D2A3C 41 82 00 10 */ beq lbl_801D6DEC
lbl_801D6DE0:
/* 801D6DE0 001D2A40 4B FF E5 99 */ bl TRKReleaseBuffer
/* 801D6DE4 001D2A44 38 00 FF FF */ li r0, -1
/* 801D6DE8 001D2A48 90 17 00 00 */ stw r0, 0(r23)
lbl_801D6DEC:
/* 801D6DEC 001D2A4C 3B 9C FF FF */ addi r28, r28, -1
lbl_801D6DF0:
/* 801D6DF0 001D2A50 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6DF4 001D2A54 41 82 00 18 */ beq lbl_801D6E0C
/* 801D6DF8 001D2A58 80 17 00 00 */ lwz r0, 0(r23)
/* 801D6DFC 001D2A5C 2C 00 FF FF */ cmpwi r0, -1
/* 801D6E00 001D2A60 40 82 00 0C */ bne lbl_801D6E0C
/* 801D6E04 001D2A64 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6E08 001D2A68 41 82 FE E0 */ beq lbl_801D6CE8
lbl_801D6E0C:
/* 801D6E0C 001D2A6C 80 17 00 00 */ lwz r0, 0(r23)
/* 801D6E10 001D2A70 2C 00 FF FF */ cmpwi r0, -1
/* 801D6E14 001D2A74 40 82 00 08 */ bne lbl_801D6E1C
/* 801D6E18 001D2A78 3B E0 08 00 */ li r31, 0x800
lbl_801D6E1C:
/* 801D6E1C 001D2A7C 7F E3 FB 78 */ mr r3, r31
/* 801D6E20 001D2A80 BA C1 00 08 */ lmw r22, 8(r1)
/* 801D6E24 001D2A84 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D6E28 001D2A88 7C 08 03 A6 */ mtlr r0
/* 801D6E2C 001D2A8C 38 21 00 30 */ addi r1, r1, 0x30
/* 801D6E30 001D2A90 4E 80 00 20 */ blr
.global TRKSuppAccessFile
TRKSuppAccessFile:
/* 801D6E34 001D2A94 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801D6E38 001D2A98 7C 08 02 A6 */ mflr r0
/* 801D6E3C 001D2A9C 90 01 00 94 */ stw r0, 0x94(r1)
/* 801D6E40 001D2AA0 BE 61 00 5C */ stmw r19, 0x5c(r1)
/* 801D6E44 001D2AA4 7C 98 23 79 */ or. r24, r4, r4
/* 801D6E48 001D2AA8 7C 77 1B 78 */ mr r23, r3
/* 801D6E4C 001D2AAC 7C B9 2B 78 */ mr r25, r5
/* 801D6E50 001D2AB0 7C DA 33 78 */ mr r26, r6
/* 801D6E54 001D2AB4 7C FB 3B 78 */ mr r27, r7
/* 801D6E58 001D2AB8 7D 1C 43 78 */ mr r28, r8
/* 801D6E5C 001D2ABC 41 82 00 10 */ beq lbl_801D6E6C
/* 801D6E60 001D2AC0 80 19 00 00 */ lwz r0, 0(r25)
/* 801D6E64 001D2AC4 28 00 00 00 */ cmplwi r0, 0
/* 801D6E68 001D2AC8 40 82 00 0C */ bne lbl_801D6E74
lbl_801D6E6C:
/* 801D6E6C 001D2ACC 38 60 00 02 */ li r3, 2
/* 801D6E70 001D2AD0 48 00 01 D0 */ b lbl_801D7040
lbl_801D6E74:
/* 801D6E74 001D2AD4 38 00 00 00 */ li r0, 0
/* 801D6E78 001D2AD8 3B A0 00 00 */ li r29, 0
/* 801D6E7C 001D2ADC 90 1A 00 00 */ stw r0, 0(r26)
/* 801D6E80 001D2AE0 3B C0 00 00 */ li r30, 0
/* 801D6E84 001D2AE4 3A A0 00 00 */ li r21, 0
/* 801D6E88 001D2AE8 48 00 01 88 */ b lbl_801D7010
lbl_801D6E8C:
/* 801D6E8C 001D2AEC 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6E90 001D2AF0 38 80 00 00 */ li r4, 0
/* 801D6E94 001D2AF4 38 A0 00 40 */ li r5, 0x40
/* 801D6E98 001D2AF8 4B E2 D2 9D */ bl TRK_memset
/* 801D6E9C 001D2AFC 80 19 00 00 */ lwz r0, 0(r25)
/* 801D6EA0 001D2B00 38 60 08 00 */ li r3, 0x800
/* 801D6EA4 001D2B04 7C 1E 00 50 */ subf r0, r30, r0
/* 801D6EA8 001D2B08 28 00 08 00 */ cmplwi r0, 0x800
/* 801D6EAC 001D2B0C 41 81 00 08 */ bgt lbl_801D6EB4
/* 801D6EB0 001D2B10 7C 03 03 78 */ mr r3, r0
lbl_801D6EB4:
/* 801D6EB4 001D2B14 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6EB8 001D2B18 7C 7F 1B 78 */ mr r31, r3
/* 801D6EBC 001D2B1C 38 00 00 D0 */ li r0, 0xd0
/* 801D6EC0 001D2B20 41 82 00 08 */ beq lbl_801D6EC8
/* 801D6EC4 001D2B24 38 00 00 D1 */ li r0, 0xd1
lbl_801D6EC8:
/* 801D6EC8 001D2B28 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6ECC 001D2B2C 98 01 00 18 */ stb r0, 0x18(r1)
/* 801D6ED0 001D2B30 38 00 00 40 */ li r0, 0x40
/* 801D6ED4 001D2B34 40 82 00 08 */ bne lbl_801D6EDC
/* 801D6ED8 001D2B38 38 1F 00 40 */ addi r0, r31, 0x40
lbl_801D6EDC:
/* 801D6EDC 001D2B3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6EE0 001D2B40 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6EE4 001D2B44 38 81 00 08 */ addi r4, r1, 8
/* 801D6EE8 001D2B48 92 E1 00 1C */ stw r23, 0x1c(r1)
/* 801D6EEC 001D2B4C B3 E1 00 20 */ sth r31, 0x20(r1)
/* 801D6EF0 001D2B50 4B FF E5 19 */ bl TRKGetFreeBuffer
/* 801D6EF4 001D2B54 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6EF8 001D2B58 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6EFC 001D2B5C 38 A0 00 40 */ li r5, 0x40
/* 801D6F00 001D2B60 4B FF E1 75 */ bl TRKAppendBuffer_ui8
/* 801D6F04 001D2B64 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F08 001D2B68 7C 75 1B 78 */ mr r21, r3
/* 801D6F0C 001D2B6C 40 82 00 20 */ bne lbl_801D6F2C
/* 801D6F10 001D2B70 2C 15 00 00 */ cmpwi r21, 0
/* 801D6F14 001D2B74 40 82 00 18 */ bne lbl_801D6F2C
/* 801D6F18 001D2B78 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6F1C 001D2B7C 7F E5 FB 78 */ mr r5, r31
/* 801D6F20 001D2B80 7C 98 F2 14 */ add r4, r24, r30
/* 801D6F24 001D2B84 4B FF E1 51 */ bl TRKAppendBuffer_ui8
/* 801D6F28 001D2B88 7C 75 1B 78 */ mr r21, r3
lbl_801D6F2C:
/* 801D6F2C 001D2B8C 2C 15 00 00 */ cmpwi r21, 0
/* 801D6F30 001D2B90 40 82 00 D4 */ bne lbl_801D7004
/* 801D6F34 001D2B94 2C 1B 00 00 */ cmpwi r27, 0
/* 801D6F38 001D2B98 41 82 00 C0 */ beq lbl_801D6FF8
/* 801D6F3C 001D2B9C 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F40 001D2BA0 38 00 00 00 */ li r0, 0
/* 801D6F44 001D2BA4 41 82 00 10 */ beq lbl_801D6F54
/* 801D6F48 001D2BA8 28 17 00 00 */ cmplwi r23, 0
/* 801D6F4C 001D2BAC 40 82 00 08 */ bne lbl_801D6F54
/* 801D6F50 001D2BB0 38 00 00 01 */ li r0, 1
lbl_801D6F54:
/* 801D6F54 001D2BB4 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F58 001D2BB8 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6F5C 001D2BBC 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6F60 001D2BC0 38 A0 00 05 */ li r5, 5
/* 801D6F64 001D2BC4 7C 00 00 34 */ cntlzw r0, r0
/* 801D6F68 001D2BC8 38 C0 00 03 */ li r6, 3
/* 801D6F6C 001D2BCC 54 07 D9 7E */ srwi r7, r0, 5
/* 801D6F70 001D2BD0 4B FF FD 45 */ bl func_801D6CB4
/* 801D6F74 001D2BD4 7C 75 1B 79 */ or. r21, r3, r3
/* 801D6F78 001D2BD8 40 82 00 10 */ bne lbl_801D6F88
/* 801D6F7C 001D2BDC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6F80 001D2BE0 4B FF E4 5D */ bl TRKGetBuffer
/* 801D6F84 001D2BE4 7C 76 1B 78 */ mr r22, r3
lbl_801D6F88:
/* 801D6F88 001D2BE8 80 16 00 20 */ lwz r0, 0x20(r22)
/* 801D6F8C 001D2BEC 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F90 001D2BF0 A2 76 00 24 */ lhz r19, 0x24(r22)
/* 801D6F94 001D2BF4 54 14 06 3E */ clrlwi r20, r0, 0x18
/* 801D6F98 001D2BF8 41 82 00 40 */ beq lbl_801D6FD8
/* 801D6F9C 001D2BFC 2C 15 00 00 */ cmpwi r21, 0
/* 801D6FA0 001D2C00 40 82 00 38 */ bne lbl_801D6FD8
/* 801D6FA4 001D2C04 7C 13 F8 40 */ cmplw r19, r31
/* 801D6FA8 001D2C08 41 81 00 30 */ bgt lbl_801D6FD8
/* 801D6FAC 001D2C0C 7E C3 B3 78 */ mr r3, r22
/* 801D6FB0 001D2C10 38 80 00 40 */ li r4, 0x40
/* 801D6FB4 001D2C14 4B FF E3 55 */ bl TRKSetBufferPosition
/* 801D6FB8 001D2C18 7E C3 B3 78 */ mr r3, r22
/* 801D6FBC 001D2C1C 7E 65 9B 78 */ mr r5, r19
/* 801D6FC0 001D2C20 7C 98 F2 14 */ add r4, r24, r30
/* 801D6FC4 001D2C24 4B FF DE 35 */ bl TRKReadBuffer_ui8
/* 801D6FC8 001D2C28 7C 75 1B 78 */ mr r21, r3
/* 801D6FCC 001D2C2C 2C 15 03 02 */ cmpwi r21, 0x302
/* 801D6FD0 001D2C30 40 82 00 08 */ bne lbl_801D6FD8
/* 801D6FD4 001D2C34 3A A0 00 00 */ li r21, 0
lbl_801D6FD8:
/* 801D6FD8 001D2C38 7C 13 F8 40 */ cmplw r19, r31
/* 801D6FDC 001D2C3C 41 82 00 0C */ beq lbl_801D6FE8
/* 801D6FE0 001D2C40 7E 7F 9B 78 */ mr r31, r19
/* 801D6FE4 001D2C44 3B A0 00 01 */ li r29, 1
lbl_801D6FE8:
/* 801D6FE8 001D2C48 92 9A 00 00 */ stw r20, 0(r26)
/* 801D6FEC 001D2C4C 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6FF0 001D2C50 4B FF E3 89 */ bl TRKReleaseBuffer
/* 801D6FF4 001D2C54 48 00 00 10 */ b lbl_801D7004
lbl_801D6FF8:
/* 801D6FF8 001D2C58 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6FFC 001D2C5C 4B FF DC E1 */ bl func_801D4CDC
/* 801D7000 001D2C60 7C 75 1B 78 */ mr r21, r3
lbl_801D7004:
/* 801D7004 001D2C64 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D7008 001D2C68 4B FF E3 71 */ bl TRKReleaseBuffer
/* 801D700C 001D2C6C 7F DE FA 14 */ add r30, r30, r31
lbl_801D7010:
/* 801D7010 001D2C70 2C 1D 00 00 */ cmpwi r29, 0
/* 801D7014 001D2C74 40 82 00 24 */ bne lbl_801D7038
/* 801D7018 001D2C78 80 19 00 00 */ lwz r0, 0(r25)
/* 801D701C 001D2C7C 7C 1E 00 40 */ cmplw r30, r0
/* 801D7020 001D2C80 40 80 00 18 */ bge lbl_801D7038
/* 801D7024 001D2C84 2C 15 00 00 */ cmpwi r21, 0
/* 801D7028 001D2C88 40 82 00 10 */ bne lbl_801D7038
/* 801D702C 001D2C8C 80 1A 00 00 */ lwz r0, 0(r26)
/* 801D7030 001D2C90 2C 00 00 00 */ cmpwi r0, 0
/* 801D7034 001D2C94 41 82 FE 58 */ beq lbl_801D6E8C
lbl_801D7038:
/* 801D7038 001D2C98 93 D9 00 00 */ stw r30, 0(r25)
/* 801D703C 001D2C9C 7E A3 AB 78 */ mr r3, r21
lbl_801D7040:
/* 801D7040 001D2CA0 BA 61 00 5C */ lmw r19, 0x5c(r1)
/* 801D7044 001D2CA4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801D7048 001D2CA8 7C 08 03 A6 */ mtlr r0
/* 801D704C 001D2CAC 38 21 00 90 */ addi r1, r1, 0x90
/* 801D7050 001D2CB0 4E 80 00 20 */ blr
.global func_801D7054
func_801D7054:
/* 801D7054 001D2CB4 38 60 00 00 */ li r3, 0
/* 801D7058 001D2CB8 4E 80 00 20 */ blr
.global func_801D705C
func_801D705C:
/* 801D705C 001D2CBC 38 60 00 00 */ li r3, 0
/* 801D7060 001D2CC0 4E 80 00 20 */ blr
.global func_801D7064
func_801D7064:
/* 801D7064 001D2CC4 38 60 00 00 */ li r3, 0
/* 801D7068 001D2CC8 4E 80 00 20 */ blr
.global TRKDoNotifyStopped
TRKDoNotifyStopped:
/* 801D706C 001D2CCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D7070 001D2CD0 7C 08 02 A6 */ mflr r0
/* 801D7074 001D2CD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D7078 001D2CD8 38 81 00 08 */ addi r4, r1, 8
/* 801D707C 001D2CDC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D7080 001D2CE0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D7084 001D2CE4 7C 7E 1B 78 */ mr r30, r3
/* 801D7088 001D2CE8 38 61 00 0C */ addi r3, r1, 0xc
/* 801D708C 001D2CEC 4B FF E3 7D */ bl TRKGetFreeBuffer
/* 801D7090 001D2CF0 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D7094 001D2CF4 40 82 00 54 */ bne lbl_801D70E8
/* 801D7098 001D2CF8 40 82 00 20 */ bne lbl_801D70B8
/* 801D709C 001D2CFC 2C 1E 00 90 */ cmpwi r30, 0x90
/* 801D70A0 001D2D00 40 82 00 10 */ bne lbl_801D70B0
/* 801D70A4 001D2D04 80 61 00 08 */ lwz r3, 8(r1)
/* 801D70A8 001D2D08 48 00 09 09 */ bl TRKTargetAddStopInfo
/* 801D70AC 001D2D0C 48 00 00 0C */ b lbl_801D70B8
lbl_801D70B0:
/* 801D70B0 001D2D10 80 61 00 08 */ lwz r3, 8(r1)
/* 801D70B4 001D2D14 48 00 08 79 */ bl TRKTargetAddExceptionInfo
lbl_801D70B8:
/* 801D70B8 001D2D18 80 61 00 08 */ lwz r3, 8(r1)
/* 801D70BC 001D2D1C 38 81 00 10 */ addi r4, r1, 0x10
/* 801D70C0 001D2D20 38 A0 00 02 */ li r5, 2
/* 801D70C4 001D2D24 38 C0 00 03 */ li r6, 3
/* 801D70C8 001D2D28 38 E0 00 01 */ li r7, 1
/* 801D70CC 001D2D2C 4B FF FB E9 */ bl func_801D6CB4
/* 801D70D0 001D2D30 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D70D4 001D2D34 40 82 00 0C */ bne lbl_801D70E0
/* 801D70D8 001D2D38 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D70DC 001D2D3C 4B FF E2 9D */ bl TRKReleaseBuffer
lbl_801D70E0:
/* 801D70E0 001D2D40 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D70E4 001D2D44 4B FF E2 95 */ bl TRKReleaseBuffer
lbl_801D70E8:
/* 801D70E8 001D2D48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D70EC 001D2D4C 7F E3 FB 78 */ mr r3, r31
/* 801D70F0 001D2D50 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D70F4 001D2D54 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D70F8 001D2D58 7C 08 03 A6 */ mtlr r0
/* 801D70FC 001D2D5C 38 21 00 20 */ addi r1, r1, 0x20
/* 801D7100 001D2D60 4E 80 00 20 */ blr
.global TRK_flush_cache
TRK_flush_cache:
/* 801D7104 001D2D64 3C A0 FF FF */ lis r5, 0xFFFFFFF1@h
/* 801D7108 001D2D68 60 A5 FF F1 */ ori r5, r5, 0xFFFFFFF1@l
/* 801D710C 001D2D6C 7C A5 18 38 */ and r5, r5, r3
/* 801D7110 001D2D70 7C 65 18 50 */ subf r3, r5, r3
/* 801D7114 001D2D74 7C 84 1A 14 */ add r4, r4, r3
lbl_801D7118:
/* 801D7118 001D2D78 7C 00 28 6C */ dcbst 0, r5
/* 801D711C 001D2D7C 7C 00 28 AC */ dcbf 0, r5
/* 801D7120 001D2D80 7C 00 04 AC */ sync 0
/* 801D7124 001D2D84 7C 00 2F AC */ icbi 0, r5
/* 801D7128 001D2D88 30 A5 00 08 */ addic r5, r5, 8
/* 801D712C 001D2D8C 34 84 FF F8 */ addic. r4, r4, -8
/* 801D7130 001D2D90 40 80 FF E8 */ bge lbl_801D7118
/* 801D7134 001D2D94 4C 00 01 2C */ isync
/* 801D7138 001D2D98 4E 80 00 20 */ blr
.global TRK_fill_mem
TRK_fill_mem:
/* 801D713C 001D2D9C 28 05 00 20 */ cmplwi r5, 0x20
/* 801D7140 001D2DA0 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 801D7144 001D2DA4 38 C3 FF FF */ addi r6, r3, -1
/* 801D7148 001D2DA8 7C 87 23 78 */ mr r7, r4
/* 801D714C 001D2DAC 41 80 00 90 */ blt lbl_801D71DC
/* 801D7150 001D2DB0 7C C0 30 F8 */ nor r0, r6, r6
/* 801D7154 001D2DB4 54 03 07 BF */ clrlwi. r3, r0, 0x1e
/* 801D7158 001D2DB8 41 82 00 14 */ beq lbl_801D716C
/* 801D715C 001D2DBC 7C A3 28 50 */ subf r5, r3, r5
lbl_801D7160:
/* 801D7160 001D2DC0 34 63 FF FF */ addic. r3, r3, -1
/* 801D7164 001D2DC4 9C E6 00 01 */ stbu r7, 1(r6)
/* 801D7168 001D2DC8 40 82 FF F8 */ bne lbl_801D7160
lbl_801D716C:
/* 801D716C 001D2DCC 28 07 00 00 */ cmplwi r7, 0
/* 801D7170 001D2DD0 41 82 00 1C */ beq lbl_801D718C
/* 801D7174 001D2DD4 54 E3 C0 0E */ slwi r3, r7, 0x18
/* 801D7178 001D2DD8 54 E0 80 1E */ slwi r0, r7, 0x10
/* 801D717C 001D2DDC 54 E4 40 2E */ slwi r4, r7, 8
/* 801D7180 001D2DE0 7C 60 03 78 */ or r0, r3, r0
/* 801D7184 001D2DE4 7C 80 03 78 */ or r0, r4, r0
/* 801D7188 001D2DE8 7C E7 03 78 */ or r7, r7, r0
lbl_801D718C:
/* 801D718C 001D2DEC 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f
/* 801D7190 001D2DF0 38 66 FF FD */ addi r3, r6, -3
/* 801D7194 001D2DF4 41 82 00 2C */ beq lbl_801D71C0
lbl_801D7198:
/* 801D7198 001D2DF8 90 E3 00 04 */ stw r7, 4(r3)
/* 801D719C 001D2DFC 34 84 FF FF */ addic. r4, r4, -1
/* 801D71A0 001D2E00 90 E3 00 08 */ stw r7, 8(r3)
/* 801D71A4 001D2E04 90 E3 00 0C */ stw r7, 0xc(r3)
/* 801D71A8 001D2E08 90 E3 00 10 */ stw r7, 0x10(r3)
/* 801D71AC 001D2E0C 90 E3 00 14 */ stw r7, 0x14(r3)
/* 801D71B0 001D2E10 90 E3 00 18 */ stw r7, 0x18(r3)
/* 801D71B4 001D2E14 90 E3 00 1C */ stw r7, 0x1c(r3)
/* 801D71B8 001D2E18 94 E3 00 20 */ stwu r7, 0x20(r3)
/* 801D71BC 001D2E1C 40 82 FF DC */ bne lbl_801D7198
lbl_801D71C0:
/* 801D71C0 001D2E20 54 A4 F7 7F */ rlwinm. r4, r5, 0x1e, 0x1d, 0x1f
/* 801D71C4 001D2E24 41 82 00 10 */ beq lbl_801D71D4
lbl_801D71C8:
/* 801D71C8 001D2E28 34 84 FF FF */ addic. r4, r4, -1
/* 801D71CC 001D2E2C 94 E3 00 04 */ stwu r7, 4(r3)
/* 801D71D0 001D2E30 40 82 FF F8 */ bne lbl_801D71C8
lbl_801D71D4:
/* 801D71D4 001D2E34 38 C3 00 03 */ addi r6, r3, 3
/* 801D71D8 001D2E38 54 A5 07 BE */ clrlwi r5, r5, 0x1e
lbl_801D71DC:
/* 801D71DC 001D2E3C 28 05 00 00 */ cmplwi r5, 0
/* 801D71E0 001D2E40 4D 82 00 20 */ beqlr
lbl_801D71E4:
/* 801D71E4 001D2E44 34 A5 FF FF */ addic. r5, r5, -1
/* 801D71E8 001D2E48 9C E6 00 01 */ stbu r7, 1(r6)
/* 801D71EC 001D2E4C 40 82 FF F8 */ bne lbl_801D71E4
/* 801D71F0 001D2E50 4E 80 00 20 */ blr
|