summaryrefslogtreecommitdiff
path: root/asm/code_80177C24.s
blob: b8b716c00adc7a011511cba1b2828938963f9f14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
.include "macros.inc"

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

.global func_80177C24
func_80177C24:
/* 80177C24 00173884  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80177C28 00173888  7C 08 02 A6 */	mflr r0
/* 80177C2C 0017388C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80177C30 00173890  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80177C34 00173894  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80177C38 00173898  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80177C3C 0017389C  7C BD 2B 78 */	mr r29, r5
/* 80177C40 001738A0  88 03 00 00 */	lbz r0, 0(r3)
/* 80177C44 001738A4  88 84 00 0E */	lbz r4, 0xe(r4)
/* 80177C48 001738A8  2C 00 00 00 */	cmpwi r0, 0
/* 80177C4C 001738AC  3B E4 FF FF */	addi r31, r4, -1
/* 80177C50 001738B0  3B C4 00 01 */	addi r30, r4, 1
/* 80177C54 001738B4  41 82 00 24 */	beq lbl_80177C78
/* 80177C58 001738B8  3C A0 80 64 */	lis r5, lbl_8063CE34@ha
/* 80177C5C 001738BC  80 83 00 7C */	lwz r4, 0x7c(r3)
/* 80177C60 001738C0  38 A5 CE 34 */	addi r5, r5, lbl_8063CE34@l
/* 80177C64 001738C4  38 65 00 60 */	addi r3, r5, 0x60
/* 80177C68 001738C8  48 22 04 35 */	bl func_8039809C
/* 80177C6C 001738CC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80177C70 001738D0  41 82 00 08 */	beq lbl_80177C78
/* 80177C74 001738D4  3B BD 00 01 */	addi r29, r29, 1
lbl_80177C78:
/* 80177C78 001738D8  7C 1F E8 00 */	cmpw r31, r29
/* 80177C7C 001738DC  41 81 00 14 */	bgt lbl_80177C90
/* 80177C80 001738E0  7C 1E E8 00 */	cmpw r30, r29
/* 80177C84 001738E4  41 80 00 0C */	blt lbl_80177C90
/* 80177C88 001738E8  38 60 00 01 */	li r3, 1
/* 80177C8C 001738EC  48 00 00 08 */	b lbl_80177C94
lbl_80177C90:
/* 80177C90 001738F0  38 60 00 00 */	li r3, 0
lbl_80177C94:
/* 80177C94 001738F4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80177C98 001738F8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80177C9C 001738FC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80177CA0 00173900  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80177CA4 00173904  7C 08 03 A6 */	mtlr r0
/* 80177CA8 00173908  38 21 00 20 */	addi r1, r1, 0x20
/* 80177CAC 0017390C  4E 80 00 20 */	blr

.global func_80177CB0
func_80177CB0:
/* 80177CB0 00173910  7C 89 03 A6 */	mtctr r4
/* 80177CB4 00173914  2C 04 00 00 */	cmpwi r4, 0
/* 80177CB8 00173918  40 81 00 24 */	ble lbl_80177CDC
lbl_80177CBC:
/* 80177CBC 0017391C  80 83 00 00 */	lwz r4, 0(r3)
/* 80177CC0 00173920  A0 04 00 06 */	lhz r0, 6(r4)
/* 80177CC4 00173924  7C 05 00 00 */	cmpw r5, r0
/* 80177CC8 00173928  40 82 00 0C */	bne lbl_80177CD4
/* 80177CCC 0017392C  38 60 00 01 */	li r3, 1
/* 80177CD0 00173930  4E 80 00 20 */	blr
lbl_80177CD4:
/* 80177CD4 00173934  38 63 00 04 */	addi r3, r3, 4
/* 80177CD8 00173938  42 00 FF E4 */	bdnz lbl_80177CBC
lbl_80177CDC:
/* 80177CDC 0017393C  38 60 00 00 */	li r3, 0
/* 80177CE0 00173940  4E 80 00 20 */	blr

.global func_80177CE4
func_80177CE4:
/* 80177CE4 00173944  88 C3 00 60 */	lbz r6, 0x60(r3)
/* 80177CE8 00173948  28 06 00 FF */	cmplwi r6, 0xff
/* 80177CEC 0017394C  41 82 00 38 */	beq lbl_80177D24
/* 80177CF0 00173950  88 04 00 08 */	lbz r0, 8(r4)
/* 80177CF4 00173954  7C 00 30 40 */	cmplw r0, r6
/* 80177CF8 00173958  41 82 00 10 */	beq lbl_80177D08
/* 80177CFC 0017395C  88 04 00 09 */	lbz r0, 9(r4)
/* 80177D00 00173960  7C 00 30 40 */	cmplw r0, r6
/* 80177D04 00173964  40 82 00 20 */	bne lbl_80177D24
lbl_80177D08:
/* 80177D08 00173968  88 05 00 00 */	lbz r0, 0(r5)
/* 80177D0C 0017396C  2C 00 00 00 */	cmpwi r0, 0
/* 80177D10 00173970  40 82 00 14 */	bne lbl_80177D24
/* 80177D14 00173974  38 00 00 01 */	li r0, 1
/* 80177D18 00173978  38 60 00 01 */	li r3, 1
/* 80177D1C 0017397C  98 05 00 00 */	stb r0, 0(r5)
/* 80177D20 00173980  4E 80 00 20 */	blr
lbl_80177D24:
/* 80177D24 00173984  88 C3 00 61 */	lbz r6, 0x61(r3)
/* 80177D28 00173988  28 06 00 FF */	cmplwi r6, 0xff
/* 80177D2C 0017398C  41 82 00 38 */	beq lbl_80177D64
/* 80177D30 00173990  88 04 00 08 */	lbz r0, 8(r4)
/* 80177D34 00173994  7C 00 30 40 */	cmplw r0, r6
/* 80177D38 00173998  41 82 00 10 */	beq lbl_80177D48
/* 80177D3C 0017399C  88 04 00 09 */	lbz r0, 9(r4)
/* 80177D40 001739A0  7C 00 30 40 */	cmplw r0, r6
/* 80177D44 001739A4  40 82 00 20 */	bne lbl_80177D64
lbl_80177D48:
/* 80177D48 001739A8  88 05 00 01 */	lbz r0, 1(r5)
/* 80177D4C 001739AC  2C 00 00 00 */	cmpwi r0, 0
/* 80177D50 001739B0  40 82 00 14 */	bne lbl_80177D64
/* 80177D54 001739B4  38 00 00 01 */	li r0, 1
/* 80177D58 001739B8  38 60 00 01 */	li r3, 1
/* 80177D5C 001739BC  98 05 00 01 */	stb r0, 1(r5)
/* 80177D60 001739C0  4E 80 00 20 */	blr
lbl_80177D64:
/* 80177D64 001739C4  88 C3 00 62 */	lbz r6, 0x62(r3)
/* 80177D68 001739C8  28 06 00 FF */	cmplwi r6, 0xff
/* 80177D6C 001739CC  41 82 00 38 */	beq lbl_80177DA4
/* 80177D70 001739D0  88 04 00 08 */	lbz r0, 8(r4)
/* 80177D74 001739D4  7C 00 30 40 */	cmplw r0, r6
/* 80177D78 001739D8  41 82 00 10 */	beq lbl_80177D88
/* 80177D7C 001739DC  88 04 00 09 */	lbz r0, 9(r4)
/* 80177D80 001739E0  7C 00 30 40 */	cmplw r0, r6
/* 80177D84 001739E4  40 82 00 20 */	bne lbl_80177DA4
lbl_80177D88:
/* 80177D88 001739E8  88 05 00 02 */	lbz r0, 2(r5)
/* 80177D8C 001739EC  2C 00 00 00 */	cmpwi r0, 0
/* 80177D90 001739F0  40 82 00 14 */	bne lbl_80177DA4
/* 80177D94 001739F4  38 00 00 01 */	li r0, 1
/* 80177D98 001739F8  38 60 00 01 */	li r3, 1
/* 80177D9C 001739FC  98 05 00 02 */	stb r0, 2(r5)
/* 80177DA0 00173A00  4E 80 00 20 */	blr
lbl_80177DA4:
/* 80177DA4 00173A04  88 C3 00 63 */	lbz r6, 0x63(r3)
/* 80177DA8 00173A08  28 06 00 FF */	cmplwi r6, 0xff
/* 80177DAC 00173A0C  41 82 00 38 */	beq lbl_80177DE4
/* 80177DB0 00173A10  88 04 00 08 */	lbz r0, 8(r4)
/* 80177DB4 00173A14  7C 00 30 40 */	cmplw r0, r6
/* 80177DB8 00173A18  41 82 00 10 */	beq lbl_80177DC8
/* 80177DBC 00173A1C  88 04 00 09 */	lbz r0, 9(r4)
/* 80177DC0 00173A20  7C 00 30 40 */	cmplw r0, r6
/* 80177DC4 00173A24  40 82 00 20 */	bne lbl_80177DE4
lbl_80177DC8:
/* 80177DC8 00173A28  88 05 00 03 */	lbz r0, 3(r5)
/* 80177DCC 00173A2C  2C 00 00 00 */	cmpwi r0, 0
/* 80177DD0 00173A30  40 82 00 14 */	bne lbl_80177DE4
/* 80177DD4 00173A34  38 00 00 01 */	li r0, 1
/* 80177DD8 00173A38  38 60 00 01 */	li r3, 1
/* 80177DDC 00173A3C  98 05 00 03 */	stb r0, 3(r5)
/* 80177DE0 00173A40  4E 80 00 20 */	blr
lbl_80177DE4:
/* 80177DE4 00173A44  38 60 00 00 */	li r3, 0
/* 80177DE8 00173A48  4E 80 00 20 */	blr

.global func_80177DEC
func_80177DEC:
/* 80177DEC 00173A4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80177DF0 00173A50  7C 08 02 A6 */	mflr r0
/* 80177DF4 00173A54  90 01 00 24 */	stw r0, 0x24(r1)
/* 80177DF8 00173A58  39 61 00 20 */	addi r11, r1, 0x20
/* 80177DFC 00173A5C  48 04 F3 2D */	bl _savegpr_27
/* 80177E00 00173A60  3B C0 00 00 */	li r30, 0
/* 80177E04 00173A64  7C 7B 1B 78 */	mr r27, r3
/* 80177E08 00173A68  9B C3 00 98 */	stb r30, 0x98(r3)
/* 80177E0C 00173A6C  48 0D 1D 71 */	bl func_80249B7C
/* 80177E10 00173A70  90 7B 00 94 */	stw r3, 0x94(r27)
/* 80177E14 00173A74  9B DB 00 A4 */	stb r30, 0xa4(r27)
/* 80177E18 00173A78  48 0D 1D 65 */	bl func_80249B7C
/* 80177E1C 00173A7C  90 7B 00 A0 */	stw r3, 0xa0(r27)
/* 80177E20 00173A80  3C 80 80 17 */	lis r4, lbl_80177EA4@ha
/* 80177E24 00173A84  3C A0 80 17 */	lis r5, lbl_80177EB8@ha
/* 80177E28 00173A88  38 7B 00 B8 */	addi r3, r27, 0xb8
/* 80177E2C 00173A8C  38 84 7E A4 */	addi r4, r4, lbl_80177EA4@l
/* 80177E30 00173A90  38 C0 00 0C */	li r6, 0xc
/* 80177E34 00173A94  38 A5 7E B8 */	addi r5, r5, lbl_80177EB8@l
/* 80177E38 00173A98  38 E0 00 04 */	li r7, 4
/* 80177E3C 00173A9C  48 04 F0 2D */	bl __construct_array
/* 80177E40 00173AA0  93 DB 00 B0 */	stw r30, 0xb0(r27)
/* 80177E44 00173AA4  3B 80 00 00 */	li r28, 0
/* 80177E48 00173AA8  3B A0 00 00 */	li r29, 0
/* 80177E4C 00173AAC  3B E0 01 F4 */	li r31, 0x1f4
/* 80177E50 00173AB0  93 DB 00 B4 */	stw r30, 0xb4(r27)
/* 80177E54 00173AB4  9B DB 00 70 */	stb r30, 0x70(r27)
/* 80177E58 00173AB8  93 DB 00 74 */	stw r30, 0x74(r27)
lbl_80177E5C:
/* 80177E5C 00173ABC  7C 9B EA 14 */	add r4, r27, r29
/* 80177E60 00173AC0  38 60 07 D0 */	li r3, 0x7d0
/* 80177E64 00173AC4  93 C4 00 BC */	stw r30, 0xbc(r4)
/* 80177E68 00173AC8  93 E4 00 B8 */	stw r31, 0xb8(r4)
/* 80177E6C 00173ACC  48 06 2C 09 */	bl __nwa__FUl
/* 80177E70 00173AD0  3B 9C 00 01 */	addi r28, r28, 1
/* 80177E74 00173AD4  7C 9B EA 14 */	add r4, r27, r29
/* 80177E78 00173AD8  2C 1C 00 04 */	cmpwi r28, 4
/* 80177E7C 00173ADC  90 64 00 C0 */	stw r3, 0xc0(r4)
/* 80177E80 00173AE0  3B BD 00 0C */	addi r29, r29, 0xc
/* 80177E84 00173AE4  41 80 FF D8 */	blt lbl_80177E5C
/* 80177E88 00173AE8  39 61 00 20 */	addi r11, r1, 0x20
/* 80177E8C 00173AEC  7F 63 DB 78 */	mr r3, r27
/* 80177E90 00173AF0  48 04 F2 E5 */	bl _restgpr_27
/* 80177E94 00173AF4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80177E98 00173AF8  7C 08 03 A6 */	mtlr r0
/* 80177E9C 00173AFC  38 21 00 20 */	addi r1, r1, 0x20
/* 80177EA0 00173B00  4E 80 00 20 */	blr

# note: constructor
lbl_80177EA4:
/* 80177EA4 00173B04  38 00 00 00 */	li r0, 0
/* 80177EA8 00173B08  90 03 00 04 */	stw r0, 4(r3)
/* 80177EAC 00173B0C  90 03 00 00 */	stw r0, 0(r3)
/* 80177EB0 00173B10  90 03 00 08 */	stw r0, 8(r3)
/* 80177EB4 00173B14  4E 80 00 20 */	blr

# note: destructor
lbl_80177EB8:
/* 80177EB8 00173B18  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80177EBC 00173B1C  7C 08 02 A6 */	mflr r0
/* 80177EC0 00173B20  2C 03 00 00 */	cmpwi r3, 0
/* 80177EC4 00173B24  90 01 00 14 */	stw r0, 0x14(r1)
/* 80177EC8 00173B28  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80177ECC 00173B2C  7C 9F 23 78 */	mr r31, r4
/* 80177ED0 00173B30  93 C1 00 08 */	stw r30, 8(r1)
/* 80177ED4 00173B34  7C 7E 1B 78 */	mr r30, r3
/* 80177ED8 00173B38  41 82 00 2C */	beq lbl_80177F04
/* 80177EDC 00173B3C  80 63 00 08 */	lwz r3, 8(r3)
/* 80177EE0 00173B40  2C 03 00 00 */	cmpwi r3, 0
/* 80177EE4 00173B44  41 82 00 08 */	beq lbl_80177EEC
/* 80177EE8 00173B48  48 06 2B D5 */	bl __dla__FPv
lbl_80177EEC:
/* 80177EEC 00173B4C  38 00 00 00 */	li r0, 0
/* 80177EF0 00173B50  2C 1F 00 00 */	cmpwi r31, 0
/* 80177EF4 00173B54  90 1E 00 08 */	stw r0, 8(r30)
/* 80177EF8 00173B58  40 81 00 0C */	ble lbl_80177F04
/* 80177EFC 00173B5C  7F C3 F3 78 */	mr r3, r30
/* 80177F00 00173B60  48 06 2B B9 */	bl __dl__FPv
lbl_80177F04:
/* 80177F04 00173B64  7F C3 F3 78 */	mr r3, r30
/* 80177F08 00173B68  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80177F0C 00173B6C  83 C1 00 08 */	lwz r30, 8(r1)
/* 80177F10 00173B70  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80177F14 00173B74  7C 08 03 A6 */	mtlr r0
/* 80177F18 00173B78  38 21 00 10 */	addi r1, r1, 0x10
/* 80177F1C 00173B7C  4E 80 00 20 */	blr

.global func_80177F20
func_80177F20:
/* 80177F20 00173B80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80177F24 00173B84  7C 08 02 A6 */	mflr r0
/* 80177F28 00173B88  2C 03 00 00 */	cmpwi r3, 0
/* 80177F2C 00173B8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80177F30 00173B90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80177F34 00173B94  7C 9F 23 78 */	mr r31, r4
/* 80177F38 00173B98  93 C1 00 08 */	stw r30, 8(r1)
/* 80177F3C 00173B9C  7C 7E 1B 78 */	mr r30, r3
/* 80177F40 00173BA0  41 82 00 2C */	beq lbl_80177F6C
/* 80177F44 00173BA4  3C 80 80 17 */	lis r4, lbl_80177EB8@ha
/* 80177F48 00173BA8  38 A0 00 0C */	li r5, 0xc
/* 80177F4C 00173BAC  38 84 7E B8 */	addi r4, r4, lbl_80177EB8@l
/* 80177F50 00173BB0  38 C0 00 04 */	li r6, 4
/* 80177F54 00173BB4  38 63 00 B8 */	addi r3, r3, 0xb8
/* 80177F58 00173BB8  48 04 F0 09 */	bl __destroy_arr
/* 80177F5C 00173BBC  2C 1F 00 00 */	cmpwi r31, 0
/* 80177F60 00173BC0  40 81 00 0C */	ble lbl_80177F6C
/* 80177F64 00173BC4  7F C3 F3 78 */	mr r3, r30
/* 80177F68 00173BC8  48 06 2B 51 */	bl __dl__FPv
lbl_80177F6C:
/* 80177F6C 00173BCC  7F C3 F3 78 */	mr r3, r30
/* 80177F70 00173BD0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80177F74 00173BD4  83 C1 00 08 */	lwz r30, 8(r1)
/* 80177F78 00173BD8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80177F7C 00173BDC  7C 08 03 A6 */	mtlr r0
/* 80177F80 00173BE0  38 21 00 10 */	addi r1, r1, 0x10
/* 80177F84 00173BE4  4E 80 00 20 */	blr

.global func_80177F88
func_80177F88:
/* 80177F88 00173BE8  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 80177F8C 00173BEC  7C 08 02 A6 */	mflr r0
/* 80177F90 00173BF0  90 01 00 64 */	stw r0, 0x64(r1)
/* 80177F94 00173BF4  39 61 00 60 */	addi r11, r1, 0x60
/* 80177F98 00173BF8  48 04 F1 5D */	bl __save_gpr
/* 80177F9C 00173BFC  3D 20 80 64 */	lis r9, lbl_8063CE34@ha
/* 80177FA0 00173C00  7C 6F 1B 78 */	mr r15, r3
/* 80177FA4 00173C04  39 29 CE 34 */	addi r9, r9, lbl_8063CE34@l
/* 80177FA8 00173C08  54 83 84 3E */	srwi r3, r4, 0x10
/* 80177FAC 00173C0C  54 80 04 3E */	clrlwi r0, r4, 0x10
/* 80177FB0 00173C10  7C 96 23 78 */	mr r22, r4
/* 80177FB4 00173C14  7C 78 02 78 */	xor r24, r3, r0
/* 80177FB8 00173C18  7C B5 2B 78 */	mr r21, r5
/* 80177FBC 00173C1C  7C D0 33 78 */	mr r16, r6
/* 80177FC0 00173C20  7C F1 3B 78 */	mr r17, r7
/* 80177FC4 00173C24  7D 12 43 78 */	mr r18, r8
/* 80177FC8 00173C28  7D E4 7B 78 */	mr r4, r15
/* 80177FCC 00173C2C  38 69 00 10 */	addi r3, r9, 0x10
/* 80177FD0 00173C30  48 21 9C 7D */	bl func_80391C4C
/* 80177FD4 00173C34  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80177FD8 00173C38  41 82 00 1C */	beq lbl_80177FF4
/* 80177FDC 00173C3C  28 00 00 FE */	cmplwi r0, 0xfe
/* 80177FE0 00173C40  41 82 00 14 */	beq lbl_80177FF4
/* 80177FE4 00173C44  28 00 00 FF */	cmplwi r0, 0xff
/* 80177FE8 00173C48  41 82 00 0C */	beq lbl_80177FF4
/* 80177FEC 00173C4C  2C 10 00 02 */	cmpwi r16, 2
/* 80177FF0 00173C50  40 82 00 08 */	bne lbl_80177FF8
lbl_80177FF4:
/* 80177FF4 00173C54  3A 00 FF FF */	li r16, -1
lbl_80177FF8:
/* 80177FF8 00173C58  2C 0F 00 C9 */	cmpwi r15, 0xc9
/* 80177FFC 00173C5C  41 82 00 08 */	beq lbl_80178004
/* 80178000 00173C60  3A 40 FF FF */	li r18, -1
lbl_80178004:
/* 80178004 00173C64  2C 15 00 00 */	cmpwi r21, 0
/* 80178008 00173C68  40 81 01 D8 */	ble lbl_801781E0
/* 8017800C 00173C6C  48 0A B8 25 */	bl func_80223830
/* 80178010 00173C70  3E 60 00 03 */	lis r19, 0x000343FD@ha
/* 80178014 00173C74  80 83 00 00 */	lwz r4, 0(r3)
/* 80178018 00173C78  38 13 43 FD */	addi r0, r19, 0x000343FD@l
/* 8017801C 00173C7C  7C 84 01 D6 */	mullw r4, r4, r0
/* 80178020 00173C80  3C 84 00 27 */	addis r4, r4, 0x27
/* 80178024 00173C84  38 04 9E C3 */	addi r0, r4, -24893
/* 80178028 00173C88  90 03 00 00 */	stw r0, 0(r3)
/* 8017802C 00173C8C  54 0E 84 3E */	srwi r14, r0, 0x10
/* 80178030 00173C90  48 0A B8 01 */	bl func_80223830
/* 80178034 00173C94  80 83 00 00 */	lwz r4, 0(r3)
/* 80178038 00173C98  38 13 43 FD */	addi r0, r19, 0x43fd
/* 8017803C 00173C9C  7C 84 01 D6 */	mullw r4, r4, r0
/* 80178040 00173CA0  3C 84 00 27 */	addis r4, r4, 0x27
/* 80178044 00173CA4  38 04 9E C3 */	addi r0, r4, -24893
/* 80178048 00173CA8  50 0E 00 1E */	rlwimi r14, r0, 0, 0, 0xf
/* 8017804C 00173CAC  90 03 00 00 */	stw r0, 0(r3)
/* 80178050 00173CB0  55 D7 04 FE */	clrlwi r23, r14, 0x13
/* 80178054 00173CB4  48 0A B7 DD */	bl func_80223830
/* 80178058 00173CB8  80 A3 00 00 */	lwz r5, 0(r3)
/* 8017805C 00173CBC  38 93 43 FD */	addi r4, r19, 0x43fd
/* 80178060 00173CC0  38 00 00 00 */	li r0, 0
/* 80178064 00173CC4  3B A0 00 01 */	li r29, 1
/* 80178068 00173CC8  7C 85 21 D6 */	mullw r4, r5, r4
/* 8017806C 00173CCC  90 01 00 08 */	stw r0, 8(r1)
/* 80178070 00173CD0  3F C0 51 EC */	lis r30, 0x51ec
/* 80178074 00173CD4  39 C0 00 0D */	li r14, 0xd
/* 80178078 00173CD8  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017807C 00173CDC  38 04 9E C3 */	addi r0, r4, -24893
/* 80178080 00173CE0  90 03 00 00 */	stw r0, 0(r3)
/* 80178084 00173CE4  54 16 86 FE */	rlwinm r22, r0, 0x10, 0x1b, 0x1f
lbl_80178088:
/* 80178088 00173CE8  56 D5 07 7E */	clrlwi r21, r22, 0x1d
/* 8017808C 00173CEC  56 D4 EF 7E */	rlwinm r20, r22, 0x1d, 0x1d, 0x1f
/* 80178090 00173CF0  3A D6 00 01 */	addi r22, r22, 1
/* 80178094 00173CF4  3A 60 00 00 */	li r19, 0
/* 80178098 00173CF8  56 D6 06 FE */	clrlwi r22, r22, 0x1b
lbl_8017809C:
/* 8017809C 00173CFC  38 17 00 01 */	addi r0, r23, 1
/* 801780A0 00173D00  7E E6 BB 78 */	mr r6, r23
/* 801780A4 00173D04  7E A4 AB 78 */	mr r4, r21
/* 801780A8 00173D08  7E 85 A3 78 */	mr r5, r20
/* 801780AC 00173D0C  54 17 04 FE */	clrlwi r23, r0, 0x13
/* 801780B0 00173D10  38 E0 00 03 */	li r7, 3
/* 801780B4 00173D14  7D C9 03 A6 */	mtctr r14
lbl_801780B8:
/* 801780B8 00173D18  7F A3 38 30 */	slw r3, r29, r7
/* 801780BC 00173D1C  7F 00 18 39 */	and. r0, r24, r3
/* 801780C0 00173D20  41 82 00 1C */	beq lbl_801780DC
/* 801780C4 00173D24  54 C0 07 FF */	clrlwi. r0, r6, 0x1f
/* 801780C8 00173D28  41 82 00 0C */	beq lbl_801780D4
/* 801780CC 00173D2C  7C 84 1B 78 */	or r4, r4, r3
/* 801780D0 00173D30  48 00 00 1C */	b lbl_801780EC
lbl_801780D4:
/* 801780D4 00173D34  7C A5 1B 78 */	or r5, r5, r3
/* 801780D8 00173D38  48 00 00 14 */	b lbl_801780EC
lbl_801780DC:
/* 801780DC 00173D3C  54 C0 07 FF */	clrlwi. r0, r6, 0x1f
/* 801780E0 00173D40  41 82 00 0C */	beq lbl_801780EC
/* 801780E4 00173D44  7C 84 1B 78 */	or r4, r4, r3
/* 801780E8 00173D48  7C A5 1B 78 */	or r5, r5, r3
lbl_801780EC:
/* 801780EC 00173D4C  54 C6 F8 7E */	srwi r6, r6, 1
/* 801780F0 00173D50  38 E7 00 01 */	addi r7, r7, 1
/* 801780F4 00173D54  42 00 FF C4 */	bdnz lbl_801780B8
/* 801780F8 00173D58  54 A0 80 1E */	slwi r0, r5, 0x10
/* 801780FC 00173D5C  2C 11 00 00 */	cmpwi r17, 0
/* 80178100 00173D60  7C 99 03 78 */	or r25, r4, r0
/* 80178104 00173D64  3B 80 00 01 */	li r28, 1
/* 80178108 00173D68  57 20 06 3E */	clrlwi r0, r25, 0x18
/* 8017810C 00173D6C  7E 00 02 78 */	xor r0, r16, r0
/* 80178110 00173D70  7C 00 00 34 */	cntlzw r0, r0
/* 80178114 00173D74  7E 00 00 30 */	slw r0, r16, r0
/* 80178118 00173D78  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8017811C 00173D7C  41 80 00 24 */	blt lbl_80178140
/* 80178120 00173D80  38 1E 85 1F */	addi r0, r30, -31457
/* 80178124 00173D84  7C 00 C8 16 */	mulhwu r0, r0, r25
/* 80178128 00173D88  54 00 E8 FE */	srwi r0, r0, 3
/* 8017812C 00173D8C  1C 00 00 19 */	mulli r0, r0, 0x19
/* 80178130 00173D90  7C 00 C8 50 */	subf r0, r0, r25
/* 80178134 00173D94  7C 00 88 40 */	cmplw r0, r17
/* 80178138 00173D98  41 82 00 08 */	beq lbl_80178140
/* 8017813C 00173D9C  3B 80 00 00 */	li r28, 0
lbl_80178140:
/* 80178140 00173DA0  2C 10 00 00 */	cmpwi r16, 0
/* 80178144 00173DA4  3B 60 00 01 */	li r27, 1
/* 80178148 00173DA8  41 80 00 10 */	blt lbl_80178158
/* 8017814C 00173DAC  7C 03 80 00 */	cmpw r3, r16
/* 80178150 00173DB0  41 82 00 08 */	beq lbl_80178158
/* 80178154 00173DB4  3B 60 00 00 */	li r27, 0
lbl_80178158:
/* 80178158 00173DB8  2C 12 00 00 */	cmpwi r18, 0
/* 8017815C 00173DBC  3B 40 00 01 */	li r26, 1
/* 80178160 00173DC0  41 80 00 34 */	blt lbl_80178194
/* 80178164 00173DC4  2C 0F 00 C9 */	cmpwi r15, 0xc9
/* 80178168 00173DC8  3B E0 00 00 */	li r31, 0
/* 8017816C 00173DCC  40 82 00 1C */	bne lbl_80178188
/* 80178170 00173DD0  7F 23 CB 78 */	mr r3, r25
/* 80178174 00173DD4  48 26 3F FD */	bl func_803DC170
/* 80178178 00173DD8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 8017817C 00173DDC  7C 12 00 00 */	cmpw r18, r0
/* 80178180 00173DE0  40 82 00 08 */	bne lbl_80178188
/* 80178184 00173DE4  3B E0 00 01 */	li r31, 1
lbl_80178188:
/* 80178188 00173DE8  2C 1F 00 00 */	cmpwi r31, 0
/* 8017818C 00173DEC  40 82 00 08 */	bne lbl_80178194
/* 80178190 00173DF0  3B 40 00 00 */	li r26, 0
lbl_80178194:
/* 80178194 00173DF4  2C 1C 00 00 */	cmpwi r28, 0
/* 80178198 00173DF8  41 82 00 1C */	beq lbl_801781B4
/* 8017819C 00173DFC  2C 1B 00 00 */	cmpwi r27, 0
/* 801781A0 00173E00  41 82 00 14 */	beq lbl_801781B4
/* 801781A4 00173E04  2C 1A 00 00 */	cmpwi r26, 0
/* 801781A8 00173E08  41 82 00 0C */	beq lbl_801781B4
/* 801781AC 00173E0C  7F 23 CB 78 */	mr r3, r25
/* 801781B0 00173E10  48 00 01 54 */	b lbl_80178304
lbl_801781B4:
/* 801781B4 00173E14  3A 73 00 01 */	addi r19, r19, 1
/* 801781B8 00173E18  28 13 20 00 */	cmplwi r19, 0x2000
/* 801781BC 00173E1C  41 80 FE E0 */	blt lbl_8017809C
/* 801781C0 00173E20  80 61 00 08 */	lwz r3, 8(r1)
/* 801781C4 00173E24  38 63 00 01 */	addi r3, r3, 1
/* 801781C8 00173E28  7C 60 1B 78 */	mr r0, r3
/* 801781CC 00173E2C  90 61 00 08 */	stw r3, 8(r1)
/* 801781D0 00173E30  2C 00 00 20 */	cmpwi r0, 0x20
/* 801781D4 00173E34  41 80 FE B4 */	blt lbl_80178088
/* 801781D8 00173E38  38 60 00 00 */	li r3, 0
/* 801781DC 00173E3C  48 00 01 28 */	b lbl_80178304
lbl_801781E0:
/* 801781E0 00173E40  48 0A B6 51 */	bl func_80223830
/* 801781E4 00173E44  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 801781E8 00173E48  80 03 00 00 */	lwz r0, 0(r3)
/* 801781EC 00173E4C  38 A4 43 FD */	addi r5, r4, 0x000343FD@l
/* 801781F0 00173E50  3A 80 00 00 */	li r20, 0
/* 801781F4 00173E54  7C 80 29 D6 */	mullw r4, r0, r5
/* 801781F8 00173E58  3F 20 51 EC */	lis r25, 0x51ec
/* 801781FC 00173E5C  3E E0 00 01 */	lis r23, 1
/* 80178200 00173E60  3C 84 00 27 */	addis r4, r4, 0x27
/* 80178204 00173E64  38 04 9E C3 */	addi r0, r4, -24893
/* 80178208 00173E68  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017820C 00173E6C  54 13 84 3E */	srwi r19, r0, 0x10
/* 80178210 00173E70  3C 84 00 27 */	addis r4, r4, 0x27
/* 80178214 00173E74  38 04 9E C3 */	addi r0, r4, -24893
/* 80178218 00173E78  90 03 00 00 */	stw r0, 0(r3)
/* 8017821C 00173E7C  50 13 00 1E */	rlwimi r19, r0, 0, 0, 0xf
lbl_80178220:
/* 80178220 00173E80  2C 15 00 00 */	cmpwi r21, 0
/* 80178224 00173E84  40 82 00 18 */	bne lbl_8017823C
/* 80178228 00173E88  7E C3 B3 78 */	mr r3, r22
/* 8017822C 00173E8C  7E 64 9B 78 */	mr r4, r19
/* 80178230 00173E90  48 26 3E FD */	bl func_803DC12C
/* 80178234 00173E94  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80178238 00173E98  40 82 00 B8 */	bne lbl_801782F0
lbl_8017823C:
/* 8017823C 00173E9C  56 60 06 3E */	clrlwi r0, r19, 0x18
/* 80178240 00173EA0  2C 11 00 00 */	cmpwi r17, 0
/* 80178244 00173EA4  7E 00 02 78 */	xor r0, r16, r0
/* 80178248 00173EA8  39 C0 00 01 */	li r14, 1
/* 8017824C 00173EAC  7C 00 00 34 */	cntlzw r0, r0
/* 80178250 00173EB0  7E 00 00 30 */	slw r0, r16, r0
/* 80178254 00173EB4  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80178258 00173EB8  41 80 00 24 */	blt lbl_8017827C
/* 8017825C 00173EBC  38 19 85 1F */	addi r0, r25, -31457
/* 80178260 00173EC0  7C 00 98 16 */	mulhwu r0, r0, r19
/* 80178264 00173EC4  54 00 E8 FE */	srwi r0, r0, 3
/* 80178268 00173EC8  1C 00 00 19 */	mulli r0, r0, 0x19
/* 8017826C 00173ECC  7C 00 98 50 */	subf r0, r0, r19
/* 80178270 00173ED0  7C 00 88 40 */	cmplw r0, r17
/* 80178274 00173ED4  41 82 00 08 */	beq lbl_8017827C
/* 80178278 00173ED8  39 C0 00 00 */	li r14, 0
lbl_8017827C:
/* 8017827C 00173EDC  2C 10 00 00 */	cmpwi r16, 0
/* 80178280 00173EE0  3B 40 00 01 */	li r26, 1
/* 80178284 00173EE4  41 80 00 10 */	blt lbl_80178294
/* 80178288 00173EE8  7C 03 80 00 */	cmpw r3, r16
/* 8017828C 00173EEC  41 82 00 08 */	beq lbl_80178294
/* 80178290 00173EF0  3B 40 00 00 */	li r26, 0
lbl_80178294:
/* 80178294 00173EF4  2C 12 00 00 */	cmpwi r18, 0
/* 80178298 00173EF8  3B 60 00 01 */	li r27, 1
/* 8017829C 00173EFC  41 80 00 34 */	blt lbl_801782D0
/* 801782A0 00173F00  2C 0F 00 C9 */	cmpwi r15, 0xc9
/* 801782A4 00173F04  3B 00 00 00 */	li r24, 0
/* 801782A8 00173F08  40 82 00 1C */	bne lbl_801782C4
/* 801782AC 00173F0C  7E 63 9B 78 */	mr r3, r19
/* 801782B0 00173F10  48 26 3E C1 */	bl func_803DC170
/* 801782B4 00173F14  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 801782B8 00173F18  7C 12 00 00 */	cmpw r18, r0
/* 801782BC 00173F1C  40 82 00 08 */	bne lbl_801782C4
/* 801782C0 00173F20  3B 00 00 01 */	li r24, 1
lbl_801782C4:
/* 801782C4 00173F24  2C 18 00 00 */	cmpwi r24, 0
/* 801782C8 00173F28  40 82 00 08 */	bne lbl_801782D0
/* 801782CC 00173F2C  3B 60 00 00 */	li r27, 0
lbl_801782D0:
/* 801782D0 00173F30  2C 0E 00 00 */	cmpwi r14, 0
/* 801782D4 00173F34  41 82 00 1C */	beq lbl_801782F0
/* 801782D8 00173F38  2C 1A 00 00 */	cmpwi r26, 0
/* 801782DC 00173F3C  41 82 00 14 */	beq lbl_801782F0
/* 801782E0 00173F40  2C 1B 00 00 */	cmpwi r27, 0
/* 801782E4 00173F44  41 82 00 0C */	beq lbl_801782F0
/* 801782E8 00173F48  7E 63 9B 78 */	mr r3, r19
/* 801782EC 00173F4C  48 00 00 18 */	b lbl_80178304
lbl_801782F0:
/* 801782F0 00173F50  3A 94 00 01 */	addi r20, r20, 1
/* 801782F4 00173F54  3A 73 00 01 */	addi r19, r19, 1
/* 801782F8 00173F58  7C 14 B8 40 */	cmplw r20, r23
/* 801782FC 00173F5C  41 80 FF 24 */	blt lbl_80178220
/* 80178300 00173F60  38 60 00 00 */	li r3, 0
lbl_80178304:
/* 80178304 00173F64  39 61 00 60 */	addi r11, r1, 0x60
/* 80178308 00173F68  48 04 EE 39 */	bl __restore_gpr
/* 8017830C 00173F6C  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80178310 00173F70  7C 08 03 A6 */	mtlr r0
/* 80178314 00173F74  38 21 00 60 */	addi r1, r1, 0x60
/* 80178318 00173F78  4E 80 00 20 */	blr

.global func_8017831C
func_8017831C:
/* 8017831C 00173F7C  80 C3 00 08 */	lwz r6, 8(r3)
/* 80178320 00173F80  3C A0 80 64 */	lis r5, lbl_8063CE34@ha
/* 80178324 00173F84  80 63 00 14 */	lwz r3, 0x14(r3)
/* 80178328 00173F88  38 A5 CE 34 */	addi r5, r5, lbl_8063CE34@l
/* 8017832C 00173F8C  38 E6 FF FF */	addi r7, r6, -1
/* 80178330 00173F90  20 C6 00 01 */	subfic r6, r6, 1
/* 80178334 00173F94  38 03 FF FE */	addi r0, r3, -2
/* 80178338 00173F98  38 65 00 60 */	addi r3, r5, 0x60
/* 8017833C 00173F9C  7C E5 30 F8 */	nor r5, r7, r6
/* 80178340 00173FA0  7C 00 00 34 */	cntlzw r0, r0
/* 80178344 00173FA4  7C A6 FE 70 */	srawi r6, r5, 0x1f
/* 80178348 00173FA8  54 05 D9 7E */	srwi r5, r0, 5
/* 8017834C 00173FAC  50 C5 07 BC */	rlwimi r5, r6, 0, 0x1e, 0x1e
/* 80178350 00173FB0  48 21 FE DC */	b func_8039822C

.global func_80178354
func_80178354:
/* 80178354 00173FB4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80178358 00173FB8  7C 08 02 A6 */	mflr r0
/* 8017835C 00173FBC  90 01 00 34 */	stw r0, 0x34(r1)
/* 80178360 00173FC0  39 61 00 30 */	addi r11, r1, 0x30
/* 80178364 00173FC4  48 04 ED B9 */	bl _savegpr_24
/* 80178368 00173FC8  80 03 00 18 */	lwz r0, 0x18(r3)
/* 8017836C 00173FCC  7C 79 1B 78 */	mr r25, r3
/* 80178370 00173FD0  7C BA 2B 78 */	mr r26, r5
/* 80178374 00173FD4  7C DB 33 78 */	mr r27, r6
/* 80178378 00173FD8  2C 00 00 10 */	cmpwi r0, 0x10
/* 8017837C 00173FDC  7C FC 3B 78 */	mr r28, r7
/* 80178380 00173FE0  3B E0 00 10 */	li r31, 0x10
/* 80178384 00173FE4  40 80 00 08 */	bge lbl_8017838C
/* 80178388 00173FE8  7C 1F 03 78 */	mr r31, r0
lbl_8017838C:
/* 8017838C 00173FEC  80 63 00 AC */	lwz r3, 0xac(r3)
/* 80178390 00173FF0  3B C0 00 00 */	li r30, 0
/* 80178394 00173FF4  3B A0 00 00 */	li r29, 0
/* 80178398 00173FF8  3B 00 00 00 */	li r24, 0
/* 8017839C 00173FFC  80 63 00 08 */	lwz r3, 8(r3)
/* 801783A0 00174000  38 03 00 01 */	addi r0, r3, 1
/* 801783A4 00174004  54 03 10 3A */	slwi r3, r0, 2
/* 801783A8 00174008  48 06 26 CD */	bl __nwa__FUl
/* 801783AC 0017400C  1C 1B 00 98 */	mulli r0, r27, 0x98
/* 801783B0 00174010  80 99 00 AC */	lwz r4, 0xac(r25)
/* 801783B4 00174014  7C 84 02 14 */	add r4, r4, r0
/* 801783B8 00174018  38 A4 00 10 */	addi r5, r4, 0x10
/* 801783BC 0017401C  48 00 00 74 */	b lbl_80178430
lbl_801783C0:
/* 801783C0 00174020  38 C0 00 00 */	li r6, 0
/* 801783C4 00174024  38 E0 00 00 */	li r7, 0
/* 801783C8 00174028  7F E9 03 A6 */	mtctr r31
/* 801783CC 0017402C  2C 1F 00 00 */	cmpwi r31, 0
/* 801783D0 00174030  40 81 00 30 */	ble lbl_80178400
lbl_801783D4:
/* 801783D4 00174034  88 19 00 00 */	lbz r0, 0(r25)
/* 801783D8 00174038  2C 00 00 00 */	cmpwi r0, 0
/* 801783DC 0017403C  40 82 00 1C */	bne lbl_801783F8
/* 801783E0 00174040  80 99 00 78 */	lwz r4, 0x78(r25)
/* 801783E4 00174044  7C 04 38 AE */	lbzx r0, r4, r7
/* 801783E8 00174048  7C 1B 00 00 */	cmpw r27, r0
/* 801783EC 0017404C  40 82 00 0C */	bne lbl_801783F8
/* 801783F0 00174050  38 C0 00 01 */	li r6, 1
/* 801783F4 00174054  48 00 00 0C */	b lbl_80178400
lbl_801783F8:
/* 801783F8 00174058  38 E7 00 01 */	addi r7, r7, 1
/* 801783FC 0017405C  42 00 FF D8 */	bdnz lbl_801783D4
lbl_80178400:
/* 80178400 00174060  2C 06 00 00 */	cmpwi r6, 0
/* 80178404 00174064  40 82 00 24 */	bne lbl_80178428
/* 80178408 00174068  88 85 00 5D */	lbz r4, 0x5d(r5)
/* 8017840C 0017406C  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80178410 00174070  7C 04 00 00 */	cmpw r4, r0
/* 80178414 00174074  41 81 00 14 */	bgt lbl_80178428
/* 80178418 00174078  7F 63 C1 2E */	stwx r27, r3, r24
/* 8017841C 0017407C  3B DE 00 01 */	addi r30, r30, 1
/* 80178420 00174080  3B BD 00 01 */	addi r29, r29, 1
/* 80178424 00174084  3B 18 00 04 */	addi r24, r24, 4
lbl_80178428:
/* 80178428 00174088  3B 7B 00 01 */	addi r27, r27, 1
/* 8017842C 0017408C  38 A5 00 98 */	addi r5, r5, 0x98
lbl_80178430:
/* 80178430 00174090  80 99 00 AC */	lwz r4, 0xac(r25)
/* 80178434 00174094  80 04 00 08 */	lwz r0, 8(r4)
/* 80178438 00174098  7C 1B 00 40 */	cmplw r27, r0
/* 8017843C 0017409C  41 80 FF 84 */	blt lbl_801783C0
/* 80178440 001740A0  2C 1E 00 00 */	cmpwi r30, 0
/* 80178444 001740A4  57 A0 10 3A */	slwi r0, r29, 2
/* 80178448 001740A8  38 80 FF FF */	li r4, -1
/* 8017844C 001740AC  7C 83 01 2E */	stwx r4, r3, r0
/* 80178450 001740B0  40 82 00 10 */	bne lbl_80178460
/* 80178454 001740B4  48 06 26 69 */	bl __dla__FPv
/* 80178458 001740B8  38 60 FF FF */	li r3, -1
/* 8017845C 001740BC  48 00 00 20 */	b lbl_8017847C
lbl_80178460:
/* 80178460 001740C0  7C 1A F3 96 */	divwu r0, r26, r30
/* 80178464 001740C4  7C 00 F1 D6 */	mullw r0, r0, r30
/* 80178468 001740C8  7C 00 D0 50 */	subf r0, r0, r26
/* 8017846C 001740CC  54 00 10 3A */	slwi r0, r0, 2
/* 80178470 001740D0  7F 03 00 2E */	lwzx r24, r3, r0
/* 80178474 001740D4  48 06 26 49 */	bl __dla__FPv
/* 80178478 001740D8  7F 03 C3 78 */	mr r3, r24
lbl_8017847C:
/* 8017847C 001740DC  39 61 00 30 */	addi r11, r1, 0x30
/* 80178480 001740E0  48 04 EC E9 */	bl _restgpr_24
/* 80178484 001740E4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80178488 001740E8  7C 08 03 A6 */	mtlr r0
/* 8017848C 001740EC  38 21 00 30 */	addi r1, r1, 0x30
/* 80178490 001740F0  4E 80 00 20 */	blr

.global func_80178494
func_80178494:
/* 80178494 001740F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80178498 001740F8  7C 08 02 A6 */	mflr r0
/* 8017849C 001740FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 801784A0 00174100  39 61 00 20 */	addi r11, r1, 0x20
/* 801784A4 00174104  48 04 EC 81 */	bl _savegpr_26
/* 801784A8 00174108  3F E0 80 64 */	lis r31, lbl_8063CE34@ha
/* 801784AC 0017410C  7C BC 2B 78 */	mr r28, r5
/* 801784B0 00174110  80 A3 00 04 */	lwz r5, 4(r3)
/* 801784B4 00174114  3B FF CE 34 */	addi r31, r31, lbl_8063CE34@l
/* 801784B8 00174118  7C 7A 1B 78 */	mr r26, r3
/* 801784BC 0017411C  7C 9B 23 78 */	mr r27, r4
/* 801784C0 00174120  38 7F 00 60 */	addi r3, r31, 0x60
/* 801784C4 00174124  48 21 FC B9 */	bl func_8039817C
/* 801784C8 00174128  7C 7D 1B 78 */	mr r29, r3
/* 801784CC 0017412C  38 60 00 C8 */	li r3, 0xc8
/* 801784D0 00174130  7F A4 EB 78 */	mr r4, r29
/* 801784D4 00174134  48 06 2F E9 */	bl func_801DB4BC
/* 801784D8 00174138  2C 03 00 00 */	cmpwi r3, 0
/* 801784DC 0017413C  90 7A 00 AC */	stw r3, 0xac(r26)
/* 801784E0 00174140  40 82 00 0C */	bne lbl_801784EC
/* 801784E4 00174144  38 60 00 00 */	li r3, 0
/* 801784E8 00174148  48 00 02 A8 */	b lbl_80178790
lbl_801784EC:
/* 801784EC 0017414C  88 1C 00 0C */	lbz r0, 0xc(r28)
/* 801784F0 00174150  2C 00 00 01 */	cmpwi r0, 1
/* 801784F4 00174154  41 82 00 20 */	beq lbl_80178514
/* 801784F8 00174158  40 80 00 10 */	bge lbl_80178508
/* 801784FC 0017415C  2C 00 00 00 */	cmpwi r0, 0
/* 80178500 00174160  40 80 00 E8 */	bge lbl_801785E8
/* 80178504 00174164  48 00 02 48 */	b lbl_8017874C
lbl_80178508:
/* 80178508 00174168  2C 00 00 03 */	cmpwi r0, 3
/* 8017850C 0017416C  40 80 02 40 */	bge lbl_8017874C
/* 80178510 00174170  48 00 01 74 */	b lbl_80178684
lbl_80178514:
/* 80178514 00174174  80 BA 00 04 */	lwz r5, 4(r26)
/* 80178518 00174178  7F 64 DB 78 */	mr r4, r27
/* 8017851C 0017417C  38 7F 00 60 */	addi r3, r31, 0x60
/* 80178520 00174180  48 21 FC 09 */	bl func_80398128
/* 80178524 00174184  3C A0 00 03 */	lis r5, 0x000343FD@ha
/* 80178528 00174188  38 80 00 00 */	li r4, 0
/* 8017852C 0017418C  38 C5 43 FD */	addi r6, r5, 0x000343FD@l
/* 80178530 00174190  7C 63 31 D6 */	mullw r3, r3, r6
/* 80178534 00174194  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178538 00174198  38 03 9E C3 */	addi r0, r3, -24893
/* 8017853C 0017419C  7C 60 31 D6 */	mullw r3, r0, r6
/* 80178540 001741A0  54 00 84 3E */	srwi r0, r0, 0x10
/* 80178544 001741A4  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178548 001741A8  38 63 9E C3 */	addi r3, r3, -24893
/* 8017854C 001741AC  90 7A 00 94 */	stw r3, 0x94(r26)
/* 80178550 001741B0  50 60 00 1E */	rlwimi r0, r3, 0, 0, 0xf
/* 80178554 001741B4  90 1C 00 28 */	stw r0, 0x28(r28)
/* 80178558 001741B8  80 1A 00 94 */	lwz r0, 0x94(r26)
/* 8017855C 001741BC  7C 60 31 D6 */	mullw r3, r0, r6
/* 80178560 001741C0  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178564 001741C4  38 03 9E C3 */	addi r0, r3, -24893
/* 80178568 001741C8  7C 60 31 D6 */	mullw r3, r0, r6
/* 8017856C 001741CC  54 05 84 3E */	srwi r5, r0, 0x10
/* 80178570 001741D0  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178574 001741D4  38 63 9E C3 */	addi r3, r3, -24893
/* 80178578 001741D8  90 7A 00 94 */	stw r3, 0x94(r26)
/* 8017857C 001741DC  50 65 00 1E */	rlwimi r5, r3, 0, 0, 0xf
/* 80178580 001741E0  48 00 00 2C */	b lbl_801785AC
lbl_80178584:
/* 80178584 001741E4  7C 63 31 D6 */	mullw r3, r3, r6
/* 80178588 001741E8  38 84 00 01 */	addi r4, r4, 1
/* 8017858C 001741EC  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178590 001741F0  38 03 9E C3 */	addi r0, r3, -24893
/* 80178594 001741F4  7C 60 31 D6 */	mullw r3, r0, r6
/* 80178598 001741F8  54 05 84 3E */	srwi r5, r0, 0x10
/* 8017859C 001741FC  3C 63 00 27 */	addis r3, r3, 0x27
/* 801785A0 00174200  38 63 9E C3 */	addi r3, r3, -24893
/* 801785A4 00174204  90 7A 00 94 */	stw r3, 0x94(r26)
/* 801785A8 00174208  50 65 00 1E */	rlwimi r5, r3, 0, 0, 0xf
lbl_801785AC:
/* 801785AC 0017420C  80 1C 00 18 */	lwz r0, 0x18(r28)
/* 801785B0 00174210  7C 04 00 00 */	cmpw r4, r0
/* 801785B4 00174214  41 80 FF D0 */	blt lbl_80178584
/* 801785B8 00174218  7F 43 D3 78 */	mr r3, r26
/* 801785BC 0017421C  7F 64 DB 78 */	mr r4, r27
/* 801785C0 00174220  7F 87 E3 78 */	mr r7, r28
/* 801785C4 00174224  38 C0 00 00 */	li r6, 0
/* 801785C8 00174228  4B FF FD 8D */	bl func_80178354
/* 801785CC 0017422C  80 1A 00 18 */	lwz r0, 0x18(r26)
/* 801785D0 00174230  7C 7E 1B 78 */	mr r30, r3
/* 801785D4 00174234  2C 00 00 10 */	cmpwi r0, 0x10
/* 801785D8 00174238  40 80 01 7C */	bge lbl_80178754
/* 801785DC 0017423C  80 9A 00 78 */	lwz r4, 0x78(r26)
/* 801785E0 00174240  7C 64 01 AE */	stbx r3, r4, r0
/* 801785E4 00174244  48 00 01 70 */	b lbl_80178754
lbl_801785E8:
/* 801785E8 00174248  48 0A B2 49 */	bl func_80223830
/* 801785EC 0017424C  3F C0 00 03 */	lis r30, 0x000343FD@ha
/* 801785F0 00174250  80 03 00 00 */	lwz r0, 0(r3)
/* 801785F4 00174254  38 BE 43 FD */	addi r5, r30, 0x000343FD@l
/* 801785F8 00174258  7C 80 29 D6 */	mullw r4, r0, r5
/* 801785FC 0017425C  3C 84 00 27 */	addis r4, r4, 0x27
/* 80178600 00174260  38 04 9E C3 */	addi r0, r4, -24893
/* 80178604 00174264  7C 80 29 D6 */	mullw r4, r0, r5
/* 80178608 00174268  54 00 84 3E */	srwi r0, r0, 0x10
/* 8017860C 0017426C  3C 84 00 27 */	addis r4, r4, 0x27
/* 80178610 00174270  38 84 9E C3 */	addi r4, r4, -24893
/* 80178614 00174274  90 83 00 00 */	stw r4, 0(r3)
/* 80178618 00174278  50 80 00 1E */	rlwimi r0, r4, 0, 0, 0xf
/* 8017861C 0017427C  90 1C 00 28 */	stw r0, 0x28(r28)
/* 80178620 00174280  48 0A B2 11 */	bl func_80223830
/* 80178624 00174284  80 A3 00 00 */	lwz r5, 0(r3)
/* 80178628 00174288  38 1E 43 FD */	addi r0, r30, 0x43fd
/* 8017862C 0017428C  7F 64 DB 78 */	mr r4, r27
/* 80178630 00174290  7C A5 01 D6 */	mullw r5, r5, r0
/* 80178634 00174294  3C A5 00 27 */	addis r5, r5, 0x27
/* 80178638 00174298  38 05 9E C3 */	addi r0, r5, -24893
/* 8017863C 0017429C  90 03 00 00 */	stw r0, 0(r3)
/* 80178640 001742A0  54 1E 84 3E */	srwi r30, r0, 0x10
/* 80178644 001742A4  38 7F 00 60 */	addi r3, r31, 0x60
/* 80178648 001742A8  80 BA 00 04 */	lwz r5, 4(r26)
/* 8017864C 001742AC  48 21 FA DD */	bl func_80398128
/* 80178650 001742B0  7C 66 1B 78 */	mr r6, r3
/* 80178654 001742B4  7F 43 D3 78 */	mr r3, r26
/* 80178658 001742B8  7F 64 DB 78 */	mr r4, r27
/* 8017865C 001742BC  7F C5 F3 78 */	mr r5, r30
/* 80178660 001742C0  7F 87 E3 78 */	mr r7, r28
/* 80178664 001742C4  4B FF FC F1 */	bl func_80178354
/* 80178668 001742C8  80 1A 00 18 */	lwz r0, 0x18(r26)
/* 8017866C 001742CC  7C 7E 1B 78 */	mr r30, r3
/* 80178670 001742D0  2C 00 00 10 */	cmpwi r0, 0x10
/* 80178674 001742D4  40 80 00 E0 */	bge lbl_80178754
/* 80178678 001742D8  80 9A 00 78 */	lwz r4, 0x78(r26)
/* 8017867C 001742DC  7C 64 01 AE */	stbx r3, r4, r0
/* 80178680 001742E0  48 00 00 D4 */	b lbl_80178754
lbl_80178684:
/* 80178684 001742E4  38 7B 00 02 */	addi r3, r27, 2
/* 80178688 001742E8  88 1C 00 00 */	lbz r0, 0(r28)
/* 8017868C 001742EC  1C 63 30 39 */	mulli r3, r3, 0x3039
/* 80178690 001742F0  2C 00 00 00 */	cmpwi r0, 0
/* 80178694 001742F4  90 7C 00 28 */	stw r3, 0x28(r28)
/* 80178698 001742F8  41 82 00 98 */	beq lbl_80178730
/* 8017869C 001742FC  80 BA 00 04 */	lwz r5, 4(r26)
/* 801786A0 00174300  7F 64 DB 78 */	mr r4, r27
/* 801786A4 00174304  38 7F 00 60 */	addi r3, r31, 0x60
/* 801786A8 00174308  48 21 FA 81 */	bl func_80398128
/* 801786AC 0017430C  7C 7E 1B 78 */	mr r30, r3
/* 801786B0 00174310  7F 64 DB 78 */	mr r4, r27
/* 801786B4 00174314  38 7F 00 60 */	addi r3, r31, 0x60
/* 801786B8 00174318  48 21 F7 C1 */	bl func_80397E78
/* 801786BC 0017431C  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 801786C0 00174320  28 00 03 F1 */	cmplwi r0, 0x3f1
/* 801786C4 00174324  40 82 00 90 */	bne lbl_80178754
/* 801786C8 00174328  7F 64 DB 78 */	mr r4, r27
/* 801786CC 0017432C  38 7F 00 60 */	addi r3, r31, 0x60
/* 801786D0 00174330  48 21 F7 DD */	bl func_80397EAC
/* 801786D4 00174334  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 801786D8 00174338  28 00 00 04 */	cmplwi r0, 4
/* 801786DC 0017433C  41 82 00 1C */	beq lbl_801786F8
/* 801786E0 00174340  7F 64 DB 78 */	mr r4, r27
/* 801786E4 00174344  38 7F 00 60 */	addi r3, r31, 0x60
/* 801786E8 00174348  48 21 F7 C5 */	bl func_80397EAC
/* 801786EC 0017434C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 801786F0 00174350  28 00 00 08 */	cmplwi r0, 8
/* 801786F4 00174354  40 82 00 60 */	bne lbl_80178754
lbl_801786F8:
/* 801786F8 00174358  4B F0 3F DD */	bl func_8007C6D4
/* 801786FC 0017435C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 80178700 00174360  2C 00 00 01 */	cmpwi r0, 1
/* 80178704 00174364  41 82 00 50 */	beq lbl_80178754
/* 80178708 00174368  40 80 00 10 */	bge lbl_80178718
/* 8017870C 0017436C  2C 00 00 00 */	cmpwi r0, 0
/* 80178710 00174370  40 80 00 18 */	bge lbl_80178728
/* 80178714 00174374  48 00 00 40 */	b lbl_80178754
lbl_80178718:
/* 80178718 00174378  2C 00 00 03 */	cmpwi r0, 3
/* 8017871C 0017437C  40 80 00 38 */	bge lbl_80178754
/* 80178720 00174380  3B DE 00 01 */	addi r30, r30, 1
/* 80178724 00174384  48 00 00 30 */	b lbl_80178754
lbl_80178728:
/* 80178728 00174388  3B DE 00 02 */	addi r30, r30, 2
/* 8017872C 0017438C  48 00 00 28 */	b lbl_80178754
lbl_80178730:
/* 80178730 00174390  80 BA 00 04 */	lwz r5, 4(r26)
/* 80178734 00174394  7F 64 DB 78 */	mr r4, r27
/* 80178738 00174398  38 7F 00 60 */	addi r3, r31, 0x60
/* 8017873C 0017439C  48 21 F9 ED */	bl func_80398128
/* 80178740 001743A0  80 1C 00 18 */	lwz r0, 0x18(r28)
/* 80178744 001743A4  7F C0 1A 14 */	add r30, r0, r3
/* 80178748 001743A8  48 00 00 0C */	b lbl_80178754
lbl_8017874C:
/* 8017874C 001743AC  38 60 00 00 */	li r3, 0
/* 80178750 001743B0  48 00 00 40 */	b lbl_80178790
lbl_80178754:
/* 80178754 001743B4  2C 1E 00 00 */	cmpwi r30, 0
/* 80178758 001743B8  41 80 00 0C */	blt lbl_80178764
/* 8017875C 001743BC  2C 1E 00 FF */	cmpwi r30, 0xff
/* 80178760 001743C0  40 82 00 0C */	bne lbl_8017876C
lbl_80178764:
/* 80178764 001743C4  38 60 00 00 */	li r3, 0
/* 80178768 001743C8  48 00 00 28 */	b lbl_80178790
lbl_8017876C:
/* 8017876C 001743CC  88 1C 00 0C */	lbz r0, 0xc(r28)
/* 80178770 001743D0  1C 7E 00 98 */	mulli r3, r30, 0x98
/* 80178774 001743D4  80 9A 00 AC */	lwz r4, 0xac(r26)
/* 80178778 001743D8  28 00 00 01 */	cmplwi r0, 1
/* 8017877C 001743DC  7C 64 1A 14 */	add r3, r4, r3
/* 80178780 001743E0  38 63 00 10 */	addi r3, r3, 0x10
/* 80178784 001743E4  40 82 00 0C */	bne lbl_80178790
/* 80178788 001743E8  7C 1D F2 14 */	add r0, r29, r30
/* 8017878C 001743EC  90 03 00 0C */	stw r0, 0xc(r3)
lbl_80178790:
/* 80178790 001743F0  39 61 00 20 */	addi r11, r1, 0x20
/* 80178794 001743F4  48 04 E9 DD */	bl _restgpr_26
/* 80178798 001743F8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8017879C 001743FC  7C 08 03 A6 */	mtlr r0
/* 801787A0 00174400  38 21 00 20 */	addi r1, r1, 0x20
/* 801787A4 00174404  4E 80 00 20 */	blr

.global func_801787A8
func_801787A8:
/* 801787A8 00174408  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801787AC 0017440C  7C 08 02 A6 */	mflr r0
/* 801787B0 00174410  90 01 00 34 */	stw r0, 0x34(r1)
/* 801787B4 00174414  39 61 00 30 */	addi r11, r1, 0x30
/* 801787B8 00174418  48 04 E9 61 */	bl _savegpr_23
/* 801787BC 0017441C  A8 06 00 10 */	lha r0, 0x10(r6)
/* 801787C0 00174420  7C BD 2B 78 */	mr r29, r5
/* 801787C4 00174424  7C 7B 1B 78 */	mr r27, r3
/* 801787C8 00174428  7C 9C 23 78 */	mr r28, r4
/* 801787CC 0017442C  7C DE 33 78 */	mr r30, r6
/* 801787D0 00174430  7F A4 EB 78 */	mr r4, r29
/* 801787D4 00174434  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 801787D8 00174438  38 A0 00 00 */	li r5, 0
/* 801787DC 0017443C  4B F6 C0 99 */	bl func_800E4874
/* 801787E0 00174440  88 1E 00 5C */	lbz r0, 0x5c(r30)
/* 801787E4 00174444  3B 20 00 00 */	li r25, 0
/* 801787E8 00174448  82 FB 00 28 */	lwz r23, 0x28(r27)
/* 801787EC 0017444C  3B E0 00 00 */	li r31, 0
/* 801787F0 00174450  83 1E 00 08 */	lwz r24, 8(r30)
/* 801787F4 00174454  54 00 EF BE */	rlwinm r0, r0, 0x1d, 0x1e, 0x1f
/* 801787F8 00174458  AB 5E 00 10 */	lha r26, 0x10(r30)
/* 801787FC 0017445C  89 9E 00 12 */	lbz r12, 0x12(r30)
/* 80178800 00174460  89 7E 00 13 */	lbz r11, 0x13(r30)
/* 80178804 00174464  89 5E 00 14 */	lbz r10, 0x14(r30)
/* 80178808 00174468  89 3E 00 15 */	lbz r9, 0x15(r30)
/* 8017880C 0017446C  89 1E 00 16 */	lbz r8, 0x16(r30)
/* 80178810 00174470  88 FE 00 17 */	lbz r7, 0x17(r30)
/* 80178814 00174474  88 DE 00 18 */	lbz r6, 0x18(r30)
/* 80178818 00174478  88 BE 00 19 */	lbz r5, 0x19(r30)
/* 8017881C 0017447C  88 9E 00 1A */	lbz r4, 0x1a(r30)
/* 80178820 00174480  88 7E 00 1B */	lbz r3, 0x1b(r30)
/* 80178824 00174484  92 FD 00 00 */	stw r23, 0(r29)
/* 80178828 00174488  B3 1D 00 1C */	sth r24, 0x1c(r29)
/* 8017882C 0017448C  9B 3D 00 1E */	stb r25, 0x1e(r29)
/* 80178830 00174490  B3 5D 00 20 */	sth r26, 0x20(r29)
/* 80178834 00174494  99 9D 00 22 */	stb r12, 0x22(r29)
/* 80178838 00174498  99 7D 00 23 */	stb r11, 0x23(r29)
/* 8017883C 0017449C  99 5D 00 24 */	stb r10, 0x24(r29)
/* 80178840 001744A0  99 3D 00 25 */	stb r9, 0x25(r29)
/* 80178844 001744A4  99 1D 00 26 */	stb r8, 0x26(r29)
/* 80178848 001744A8  98 FD 00 27 */	stb r7, 0x27(r29)
/* 8017884C 001744AC  98 DD 00 28 */	stb r6, 0x28(r29)
/* 80178850 001744B0  98 BD 00 29 */	stb r5, 0x29(r29)
/* 80178854 001744B4  98 9D 00 2A */	stb r4, 0x2a(r29)
/* 80178858 001744B8  98 7D 00 2B */	stb r3, 0x2b(r29)
/* 8017885C 001744BC  98 1D 01 EE */	stb r0, 0x1ee(r29)
/* 80178860 001744C0  88 1B 00 00 */	lbz r0, 0(r27)
/* 80178864 001744C4  2C 00 00 00 */	cmpwi r0, 0
/* 80178868 001744C8  41 82 00 A8 */	beq lbl_80178910
/* 8017886C 001744CC  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80178870 001744D0  7F 84 E3 78 */	mr r4, r28
/* 80178874 001744D4  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 80178878 001744D8  38 A0 00 01 */	li r5, 1
/* 8017887C 001744DC  38 63 00 60 */	addi r3, r3, 0x60
/* 80178880 001744E0  48 21 FA 6D */	bl func_803982EC
/* 80178884 001744E4  54 65 06 3F */	clrlwi. r5, r3, 0x18
/* 80178888 001744E8  41 82 00 30 */	beq lbl_801788B8
/* 8017888C 001744EC  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 80178890 001744F0  80 9B 00 94 */	lwz r4, 0x94(r27)
/* 80178894 001744F4  38 03 43 FD */	addi r0, r3, 0x000343FD@l
/* 80178898 001744F8  7C 64 01 D6 */	mullw r3, r4, r0
/* 8017889C 001744FC  3C 63 00 27 */	addis r3, r3, 0x27
/* 801788A0 00174500  38 03 9E C3 */	addi r0, r3, -24893
/* 801788A4 00174504  54 03 84 3E */	srwi r3, r0, 0x10
/* 801788A8 00174508  90 1B 00 94 */	stw r0, 0x94(r27)
/* 801788AC 0017450C  7C 03 2B D6 */	divw r0, r3, r5
/* 801788B0 00174510  7C 00 29 D6 */	mullw r0, r0, r5
/* 801788B4 00174514  7F E0 18 50 */	subf r31, r0, r3
lbl_801788B8:
/* 801788B8 00174518  2C 1C 00 1D */	cmpwi r28, 0x1d
/* 801788BC 0017451C  40 82 00 20 */	bne lbl_801788DC
/* 801788C0 00174520  80 1B 00 24 */	lwz r0, 0x24(r27)
/* 801788C4 00174524  2C 00 00 32 */	cmpwi r0, 0x32
/* 801788C8 00174528  40 82 00 08 */	bne lbl_801788D0
/* 801788CC 0017452C  3B E0 00 01 */	li r31, 1
lbl_801788D0:
/* 801788D0 00174530  2C 00 00 64 */	cmpwi r0, 0x64
/* 801788D4 00174534  40 82 00 08 */	bne lbl_801788DC
/* 801788D8 00174538  3B E0 00 02 */	li r31, 2
lbl_801788DC:
/* 801788DC 0017453C  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 801788E0 00174540  7F 84 E3 78 */	mr r4, r28
/* 801788E4 00174544  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 801788E8 00174548  38 63 00 60 */	addi r3, r3, 0x60
/* 801788EC 0017454C  48 21 F9 CD */	bl func_803982B8
/* 801788F0 00174550  54 77 06 3F */	clrlwi. r23, r3, 0x18
/* 801788F4 00174554  41 82 00 68 */	beq lbl_8017895C
/* 801788F8 00174558  7F 63 DB 78 */	mr r3, r27
/* 801788FC 0017455C  48 00 2A 7D */	bl func_8017B378
/* 80178900 00174560  2C 03 00 00 */	cmpwi r3, 0
/* 80178904 00174564  41 82 00 58 */	beq lbl_8017895C
/* 80178908 00174568  3B F7 FF FF */	addi r31, r23, -1
/* 8017890C 0017456C  48 00 00 50 */	b lbl_8017895C
lbl_80178910:
/* 80178910 00174570  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80178914 00174574  7F 84 E3 78 */	mr r4, r28
/* 80178918 00174578  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 8017891C 0017457C  38 A0 00 00 */	li r5, 0
/* 80178920 00174580  38 63 00 60 */	addi r3, r3, 0x60
/* 80178924 00174584  48 21 F9 C9 */	bl func_803982EC
/* 80178928 00174588  54 65 06 3F */	clrlwi. r5, r3, 0x18
/* 8017892C 0017458C  41 82 00 30 */	beq lbl_8017895C
/* 80178930 00174590  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 80178934 00174594  80 9B 00 94 */	lwz r4, 0x94(r27)
/* 80178938 00174598  38 03 43 FD */	addi r0, r3, 0x000343FD@l
/* 8017893C 0017459C  7C 64 01 D6 */	mullw r3, r4, r0
/* 80178940 001745A0  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178944 001745A4  38 03 9E C3 */	addi r0, r3, -24893
/* 80178948 001745A8  54 03 84 3E */	srwi r3, r0, 0x10
/* 8017894C 001745AC  90 1B 00 94 */	stw r0, 0x94(r27)
/* 80178950 001745B0  7C 03 2B D6 */	divw r0, r3, r5
/* 80178954 001745B4  7C 00 29 D6 */	mullw r0, r0, r5
/* 80178958 001745B8  7F E0 18 50 */	subf r31, r0, r3
lbl_8017895C:
/* 8017895C 001745BC  80 9E 00 04 */	lwz r4, 4(r30)
/* 80178960 001745C0  38 7D 00 04 */	addi r3, r29, 4
/* 80178964 001745C4  38 A0 00 0C */	li r5, 0xc
/* 80178968 001745C8  4B F6 BD 3D */	bl func_800E46A4
/* 8017896C 001745CC  57 F7 10 3A */	slwi r23, r31, 2
/* 80178970 001745D0  38 7D 00 2C */	addi r3, r29, 0x2c
/* 80178974 001745D4  7F 5E BA 14 */	add r26, r30, r23
/* 80178978 001745D8  38 A0 00 1A */	li r5, 0x1a
/* 8017897C 001745DC  80 9A 00 1C */	lwz r4, 0x1c(r26)
/* 80178980 001745E0  4B F6 BD 25 */	bl func_800E46A4
/* 80178984 001745E4  80 9A 00 2C */	lwz r4, 0x2c(r26)
/* 80178988 001745E8  7F 5F D3 78 */	mr r31, r26
/* 8017898C 001745EC  38 7D 00 60 */	addi r3, r29, 0x60
/* 80178990 001745F0  38 A0 00 1C */	li r5, 0x1c
/* 80178994 001745F4  4B F6 BD 11 */	bl func_800E46A4
/* 80178998 001745F8  80 9A 00 3C */	lwz r4, 0x3c(r26)
/* 8017899C 001745FC  7F 5C D3 78 */	mr r28, r26
/* 801789A0 00174600  38 7D 01 68 */	addi r3, r29, 0x168
/* 801789A4 00174604  38 A0 00 34 */	li r5, 0x34
/* 801789A8 00174608  4B F6 BC FD */	bl func_800E46A4
/* 801789AC 0017460C  80 9A 00 4C */	lwz r4, 0x4c(r26)
/* 801789B0 00174610  7F 5B D3 78 */	mr r27, r26
/* 801789B4 00174614  38 7D 01 00 */	addi r3, r29, 0x100
/* 801789B8 00174618  38 A0 00 34 */	li r5, 0x34
/* 801789BC 0017461C  4B F6 BC E9 */	bl func_800E46A4
/* 801789C0 00174620  80 DA 00 1C */	lwz r6, 0x1c(r26)
/* 801789C4 00174624  38 00 00 FF */	li r0, 0xff
/* 801789C8 00174628  80 BF 00 2C */	lwz r5, 0x2c(r31)
/* 801789CC 0017462C  39 61 00 30 */	addi r11, r1, 0x30
/* 801789D0 00174630  80 9C 00 3C */	lwz r4, 0x3c(r28)
/* 801789D4 00174634  80 7B 00 4C */	lwz r3, 0x4c(r27)
/* 801789D8 00174638  B0 DD 01 F0 */	sth r6, 0x1f0(r29)
/* 801789DC 0017463C  B0 BD 01 F2 */	sth r5, 0x1f2(r29)
/* 801789E0 00174640  B0 9D 01 FA */	sth r4, 0x1fa(r29)
/* 801789E4 00174644  B0 7D 01 F8 */	sth r3, 0x1f8(r29)
/* 801789E8 00174648  98 1D 01 EF */	stb r0, 0x1ef(r29)
/* 801789EC 0017464C  48 04 E7 79 */	bl _restgpr_23
/* 801789F0 00174650  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801789F4 00174654  7C 08 03 A6 */	mtlr r0
/* 801789F8 00174658  38 21 00 30 */	addi r1, r1, 0x30
/* 801789FC 0017465C  4E 80 00 20 */	blr

.global func_80178A00
func_80178A00:
/* 80178A00 00174660  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 80178A04 00174664  7C 08 02 A6 */	mflr r0
/* 80178A08 00174668  90 01 00 74 */	stw r0, 0x74(r1)
/* 80178A0C 0017466C  39 61 00 70 */	addi r11, r1, 0x70
/* 80178A10 00174670  48 04 E6 F5 */	bl _savegpr_18
/* 80178A14 00174674  7C 94 23 78 */	mr r20, r4
/* 80178A18 00174678  7C 73 1B 78 */	mr r19, r3
/* 80178A1C 0017467C  7C B2 2B 78 */	mr r18, r5
/* 80178A20 00174680  7C D5 33 78 */	mr r21, r6
/* 80178A24 00174684  7C F6 3B 78 */	mr r22, r7
/* 80178A28 00174688  7D 17 43 78 */	mr r23, r8
/* 80178A2C 0017468C  7E 83 A3 78 */	mr r3, r20
/* 80178A30 00174690  38 80 00 05 */	li r4, 5
/* 80178A34 00174694  38 A0 00 00 */	li r5, 0
/* 80178A38 00174698  48 26 4F A5 */	bl func_803DD9DC
/* 80178A3C 0017469C  7C 7B 1B 78 */	mr r27, r3
/* 80178A40 001746A0  7E 83 A3 78 */	mr r3, r20
/* 80178A44 001746A4  38 80 00 70 */	li r4, 0x70
/* 80178A48 001746A8  38 A0 00 00 */	li r5, 0
/* 80178A4C 001746AC  48 26 4F 91 */	bl func_803DD9DC
/* 80178A50 001746B0  7C 7A 1B 78 */	mr r26, r3
/* 80178A54 001746B4  38 60 03 AC */	li r3, 0x3ac
/* 80178A58 001746B8  48 06 1F D9 */	bl __nw__FUl
/* 80178A5C 001746BC  2C 03 00 00 */	cmpwi r3, 0
/* 80178A60 001746C0  7C 7C 1B 78 */	mr r28, r3
/* 80178A64 001746C4  41 82 00 1C */	beq lbl_80178A80
/* 80178A68 001746C8  38 00 00 00 */	li r0, 0
/* 80178A6C 001746CC  38 80 00 00 */	li r4, 0
/* 80178A70 001746D0  90 03 00 00 */	stw r0, 0(r3)
/* 80178A74 001746D4  38 A0 03 A8 */	li r5, 0x3a8
/* 80178A78 001746D8  38 63 00 04 */	addi r3, r3, 4
/* 80178A7C 001746DC  4B E8 B6 89 */	bl memset
lbl_80178A80:
/* 80178A80 001746E0  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80178A84 001746E4  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 80178A88 001746E8  38 63 00 68 */	addi r3, r3, 0x68
/* 80178A8C 001746EC  48 21 FE 91 */	bl func_8039891C
/* 80178A90 001746F0  2C 16 00 00 */	cmpwi r22, 0
/* 80178A94 001746F4  7C 7D 1B 78 */	mr r29, r3
/* 80178A98 001746F8  40 81 01 04 */	ble lbl_80178B9C
/* 80178A9C 001746FC  2C 16 00 05 */	cmpwi r22, 5
/* 80178AA0 00174700  3B 20 FF FF */	li r25, -1
/* 80178AA4 00174704  41 82 00 1C */	beq lbl_80178AC0
/* 80178AA8 00174708  40 80 00 2C */	bge lbl_80178AD4
/* 80178AAC 0017470C  2C 16 00 01 */	cmpwi r22, 1
/* 80178AB0 00174710  40 80 00 08 */	bge lbl_80178AB8
/* 80178AB4 00174714  48 00 00 20 */	b lbl_80178AD4
lbl_80178AB8:
/* 80178AB8 00174718  7E D9 B3 78 */	mr r25, r22
/* 80178ABC 0017471C  48 00 00 18 */	b lbl_80178AD4
lbl_80178AC0:
/* 80178AC0 00174720  56 40 18 38 */	slwi r0, r18, 3
/* 80178AC4 00174724  3C 60 80 42 */	lis r3, lbl_80420FB0@ha
/* 80178AC8 00174728  7C 12 00 50 */	subf r0, r18, r0
/* 80178ACC 0017472C  38 63 0F B0 */	addi r3, r3, lbl_80420FB0@l
/* 80178AD0 00174730  7F 23 00 AE */	lbzx r25, r3, r0
lbl_80178AD4:
/* 80178AD4 00174734  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80178AD8 00174738  3B 00 00 00 */	li r24, 0
/* 80178ADC 0017473C  3B C3 CE 34 */	addi r30, r3, lbl_8063CE34@l
/* 80178AE0 00174740  48 00 00 B4 */	b lbl_80178B94
lbl_80178AE4:
/* 80178AE4 00174744  7E 83 A3 78 */	mr r3, r20
/* 80178AE8 00174748  57 04 06 3E */	clrlwi r4, r24, 0x18
/* 80178AEC 0017474C  48 26 43 05 */	bl func_803DCDF0
/* 80178AF0 00174750  2C 03 00 00 */	cmpwi r3, 0
/* 80178AF4 00174754  41 82 00 9C */	beq lbl_80178B90
/* 80178AF8 00174758  7F 04 C3 78 */	mr r4, r24
/* 80178AFC 0017475C  38 7E 00 68 */	addi r3, r30, 0x68
/* 80178B00 00174760  48 21 FE 6D */	bl func_8039896C
/* 80178B04 00174764  54 72 06 3E */	clrlwi r18, r3, 0x18
/* 80178B08 00174768  7F 04 C3 78 */	mr r4, r24
/* 80178B0C 0017476C  38 7E 00 68 */	addi r3, r30, 0x68
/* 80178B10 00174770  48 21 FE 29 */	bl func_80398938
/* 80178B14 00174774  2C 12 00 00 */	cmpwi r18, 0
/* 80178B18 00174778  7C 7F 1B 78 */	mr r31, r3
/* 80178B1C 0017477C  41 82 00 74 */	beq lbl_80178B90
/* 80178B20 00174780  2C 19 00 03 */	cmpwi r25, 3
/* 80178B24 00174784  41 81 00 0C */	bgt lbl_80178B30
/* 80178B28 00174788  7C 12 C8 00 */	cmpw r18, r25
/* 80178B2C 0017478C  41 81 00 64 */	bgt lbl_80178B90
lbl_80178B30:
/* 80178B30 00174790  38 7E 00 18 */	addi r3, r30, 0x18
/* 80178B34 00174794  57 E4 04 3E */	clrlwi r4, r31, 0x10
/* 80178B38 00174798  48 21 A0 69 */	bl func_80392BA0
/* 80178B3C 0017479C  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 80178B40 001747A0  2C 17 00 00 */	cmpwi r23, 0
/* 80178B44 001747A4  7C 03 00 D0 */	neg r0, r3
/* 80178B48 001747A8  7C 00 1B 78 */	or r0, r0, r3
/* 80178B4C 001747AC  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80178B50 001747B0  41 82 00 0C */	beq lbl_80178B5C
/* 80178B54 001747B4  2C 00 00 00 */	cmpwi r0, 0
/* 80178B58 001747B8  40 82 00 14 */	bne lbl_80178B6C
lbl_80178B5C:
/* 80178B5C 001747BC  2C 17 00 00 */	cmpwi r23, 0
/* 80178B60 001747C0  40 82 00 30 */	bne lbl_80178B90
/* 80178B64 001747C4  2C 00 00 00 */	cmpwi r0, 0
/* 80178B68 001747C8  40 82 00 28 */	bne lbl_80178B90
lbl_80178B6C:
/* 80178B6C 001747CC  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 80178B70 001747D0  28 00 01 D3 */	cmplwi r0, 0x1d3
/* 80178B74 001747D4  41 81 00 1C */	bgt lbl_80178B90
/* 80178B78 001747D8  80 7C 00 00 */	lwz r3, 0(r28)
/* 80178B7C 001747DC  54 60 08 3C */	slwi r0, r3, 1
/* 80178B80 001747E0  38 83 00 01 */	addi r4, r3, 1
/* 80178B84 001747E4  7C 7C 02 14 */	add r3, r28, r0
/* 80178B88 001747E8  B3 E3 00 04 */	sth r31, 4(r3)
/* 80178B8C 001747EC  90 9C 00 00 */	stw r4, 0(r28)
lbl_80178B90:
/* 80178B90 001747F0  3B 18 00 01 */	addi r24, r24, 1
lbl_80178B94:
/* 80178B94 001747F4  7C 18 E8 00 */	cmpw r24, r29
/* 80178B98 001747F8  41 80 FF 4C */	blt lbl_80178AE4
lbl_80178B9C:
/* 80178B9C 001747FC  2C 16 00 00 */	cmpwi r22, 0
/* 80178BA0 00174800  41 82 00 0C */	beq lbl_80178BAC
/* 80178BA4 00174804  2C 16 00 06 */	cmpwi r22, 6
/* 80178BA8 00174808  40 82 00 C4 */	bne lbl_80178C6C
lbl_80178BAC:
/* 80178BAC 0017480C  7F 63 DB 78 */	mr r3, r27
/* 80178BB0 00174810  7F 44 D3 78 */	mr r4, r26
/* 80178BB4 00174814  38 A1 00 08 */	addi r5, r1, 8
/* 80178BB8 00174818  48 26 42 05 */	bl func_803DCDBC
/* 80178BBC 0017481C  3E 80 80 64 */	lis r20, lbl_8063CE34@ha
/* 80178BC0 00174820  3A C1 00 08 */	addi r22, r1, 8
/* 80178BC4 00174824  3A 94 CE 34 */	addi r20, r20, lbl_8063CE34@l
/* 80178BC8 00174828  3B 00 00 00 */	li r24, 0
lbl_80178BCC:
/* 80178BCC 0017482C  A0 76 00 00 */	lhz r3, 0(r22)
/* 80178BD0 00174830  28 03 FF FF */	cmplwi r3, 0xffff
/* 80178BD4 00174834  41 82 00 98 */	beq lbl_80178C6C
/* 80178BD8 00174838  80 13 00 14 */	lwz r0, 0x14(r19)
/* 80178BDC 0017483C  54 7D 05 FE */	clrlwi r29, r3, 0x17
/* 80178BE0 00174840  54 63 BE 7E */	rlwinm r3, r3, 0x17, 0x19, 0x1f
/* 80178BE4 00174844  2C 00 00 01 */	cmpwi r0, 1
/* 80178BE8 00174848  41 82 00 0C */	beq lbl_80178BF4
/* 80178BEC 0017484C  2C 00 00 06 */	cmpwi r0, 6
/* 80178BF0 00174850  40 82 00 10 */	bne lbl_80178C00
lbl_80178BF4:
/* 80178BF4 00174854  80 13 00 6C */	lwz r0, 0x6c(r19)
/* 80178BF8 00174858  7C 00 18 00 */	cmpw r0, r3
/* 80178BFC 0017485C  41 80 00 60 */	blt lbl_80178C5C
lbl_80178C00:
/* 80178C00 00174860  7F A4 EB 78 */	mr r4, r29
/* 80178C04 00174864  38 74 00 18 */	addi r3, r20, 0x18
/* 80178C08 00174868  48 21 9F 99 */	bl func_80392BA0
/* 80178C0C 0017486C  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 80178C10 00174870  2C 17 00 00 */	cmpwi r23, 0
/* 80178C14 00174874  7C 03 00 D0 */	neg r0, r3
/* 80178C18 00174878  7C 00 1B 78 */	or r0, r0, r3
/* 80178C1C 0017487C  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80178C20 00174880  41 82 00 0C */	beq lbl_80178C2C
/* 80178C24 00174884  2C 00 00 00 */	cmpwi r0, 0
/* 80178C28 00174888  40 82 00 14 */	bne lbl_80178C3C
lbl_80178C2C:
/* 80178C2C 0017488C  2C 17 00 00 */	cmpwi r23, 0
/* 80178C30 00174890  40 82 00 2C */	bne lbl_80178C5C
/* 80178C34 00174894  2C 00 00 00 */	cmpwi r0, 0
/* 80178C38 00174898  40 82 00 24 */	bne lbl_80178C5C
lbl_80178C3C:
/* 80178C3C 0017489C  28 1D 01 D3 */	cmplwi r29, 0x1d3
/* 80178C40 001748A0  41 81 00 1C */	bgt lbl_80178C5C
/* 80178C44 001748A4  80 7C 00 00 */	lwz r3, 0(r28)
/* 80178C48 001748A8  54 60 08 3C */	slwi r0, r3, 1
/* 80178C4C 001748AC  38 83 00 01 */	addi r4, r3, 1
/* 80178C50 001748B0  7C 7C 02 14 */	add r3, r28, r0
/* 80178C54 001748B4  B3 A3 00 04 */	sth r29, 4(r3)
/* 80178C58 001748B8  90 9C 00 00 */	stw r4, 0(r28)
lbl_80178C5C:
/* 80178C5C 001748BC  3B 18 00 01 */	addi r24, r24, 1
/* 80178C60 001748C0  3A D6 00 02 */	addi r22, r22, 2
/* 80178C64 001748C4  2C 18 00 14 */	cmpwi r24, 0x14
/* 80178C68 001748C8  41 80 FF 64 */	blt lbl_80178BCC
lbl_80178C6C:
/* 80178C6C 001748CC  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 80178C70 001748D0  80 93 00 A0 */	lwz r4, 0xa0(r19)
/* 80178C74 001748D4  38 03 43 FD */	addi r0, r3, 0x000343FD@l
/* 80178C78 001748D8  3A 40 00 00 */	li r18, 0
/* 80178C7C 001748DC  7C 64 01 D6 */	mullw r3, r4, r0
/* 80178C80 001748E0  38 E0 00 00 */	li r7, 0
/* 80178C84 001748E4  38 00 00 04 */	li r0, 4
/* 80178C88 001748E8  3C 63 00 27 */	addis r3, r3, 0x27
/* 80178C8C 001748EC  38 63 9E C3 */	addi r3, r3, -24893
/* 80178C90 001748F0  90 73 00 A0 */	stw r3, 0xa0(r19)
/* 80178C94 001748F4  54 64 84 3E */	srwi r4, r3, 0x10
/* 80178C98 001748F8  80 BC 00 00 */	lwz r5, 0(r28)
/* 80178C9C 001748FC  7C 64 2B D6 */	divw r3, r4, r5
/* 80178CA0 00174900  7C 63 29 D6 */	mullw r3, r3, r5
/* 80178CA4 00174904  7C C3 20 50 */	subf r6, r3, r4
/* 80178CA8 00174908  48 00 00 58 */	b lbl_80178D00
lbl_80178CAC:
/* 80178CAC 0017490C  54 C3 08 3C */	slwi r3, r6, 1
/* 80178CB0 00174910  7E A4 AB 78 */	mr r4, r21
/* 80178CB4 00174914  7C 7C 1A 14 */	add r3, r28, r3
/* 80178CB8 00174918  39 00 00 00 */	li r8, 0
/* 80178CBC 0017491C  A2 43 00 04 */	lhz r18, 4(r3)
/* 80178CC0 00174920  7C 09 03 A6 */	mtctr r0
lbl_80178CC4:
/* 80178CC4 00174924  A0 64 00 00 */	lhz r3, 0(r4)
/* 80178CC8 00174928  7C 12 18 40 */	cmplw r18, r3
/* 80178CCC 0017492C  40 82 00 10 */	bne lbl_80178CDC
/* 80178CD0 00174930  3A 40 00 00 */	li r18, 0
/* 80178CD4 00174934  39 00 00 01 */	li r8, 1
/* 80178CD8 00174938  48 00 00 0C */	b lbl_80178CE4
lbl_80178CDC:
/* 80178CDC 0017493C  38 84 00 02 */	addi r4, r4, 2
/* 80178CE0 00174940  42 00 FF E4 */	bdnz lbl_80178CC4
lbl_80178CE4:
/* 80178CE4 00174944  2C 08 00 00 */	cmpwi r8, 0
/* 80178CE8 00174948  41 82 00 20 */	beq lbl_80178D08
/* 80178CEC 0017494C  38 C6 00 01 */	addi r6, r6, 1
/* 80178CF0 00174950  7C 06 28 00 */	cmpw r6, r5
/* 80178CF4 00174954  41 80 00 08 */	blt lbl_80178CFC
/* 80178CF8 00174958  38 C0 00 00 */	li r6, 0
lbl_80178CFC:
/* 80178CFC 0017495C  38 E7 00 01 */	addi r7, r7, 1
lbl_80178D00:
/* 80178D00 00174960  7C 07 28 00 */	cmpw r7, r5
/* 80178D04 00174964  41 80 FF A8 */	blt lbl_80178CAC
lbl_80178D08:
/* 80178D08 00174968  2C 12 00 00 */	cmpwi r18, 0
/* 80178D0C 0017496C  41 82 00 0C */	beq lbl_80178D18
/* 80178D10 00174970  28 12 01 D3 */	cmplwi r18, 0x1d3
/* 80178D14 00174974  40 81 00 08 */	ble lbl_80178D1C
lbl_80178D18:
/* 80178D18 00174978  3A 40 00 00 */	li r18, 0
lbl_80178D1C:
/* 80178D1C 0017497C  7F 83 E3 78 */	mr r3, r28
/* 80178D20 00174980  48 06 1D 99 */	bl __dl__FPv
/* 80178D24 00174984  39 61 00 70 */	addi r11, r1, 0x70
/* 80178D28 00174988  7E 43 93 78 */	mr r3, r18
/* 80178D2C 0017498C  48 04 E4 25 */	bl _restgpr_18
/* 80178D30 00174990  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80178D34 00174994  7C 08 03 A6 */	mtlr r0
/* 80178D38 00174998  38 21 00 70 */	addi r1, r1, 0x70
/* 80178D3C 0017499C  4E 80 00 20 */	blr

.global func_80178D40
func_80178D40:
/* 80178D40 001749A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80178D44 001749A4  7C 08 02 A6 */	mflr r0
/* 80178D48 001749A8  38 60 00 00 */	li r3, 0
/* 80178D4C 001749AC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80178D50 001749B0  A0 04 00 06 */	lhz r0, 6(r4)
/* 80178D54 001749B4  90 61 00 08 */	stw r3, 8(r1)
/* 80178D58 001749B8  2C 00 01 9C */	cmpwi r0, 0x19c
/* 80178D5C 001749BC  41 82 00 60 */	beq lbl_80178DBC
/* 80178D60 001749C0  40 80 00 1C */	bge lbl_80178D7C
/* 80178D64 001749C4  2C 00 01 82 */	cmpwi r0, 0x182
/* 80178D68 001749C8  41 82 00 80 */	beq lbl_80178DE8
/* 80178D6C 001749CC  40 80 00 84 */	bge lbl_80178DF0
/* 80178D70 001749D0  2C 00 00 C9 */	cmpwi r0, 0xc9
/* 80178D74 001749D4  41 82 00 1C */	beq lbl_80178D90
/* 80178D78 001749D8  48 00 00 78 */	b lbl_80178DF0
lbl_80178D7C:
/* 80178D7C 001749DC  2C 00 01 A8 */	cmpwi r0, 0x1a8
/* 80178D80 001749E0  40 80 00 70 */	bge lbl_80178DF0
/* 80178D84 001749E4  2C 00 01 A6 */	cmpwi r0, 0x1a6
/* 80178D88 001749E8  40 80 00 54 */	bge lbl_80178DDC
/* 80178D8C 001749EC  48 00 00 64 */	b lbl_80178DF0
lbl_80178D90:
/* 80178D90 001749F0  3C 60 24 92 */	lis r3, 0x24924925@ha
/* 80178D94 001749F4  38 03 49 25 */	addi r0, r3, 0x24924925@l
/* 80178D98 001749F8  7C 60 28 16 */	mulhwu r3, r0, r5
/* 80178D9C 001749FC  7C 03 28 50 */	subf r0, r3, r5
/* 80178DA0 00174A00  54 00 F8 7E */	srwi r0, r0, 1
/* 80178DA4 00174A04  7C 00 1A 14 */	add r0, r0, r3
/* 80178DA8 00174A08  54 00 E1 3E */	srwi r0, r0, 4
/* 80178DAC 00174A0C  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 80178DB0 00174A10  7C 00 28 50 */	subf r0, r0, r5
/* 80178DB4 00174A14  90 01 00 08 */	stw r0, 8(r1)
/* 80178DB8 00174A18  48 00 00 38 */	b lbl_80178DF0
lbl_80178DBC:
/* 80178DBC 00174A1C  3C 60 AA AB */	lis r3, 0xAAAAAAAB@ha
/* 80178DC0 00174A20  38 03 AA AB */	addi r0, r3, 0xAAAAAAAB@l
/* 80178DC4 00174A24  7C 00 28 16 */	mulhwu r0, r0, r5
/* 80178DC8 00174A28  54 00 F8 7E */	srwi r0, r0, 1
/* 80178DCC 00174A2C  1C 00 00 03 */	mulli r0, r0, 3
/* 80178DD0 00174A30  7C 00 28 50 */	subf r0, r0, r5
/* 80178DD4 00174A34  90 01 00 08 */	stw r0, 8(r1)
/* 80178DD8 00174A38  48 00 00 18 */	b lbl_80178DF0
lbl_80178DDC:
/* 80178DDC 00174A3C  54 A0 07 FE */	clrlwi r0, r5, 0x1f
/* 80178DE0 00174A40  90 01 00 08 */	stw r0, 8(r1)
/* 80178DE4 00174A44  48 00 00 0C */	b lbl_80178DF0
lbl_80178DE8:
/* 80178DE8 00174A48  54 A0 07 BE */	clrlwi r0, r5, 0x1e
/* 80178DEC 00174A4C  90 01 00 08 */	stw r0, 8(r1)
lbl_80178DF0:
/* 80178DF0 00174A50  7C C3 33 78 */	mr r3, r6
/* 80178DF4 00174A54  38 A1 00 08 */	addi r5, r1, 8
/* 80178DF8 00174A58  38 80 00 70 */	li r4, 0x70
/* 80178DFC 00174A5C  48 26 27 29 */	bl func_803DB524
/* 80178E00 00174A60  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80178E04 00174A64  7C 08 03 A6 */	mtlr r0
/* 80178E08 00174A68  38 21 00 10 */	addi r1, r1, 0x10
/* 80178E0C 00174A6C  4E 80 00 20 */	blr

.global func_80178E10
func_80178E10:
/* 80178E10 00174A70  94 21 FF 20 */	stwu r1, -0xe0(r1)
/* 80178E14 00174A74  7C 08 02 A6 */	mflr r0
/* 80178E18 00174A78  90 01 00 E4 */	stw r0, 0xe4(r1)
/* 80178E1C 00174A7C  39 61 00 E0 */	addi r11, r1, 0xe0
/* 80178E20 00174A80  48 04 E2 D5 */	bl __save_gpr
/* 80178E24 00174A84  81 03 00 10 */	lwz r8, 0x10(r3)
/* 80178E28 00174A88  3F E0 80 40 */	lis r31, lbl_803FC4D8@ha
/* 80178E2C 00174A8C  7C 78 1B 78 */	mr r24, r3
/* 80178E30 00174A90  7C 99 23 78 */	mr r25, r4
/* 80178E34 00174A94  2C 08 00 08 */	cmpwi r8, 8
/* 80178E38 00174A98  7C BA 2B 78 */	mr r26, r5
/* 80178E3C 00174A9C  7C DB 33 78 */	mr r27, r6
/* 80178E40 00174AA0  7C FC 3B 78 */	mr r28, r7
/* 80178E44 00174AA4  3B FF C4 D8 */	addi r31, r31, lbl_803FC4D8@l
/* 80178E48 00174AA8  40 80 00 18 */	bge lbl_80178E60
/* 80178E4C 00174AAC  55 00 18 38 */	slwi r0, r8, 3
/* 80178E50 00174AB0  3C 60 80 42 */	lis r3, lbl_80420FB0@ha
/* 80178E54 00174AB4  7C 08 00 50 */	subf r0, r8, r0
/* 80178E58 00174AB8  38 63 0F B0 */	addi r3, r3, lbl_80420FB0@l
/* 80178E5C 00174ABC  7F A3 02 14 */	add r29, r3, r0
lbl_80178E60:
/* 80178E60 00174AC0  38 60 00 00 */	li r3, 0
/* 80178E64 00174AC4  48 26 14 09 */	bl func_803DA26C
/* 80178E68 00174AC8  A0 9A 00 02 */	lhz r4, 2(r26)
/* 80178E6C 00174ACC  7C 7E 1B 78 */	mr r30, r3
/* 80178E70 00174AD0  54 80 06 B5 */	rlwinm. r0, r4, 0, 0x1a, 0x1a
/* 80178E74 00174AD4  41 82 00 0C */	beq lbl_80178E80
/* 80178E78 00174AD8  39 00 FF FF */	li r8, -1
/* 80178E7C 00174ADC  48 00 00 08 */	b lbl_80178E84
lbl_80178E80:
/* 80178E80 00174AE0  89 1A 00 0D */	lbz r8, 0xd(r26)
lbl_80178E84:
/* 80178E84 00174AE4  54 80 06 F7 */	rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 80178E88 00174AE8  41 82 00 0C */	beq lbl_80178E94
/* 80178E8C 00174AEC  38 E0 FF FF */	li r7, -1
/* 80178E90 00174AF0  48 00 00 08 */	b lbl_80178E98
lbl_80178E94:
/* 80178E94 00174AF4  88 FA 00 0C */	lbz r7, 0xc(r26)
lbl_80178E98:
/* 80178E98 00174AF8  54 80 07 7B */	rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 80178E9C 00174AFC  41 82 00 0C */	beq lbl_80178EA8
/* 80178EA0 00174B00  38 C0 FF FF */	li r6, -1
/* 80178EA4 00174B04  48 00 00 08 */	b lbl_80178EAC
lbl_80178EA8:
/* 80178EA8 00174B08  88 DA 00 0B */	lbz r6, 0xb(r26)
lbl_80178EAC:
/* 80178EAC 00174B0C  54 85 CF FE */	rlwinm r5, r4, 0x19, 0x1f, 0x1f
/* 80178EB0 00174B10  A0 7A 00 06 */	lhz r3, 6(r26)
/* 80178EB4 00174B14  80 9B 00 28 */	lwz r4, 0x28(r27)
/* 80178EB8 00174B18  38 A5 FF FF */	addi r5, r5, -1
/* 80178EBC 00174B1C  4B FF F0 CD */	bl func_80177F88
/* 80178EC0 00174B20  7C 6E 1B 78 */	mr r14, r3
/* 80178EC4 00174B24  A0 9A 00 06 */	lhz r4, 6(r26)
/* 80178EC8 00174B28  81 5B 00 28 */	lwz r10, 0x28(r27)
/* 80178ECC 00174B2C  7F C3 F3 78 */	mr r3, r30
/* 80178ED0 00174B30  7D C8 73 78 */	mr r8, r14
/* 80178ED4 00174B34  38 A0 00 64 */	li r5, 0x64
/* 80178ED8 00174B38  38 C0 00 20 */	li r6, 0x20
/* 80178EDC 00174B3C  38 E0 00 01 */	li r7, 1
/* 80178EE0 00174B40  39 20 00 01 */	li r9, 1
/* 80178EE4 00174B44  48 26 14 C5 */	bl func_803DA3A8
/* 80178EE8 00174B48  88 1A 00 0D */	lbz r0, 0xd(r26)
/* 80178EEC 00174B4C  7F C3 F3 78 */	mr r3, r30
/* 80178EF0 00174B50  38 A1 00 0C */	addi r5, r1, 0xc
/* 80178EF4 00174B54  38 80 00 70 */	li r4, 0x70
/* 80178EF8 00174B58  90 01 00 0C */	stw r0, 0xc(r1)
/* 80178EFC 00174B5C  48 26 26 29 */	bl func_803DB524
/* 80178F00 00174B60  A0 1A 00 02 */	lhz r0, 2(r26)
/* 80178F04 00174B64  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 80178F08 00174B68  41 82 00 18 */	beq lbl_80178F20
/* 80178F0C 00174B6C  7F 03 C3 78 */	mr r3, r24
/* 80178F10 00174B70  7F 44 D3 78 */	mr r4, r26
/* 80178F14 00174B74  7D C5 73 78 */	mr r5, r14
/* 80178F18 00174B78  7F C6 F3 78 */	mr r6, r30
/* 80178F1C 00174B7C  4B FF FE 25 */	bl func_80178D40
lbl_80178F20:
/* 80178F20 00174B80  38 00 00 04 */	li r0, 4
/* 80178F24 00174B84  7F C3 F3 78 */	mr r3, r30
/* 80178F28 00174B88  90 01 00 0C */	stw r0, 0xc(r1)
/* 80178F2C 00174B8C  38 A1 00 0C */	addi r5, r1, 0xc
/* 80178F30 00174B90  38 80 00 9A */	li r4, 0x9a
/* 80178F34 00174B94  48 26 25 F1 */	bl func_803DB524
/* 80178F38 00174B98  A0 7A 00 06 */	lhz r3, 6(r26)
/* 80178F3C 00174B9C  38 80 00 18 */	li r4, 0x18
/* 80178F40 00174BA0  48 26 29 FD */	bl func_803DB93C
/* 80178F44 00174BA4  90 61 00 0C */	stw r3, 0xc(r1)
/* 80178F48 00174BA8  38 80 00 19 */	li r4, 0x19
/* 80178F4C 00174BAC  A0 7A 00 06 */	lhz r3, 6(r26)
/* 80178F50 00174BB0  48 26 29 ED */	bl func_803DB93C
/* 80178F54 00174BB4  2C 03 00 00 */	cmpwi r3, 0
/* 80178F58 00174BB8  41 82 00 14 */	beq lbl_80178F6C
/* 80178F5C 00174BBC  A0 1A 00 02 */	lhz r0, 2(r26)
/* 80178F60 00174BC0  54 00 05 29 */	rlwinm. r0, r0, 0, 0x14, 0x14
/* 80178F64 00174BC4  41 82 00 08 */	beq lbl_80178F6C
/* 80178F68 00174BC8  90 61 00 0C */	stw r3, 0xc(r1)
lbl_80178F6C:
/* 80178F6C 00174BCC  7F C3 F3 78 */	mr r3, r30
/* 80178F70 00174BD0  38 A1 00 0C */	addi r5, r1, 0xc
/* 80178F74 00174BD4  38 80 00 0A */	li r4, 0xa
/* 80178F78 00174BD8  48 26 25 AD */	bl func_803DB524
/* 80178F7C 00174BDC  38 00 00 FF */	li r0, 0xff
/* 80178F80 00174BE0  7F C3 F3 78 */	mr r3, r30
/* 80178F84 00174BE4  90 01 00 0C */	stw r0, 0xc(r1)
/* 80178F88 00174BE8  38 A1 00 0C */	addi r5, r1, 0xc
/* 80178F8C 00174BEC  38 80 00 09 */	li r4, 9
/* 80178F90 00174BF0  48 26 25 95 */	bl func_803DB524
/* 80178F94 00174BF4  38 61 00 10 */	addi r3, r1, 0x10
/* 80178F98 00174BF8  38 80 00 00 */	li r4, 0
/* 80178F9C 00174BFC  38 A0 00 08 */	li r5, 8
/* 80178FA0 00174C00  4B E8 B1 65 */	bl memset
/* 80178FA4 00174C04  A0 BA 00 20 */	lhz r5, 0x20(r26)
/* 80178FA8 00174C08  38 81 00 10 */	addi r4, r1, 0x10
/* 80178FAC 00174C0C  38 C0 00 00 */	li r6, 0
/* 80178FB0 00174C10  38 60 00 00 */	li r3, 0
/* 80178FB4 00174C14  2C 05 00 00 */	cmpwi r5, 0
/* 80178FB8 00174C18  41 82 00 18 */	beq lbl_80178FD0
/* 80178FBC 00174C1C  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 80178FC0 00174C20  40 82 00 10 */	bne lbl_80178FD0
/* 80178FC4 00174C24  B0 A1 00 10 */	sth r5, 0x10(r1)
/* 80178FC8 00174C28  38 C0 00 01 */	li r6, 1
/* 80178FCC 00174C2C  38 60 00 02 */	li r3, 2
lbl_80178FD0:
/* 80178FD0 00174C30  A0 BA 00 22 */	lhz r5, 0x22(r26)
/* 80178FD4 00174C34  2C 05 00 00 */	cmpwi r5, 0
/* 80178FD8 00174C38  41 82 00 20 */	beq lbl_80178FF8
/* 80178FDC 00174C3C  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 80178FE0 00174C40  40 82 00 18 */	bne lbl_80178FF8
/* 80178FE4 00174C44  38 C6 00 01 */	addi r6, r6, 1
/* 80178FE8 00174C48  7C A4 1B 2E */	sthx r5, r4, r3
/* 80178FEC 00174C4C  2C 06 00 04 */	cmpwi r6, 4
/* 80178FF0 00174C50  38 63 00 02 */	addi r3, r3, 2
/* 80178FF4 00174C54  41 82 00 4C */	beq lbl_80179040
lbl_80178FF8:
/* 80178FF8 00174C58  A0 BA 00 24 */	lhz r5, 0x24(r26)
/* 80178FFC 00174C5C  2C 05 00 00 */	cmpwi r5, 0
/* 80179000 00174C60  41 82 00 20 */	beq lbl_80179020
/* 80179004 00174C64  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 80179008 00174C68  40 82 00 18 */	bne lbl_80179020
/* 8017900C 00174C6C  38 C6 00 01 */	addi r6, r6, 1
/* 80179010 00174C70  7C A4 1B 2E */	sthx r5, r4, r3
/* 80179014 00174C74  2C 06 00 04 */	cmpwi r6, 4
/* 80179018 00174C78  38 63 00 02 */	addi r3, r3, 2
/* 8017901C 00174C7C  41 82 00 24 */	beq lbl_80179040
lbl_80179020:
/* 80179020 00174C80  A0 BA 00 26 */	lhz r5, 0x26(r26)
/* 80179024 00174C84  2C 05 00 00 */	cmpwi r5, 0
/* 80179028 00174C88  41 82 00 18 */	beq lbl_80179040
/* 8017902C 00174C8C  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 80179030 00174C90  40 82 00 10 */	bne lbl_80179040
/* 80179034 00174C94  38 C6 00 01 */	addi r6, r6, 1
/* 80179038 00174C98  7C A4 1B 2E */	sthx r5, r4, r3
/* 8017903C 00174C9C  2C 06 00 04 */	cmpwi r6, 4
lbl_80179040:
/* 80179040 00174CA0  A0 BA 00 20 */	lhz r5, 0x20(r26)
/* 80179044 00174CA4  38 81 00 10 */	addi r4, r1, 0x10
/* 80179048 00174CA8  54 C3 08 3C */	slwi r3, r6, 1
/* 8017904C 00174CAC  2C 05 00 00 */	cmpwi r5, 0
/* 80179050 00174CB0  41 82 00 20 */	beq lbl_80179070
/* 80179054 00174CB4  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 80179058 00174CB8  41 82 00 18 */	beq lbl_80179070
/* 8017905C 00174CBC  38 C6 00 01 */	addi r6, r6, 1
/* 80179060 00174CC0  7C A4 1B 2E */	sthx r5, r4, r3
/* 80179064 00174CC4  2C 06 00 04 */	cmpwi r6, 4
/* 80179068 00174CC8  38 63 00 02 */	addi r3, r3, 2
/* 8017906C 00174CCC  41 82 00 74 */	beq lbl_801790E0
lbl_80179070:
/* 80179070 00174CD0  A0 BA 00 22 */	lhz r5, 0x22(r26)
/* 80179074 00174CD4  2C 05 00 00 */	cmpwi r5, 0
/* 80179078 00174CD8  41 82 00 20 */	beq lbl_80179098
/* 8017907C 00174CDC  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 80179080 00174CE0  41 82 00 18 */	beq lbl_80179098
/* 80179084 00174CE4  38 C6 00 01 */	addi r6, r6, 1
/* 80179088 00174CE8  7C A4 1B 2E */	sthx r5, r4, r3
/* 8017908C 00174CEC  2C 06 00 04 */	cmpwi r6, 4
/* 80179090 00174CF0  38 63 00 02 */	addi r3, r3, 2
/* 80179094 00174CF4  41 82 00 4C */	beq lbl_801790E0
lbl_80179098:
/* 80179098 00174CF8  A0 BA 00 24 */	lhz r5, 0x24(r26)
/* 8017909C 00174CFC  2C 05 00 00 */	cmpwi r5, 0
/* 801790A0 00174D00  41 82 00 20 */	beq lbl_801790C0
/* 801790A4 00174D04  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 801790A8 00174D08  41 82 00 18 */	beq lbl_801790C0
/* 801790AC 00174D0C  38 C6 00 01 */	addi r6, r6, 1
/* 801790B0 00174D10  7C A4 1B 2E */	sthx r5, r4, r3
/* 801790B4 00174D14  2C 06 00 04 */	cmpwi r6, 4
/* 801790B8 00174D18  38 63 00 02 */	addi r3, r3, 2
/* 801790BC 00174D1C  41 82 00 24 */	beq lbl_801790E0
lbl_801790C0:
/* 801790C0 00174D20  A0 BA 00 26 */	lhz r5, 0x26(r26)
/* 801790C4 00174D24  2C 05 00 00 */	cmpwi r5, 0
/* 801790C8 00174D28  41 82 00 18 */	beq lbl_801790E0
/* 801790CC 00174D2C  54 A0 04 21 */	rlwinm. r0, r5, 0, 0x10, 0x10
/* 801790D0 00174D30  41 82 00 10 */	beq lbl_801790E0
/* 801790D4 00174D34  38 C6 00 01 */	addi r6, r6, 1
/* 801790D8 00174D38  7C A4 1B 2E */	sthx r5, r4, r3
/* 801790DC 00174D3C  2C 06 00 04 */	cmpwi r6, 4
lbl_801790E0:
/* 801790E0 00174D40  38 61 00 18 */	addi r3, r1, 0x18
/* 801790E4 00174D44  38 80 00 00 */	li r4, 0
/* 801790E8 00174D48  38 A0 00 08 */	li r5, 8
/* 801790EC 00174D4C  4B E8 B0 19 */	bl memset
/* 801790F0 00174D50  39 C0 00 00 */	li r14, 0
lbl_801790F4:
/* 801790F4 00174D54  7F C3 F3 78 */	mr r3, r30
/* 801790F8 00174D58  55 C5 06 3E */	clrlwi r5, r14, 0x18
/* 801790FC 00174D5C  38 80 00 00 */	li r4, 0
/* 80179100 00174D60  48 26 34 95 */	bl func_803DC594
/* 80179104 00174D64  39 CE 00 01 */	addi r14, r14, 1
/* 80179108 00174D68  2C 0E 00 04 */	cmpwi r14, 4
/* 8017910C 00174D6C  41 80 FF E8 */	blt lbl_801790F4
/* 80179110 00174D70  3A 01 00 10 */	addi r16, r1, 0x10
/* 80179114 00174D74  3A 21 00 18 */	addi r17, r1, 0x18
/* 80179118 00174D78  39 C0 00 00 */	li r14, 0
/* 8017911C 00174D7C  3A 40 00 00 */	li r18, 0
lbl_80179120:
/* 80179120 00174D80  A0 F0 00 00 */	lhz r7, 0(r16)
/* 80179124 00174D84  28 07 01 D3 */	cmplwi r7, 0x1d3
/* 80179128 00174D88  41 81 00 2C */	bgt lbl_80179154
/* 8017912C 00174D8C  55 C0 0D FC */	rlwinm r0, r14, 1, 0x17, 0x1e
/* 80179130 00174D90  2C 07 00 00 */	cmpwi r7, 0
/* 80179134 00174D94  7C F1 03 2E */	sthx r7, r17, r0
/* 80179138 00174D98  41 82 00 64 */	beq lbl_8017919C
/* 8017913C 00174D9C  7F C3 F3 78 */	mr r3, r30
/* 80179140 00174DA0  7C E4 3B 78 */	mr r4, r7
/* 80179144 00174DA4  55 C5 06 3E */	clrlwi r5, r14, 0x18
/* 80179148 00174DA8  48 26 34 4D */	bl func_803DC594
/* 8017914C 00174DAC  39 CE 00 01 */	addi r14, r14, 1
/* 80179150 00174DB0  48 00 00 4C */	b lbl_8017919C
lbl_80179154:
/* 80179154 00174DB4  54 E0 04 21 */	rlwinm. r0, r7, 0, 0x10, 0x10
/* 80179158 00174DB8  41 82 00 44 */	beq lbl_8017919C
/* 8017915C 00174DBC  54 E0 E7 FE */	rlwinm r0, r7, 0x1c, 0x1f, 0x1f
/* 80179160 00174DC0  88 BA 00 0E */	lbz r5, 0xe(r26)
/* 80179164 00174DC4  7F 03 C3 78 */	mr r3, r24
/* 80179168 00174DC8  7F C4 F3 78 */	mr r4, r30
/* 8017916C 00174DCC  55 CF 0D FC */	rlwinm r15, r14, 1, 0x17, 0x1e
/* 80179170 00174DD0  38 C1 00 18 */	addi r6, r1, 0x18
/* 80179174 00174DD4  54 E7 07 3E */	clrlwi r7, r7, 0x1c
/* 80179178 00174DD8  68 08 00 01 */	xori r8, r0, 1
/* 8017917C 00174DDC  4B FF F8 85 */	bl func_80178A00
/* 80179180 00174DE0  54 64 04 3F */	clrlwi. r4, r3, 0x10
/* 80179184 00174DE4  7C 71 7B 2E */	sthx r3, r17, r15
/* 80179188 00174DE8  41 82 00 14 */	beq lbl_8017919C
/* 8017918C 00174DEC  7F C3 F3 78 */	mr r3, r30
/* 80179190 00174DF0  55 C5 06 3E */	clrlwi r5, r14, 0x18
/* 80179194 00174DF4  48 26 34 01 */	bl func_803DC594
/* 80179198 00174DF8  39 CE 00 01 */	addi r14, r14, 1
lbl_8017919C:
/* 8017919C 00174DFC  3A 52 00 01 */	addi r18, r18, 1
/* 801791A0 00174E00  3A 10 00 02 */	addi r16, r16, 2
/* 801791A4 00174E04  2C 12 00 04 */	cmpwi r18, 4
/* 801791A8 00174E08  41 80 FF 78 */	blt lbl_80179120
/* 801791AC 00174E0C  55 C0 06 3F */	clrlwi. r0, r14, 0x18
/* 801791B0 00174E10  40 82 00 4C */	bne lbl_801791FC
/* 801791B4 00174E14  3D E0 80 64 */	lis r15, lbl_8063CE34@ha
/* 801791B8 00174E18  A0 9A 00 06 */	lhz r4, 6(r26)
/* 801791BC 00174E1C  39 EF CE 34 */	addi r15, r15, lbl_8063CE34@l
/* 801791C0 00174E20  38 A0 00 00 */	li r5, 0
/* 801791C4 00174E24  38 6F 00 48 */	addi r3, r15, 0x48
/* 801791C8 00174E28  48 21 96 B1 */	bl func_80392878
/* 801791CC 00174E2C  55 C0 0D FC */	rlwinm r0, r14, 1, 0x17, 0x1e
/* 801791D0 00174E30  38 81 00 18 */	addi r4, r1, 0x18
/* 801791D4 00174E34  7C 64 03 2E */	sthx r3, r4, r0
/* 801791D8 00174E38  38 6F 00 48 */	addi r3, r15, 0x48
/* 801791DC 00174E3C  A0 9A 00 06 */	lhz r4, 6(r26)
/* 801791E0 00174E40  38 A0 00 00 */	li r5, 0
/* 801791E4 00174E44  48 21 96 95 */	bl func_80392878
/* 801791E8 00174E48  7C 60 1B 78 */	mr r0, r3
/* 801791EC 00174E4C  7F C3 F3 78 */	mr r3, r30
/* 801791F0 00174E50  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 801791F4 00174E54  55 C5 06 3E */	clrlwi r5, r14, 0x18
/* 801791F8 00174E58  48 26 33 9D */	bl func_803DC594
lbl_801791FC:
/* 801791FC 00174E5C  A0 1A 00 02 */	lhz r0, 2(r26)
/* 80179200 00174E60  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 80179204 00174E64  41 82 01 6C */	beq lbl_80179370
/* 80179208 00174E68  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 8017920C 00174E6C  80 98 00 A0 */	lwz r4, 0xa0(r24)
/* 80179210 00174E70  38 03 43 FD */	addi r0, r3, 0x000343FD@l
/* 80179214 00174E74  7C 64 01 D6 */	mullw r3, r4, r0
/* 80179218 00174E78  3C 63 00 27 */	addis r3, r3, 0x27
/* 8017921C 00174E7C  38 83 9E C3 */	addi r4, r3, -24893
/* 80179220 00174E80  7C 64 01 D6 */	mullw r3, r4, r0
/* 80179224 00174E84  90 98 00 A0 */	stw r4, 0xa0(r24)
/* 80179228 00174E88  54 94 84 3E */	srwi r20, r4, 0x10
/* 8017922C 00174E8C  8A DD 00 02 */	lbz r22, 2(r29)
/* 80179230 00174E90  8A BD 00 01 */	lbz r21, 1(r29)
/* 80179234 00174E94  3C 63 00 27 */	addis r3, r3, 0x27
/* 80179238 00174E98  38 83 9E C3 */	addi r4, r3, -24893
/* 8017923C 00174E9C  7C 64 01 D6 */	mullw r3, r4, r0
/* 80179240 00174EA0  90 98 00 A0 */	stw r4, 0xa0(r24)
/* 80179244 00174EA4  54 90 84 3E */	srwi r16, r4, 0x10
/* 80179248 00174EA8  89 7D 00 02 */	lbz r11, 2(r29)
/* 8017924C 00174EAC  89 9D 00 01 */	lbz r12, 1(r29)
/* 80179250 00174EB0  3C 63 00 27 */	addis r3, r3, 0x27
/* 80179254 00174EB4  38 83 9E C3 */	addi r4, r3, -24893
/* 80179258 00174EB8  7C 64 01 D6 */	mullw r3, r4, r0
/* 8017925C 00174EBC  90 98 00 A0 */	stw r4, 0xa0(r24)
/* 80179260 00174EC0  54 91 84 3E */	srwi r17, r4, 0x10
/* 80179264 00174EC4  89 1D 00 02 */	lbz r8, 2(r29)
/* 80179268 00174EC8  89 3D 00 01 */	lbz r9, 1(r29)
/* 8017926C 00174ECC  3C 63 00 27 */	addis r3, r3, 0x27
/* 80179270 00174ED0  38 83 9E C3 */	addi r4, r3, -24893
/* 80179274 00174ED4  7C 64 01 D6 */	mullw r3, r4, r0
/* 80179278 00174ED8  90 98 00 A0 */	stw r4, 0xa0(r24)
/* 8017927C 00174EDC  54 92 84 3E */	srwi r18, r4, 0x10
/* 80179280 00174EE0  88 BD 00 02 */	lbz r5, 2(r29)
/* 80179284 00174EE4  88 DD 00 01 */	lbz r6, 1(r29)
/* 80179288 00174EE8  3C 63 00 27 */	addis r3, r3, 0x27
/* 8017928C 00174EEC  38 83 9E C3 */	addi r4, r3, -24893
/* 80179290 00174EF0  90 98 00 A0 */	stw r4, 0xa0(r24)
/* 80179294 00174EF4  7C 64 01 D6 */	mullw r3, r4, r0
/* 80179298 00174EF8  54 93 84 3E */	srwi r19, r4, 0x10
/* 8017929C 00174EFC  88 9D 00 02 */	lbz r4, 2(r29)
/* 801792A0 00174F00  88 1D 00 01 */	lbz r0, 1(r29)
/* 801792A4 00174F04  7D F3 23 D6 */	divw r15, r19, r4
/* 801792A8 00174F08  90 01 00 90 */	stw r0, 0x90(r1)
/* 801792AC 00174F0C  3C 63 00 27 */	addis r3, r3, 0x27
/* 801792B0 00174F10  38 03 9E C3 */	addi r0, r3, -24893
/* 801792B4 00174F14  90 18 00 A0 */	stw r0, 0xa0(r24)
/* 801792B8 00174F18  54 03 84 3E */	srwi r3, r0, 0x10
/* 801792BC 00174F1C  7D 50 5B D6 */	divw r10, r16, r11
/* 801792C0 00174F20  88 FD 00 01 */	lbz r7, 1(r29)
/* 801792C4 00174F24  88 1D 00 02 */	lbz r0, 2(r29)
/* 801792C8 00174F28  90 E1 00 88 */	stw r7, 0x88(r1)
/* 801792CC 00174F2C  91 E1 00 84 */	stw r15, 0x84(r1)
/* 801792D0 00174F30  7C F1 43 D6 */	divw r7, r17, r8
/* 801792D4 00174F34  7D E3 03 D6 */	divw r15, r3, r0
/* 801792D8 00174F38  7D D2 2B D6 */	divw r14, r18, r5
/* 801792DC 00174F3C  91 E1 00 8C */	stw r15, 0x8c(r1)
/* 801792E0 00174F40  7E F4 B3 D6 */	divw r23, r20, r22
/* 801792E4 00174F44  7D 4A 59 D6 */	mullw r10, r10, r11
/* 801792E8 00174F48  7D 07 41 D6 */	mullw r8, r7, r8
/* 801792EC 00174F4C  7C EA 80 50 */	subf r7, r10, r16
/* 801792F0 00174F50  54 EA 06 3E */	clrlwi r10, r7, 0x18
/* 801792F4 00174F54  7C EE 29 D6 */	mullw r7, r14, r5
/* 801792F8 00174F58  7D 4C 52 14 */	add r10, r12, r10
/* 801792FC 00174F5C  7C A8 88 50 */	subf r5, r8, r17
/* 80179300 00174F60  99 41 00 21 */	stb r10, 0x21(r1)
/* 80179304 00174F64  54 A8 06 3E */	clrlwi r8, r5, 0x18
/* 80179308 00174F68  80 A1 00 84 */	lwz r5, 0x84(r1)
/* 8017930C 00174F6C  7C A5 21 D6 */	mullw r5, r5, r4
/* 80179310 00174F70  7C 87 90 50 */	subf r4, r7, r18
/* 80179314 00174F74  7D 09 42 14 */	add r8, r9, r8
/* 80179318 00174F78  54 87 06 3E */	clrlwi r7, r4, 0x18
/* 8017931C 00174F7C  80 81 00 8C */	lwz r4, 0x8c(r1)
/* 80179320 00174F80  99 01 00 22 */	stb r8, 0x22(r1)
/* 80179324 00174F84  7C 04 01 D6 */	mullw r0, r4, r0
/* 80179328 00174F88  7C 85 98 50 */	subf r4, r5, r19
/* 8017932C 00174F8C  7C A6 3A 14 */	add r5, r6, r7
/* 80179330 00174F90  54 84 06 3E */	clrlwi r4, r4, 0x18
/* 80179334 00174F94  98 A1 00 23 */	stb r5, 0x23(r1)
/* 80179338 00174F98  7D F7 B1 D6 */	mullw r15, r23, r22
/* 8017933C 00174F9C  7C 00 18 50 */	subf r0, r0, r3
/* 80179340 00174FA0  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 80179344 00174FA4  80 01 00 90 */	lwz r0, 0x90(r1)
/* 80179348 00174FA8  7C 80 22 14 */	add r4, r0, r4
/* 8017934C 00174FAC  80 01 00 88 */	lwz r0, 0x88(r1)
/* 80179350 00174FB0  7D 6F A0 50 */	subf r11, r15, r20
/* 80179354 00174FB4  98 81 00 24 */	stb r4, 0x24(r1)
/* 80179358 00174FB8  55 6B 06 3E */	clrlwi r11, r11, 0x18
/* 8017935C 00174FBC  7C 00 1A 14 */	add r0, r0, r3
/* 80179360 00174FC0  7D 75 5A 14 */	add r11, r21, r11
/* 80179364 00174FC4  98 01 00 25 */	stb r0, 0x25(r1)
/* 80179368 00174FC8  99 61 00 20 */	stb r11, 0x20(r1)
/* 8017936C 00174FCC  48 00 00 34 */	b lbl_801793A0
lbl_80179370:
/* 80179370 00174FD0  88 FA 00 10 */	lbz r7, 0x10(r26)
/* 80179374 00174FD4  88 DA 00 11 */	lbz r6, 0x11(r26)
/* 80179378 00174FD8  88 BA 00 12 */	lbz r5, 0x12(r26)
/* 8017937C 00174FDC  88 9A 00 13 */	lbz r4, 0x13(r26)
/* 80179380 00174FE0  88 7A 00 14 */	lbz r3, 0x14(r26)
/* 80179384 00174FE4  88 1A 00 15 */	lbz r0, 0x15(r26)
/* 80179388 00174FE8  98 E1 00 20 */	stb r7, 0x20(r1)
/* 8017938C 00174FEC  98 C1 00 21 */	stb r6, 0x21(r1)
/* 80179390 00174FF0  98 A1 00 22 */	stb r5, 0x22(r1)
/* 80179394 00174FF4  98 81 00 23 */	stb r4, 0x23(r1)
/* 80179398 00174FF8  98 61 00 24 */	stb r3, 0x24(r1)
/* 8017939C 00174FFC  98 01 00 25 */	stb r0, 0x25(r1)
lbl_801793A0:
/* 801793A0 00175000  39 C1 00 20 */	addi r14, r1, 0x20
/* 801793A4 00175004  39 FF 01 20 */	addi r15, r31, 0x120
/* 801793A8 00175008  3A 00 00 00 */	li r16, 0
lbl_801793AC:
/* 801793AC 0017500C  88 0E 00 00 */	lbz r0, 0(r14)
/* 801793B0 00175010  7F C3 F3 78 */	mr r3, r30
/* 801793B4 00175014  A0 8F 00 00 */	lhz r4, 0(r15)
/* 801793B8 00175018  38 A1 00 0C */	addi r5, r1, 0xc
/* 801793BC 0017501C  90 01 00 0C */	stw r0, 0xc(r1)
/* 801793C0 00175020  48 26 21 65 */	bl func_803DB524
/* 801793C4 00175024  3A 10 00 01 */	addi r16, r16, 1
/* 801793C8 00175028  39 EF 00 02 */	addi r15, r15, 2
/* 801793CC 0017502C  2C 10 00 06 */	cmpwi r16, 6
/* 801793D0 00175030  39 CE 00 01 */	addi r14, r14, 1
/* 801793D4 00175034  41 80 FF D8 */	blt lbl_801793AC
/* 801793D8 00175038  A0 1A 00 02 */	lhz r0, 2(r26)
/* 801793DC 0017503C  38 60 00 00 */	li r3, 0
/* 801793E0 00175040  90 61 00 08 */	stw r3, 8(r1)
/* 801793E4 00175044  54 00 A7 7E */	rlwinm r0, r0, 0x14, 0x1d, 0x1f
/* 801793E8 00175048  2C 00 00 02 */	cmpwi r0, 2
/* 801793EC 0017504C  41 82 00 30 */	beq lbl_8017941C
/* 801793F0 00175050  40 80 00 14 */	bge lbl_80179404
/* 801793F4 00175054  2C 00 00 00 */	cmpwi r0, 0
/* 801793F8 00175058  41 82 01 54 */	beq lbl_8017954C
/* 801793FC 0017505C  40 80 00 14 */	bge lbl_80179410
/* 80179400 00175060  48 00 01 4C */	b lbl_8017954C
lbl_80179404:
/* 80179404 00175064  2C 00 00 05 */	cmpwi r0, 5
/* 80179408 00175068  40 80 01 44 */	bge lbl_8017954C
/* 8017940C 0017506C  48 00 00 B8 */	b lbl_801794C4
lbl_80179410:
/* 80179410 00175070  A0 1A 00 28 */	lhz r0, 0x28(r26)
/* 80179414 00175074  90 01 00 08 */	stw r0, 8(r1)
/* 80179418 00175078  48 00 01 34 */	b lbl_8017954C
lbl_8017941C:
/* 8017941C 0017507C  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 80179420 00175080  80 98 00 A0 */	lwz r4, 0xa0(r24)
/* 80179424 00175084  38 03 43 FD */	addi r0, r3, 0x000343FD@l
/* 80179428 00175088  7C 64 01 D6 */	mullw r3, r4, r0
/* 8017942C 0017508C  3C 63 00 27 */	addis r3, r3, 0x27
/* 80179430 00175090  38 03 9E C3 */	addi r0, r3, -24893
/* 80179434 00175094  54 03 8F 7C */	rlwinm r3, r0, 0x11, 0x1d, 0x1e
/* 80179438 00175098  90 18 00 A0 */	stw r0, 0xa0(r24)
/* 8017943C 0017509C  7C 7A 1A 14 */	add r3, r26, r3
/* 80179440 001750A0  54 04 87 BE */	rlwinm r4, r0, 0x10, 0x1e, 0x1f
/* 80179444 001750A4  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 80179448 001750A8  2C 00 00 00 */	cmpwi r0, 0
/* 8017944C 001750AC  41 82 00 0C */	beq lbl_80179458
/* 80179450 001750B0  90 01 00 08 */	stw r0, 8(r1)
/* 80179454 001750B4  48 00 00 F8 */	b lbl_8017954C
lbl_80179458:
/* 80179458 001750B8  38 84 00 01 */	addi r4, r4, 1
/* 8017945C 001750BC  54 84 07 BE */	clrlwi r4, r4, 0x1e
/* 80179460 001750C0  54 83 08 3C */	slwi r3, r4, 1
/* 80179464 001750C4  7C 7A 1A 14 */	add r3, r26, r3
/* 80179468 001750C8  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 8017946C 001750CC  2C 00 00 00 */	cmpwi r0, 0
/* 80179470 001750D0  41 82 00 0C */	beq lbl_8017947C
/* 80179474 001750D4  90 01 00 08 */	stw r0, 8(r1)
/* 80179478 001750D8  48 00 00 D4 */	b lbl_8017954C
lbl_8017947C:
/* 8017947C 001750DC  38 84 00 01 */	addi r4, r4, 1
/* 80179480 001750E0  54 84 07 BE */	clrlwi r4, r4, 0x1e
/* 80179484 001750E4  54 83 08 3C */	slwi r3, r4, 1
/* 80179488 001750E8  7C 7A 1A 14 */	add r3, r26, r3
/* 8017948C 001750EC  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 80179490 001750F0  2C 00 00 00 */	cmpwi r0, 0
/* 80179494 001750F4  41 82 00 0C */	beq lbl_801794A0
/* 80179498 001750F8  90 01 00 08 */	stw r0, 8(r1)
/* 8017949C 001750FC  48 00 00 B0 */	b lbl_8017954C
lbl_801794A0:
/* 801794A0 00175100  38 84 00 01 */	addi r4, r4, 1
/* 801794A4 00175104  54 83 0F 7C */	rlwinm r3, r4, 1, 0x1d, 0x1e
/* 801794A8 00175108  7C 7A 1A 14 */	add r3, r26, r3
/* 801794AC 0017510C  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 801794B0 00175110  2C 00 00 00 */	cmpwi r0, 0
/* 801794B4 00175114  41 82 00 98 */	beq lbl_8017954C
/* 801794B8 00175118  90 01 00 08 */	stw r0, 8(r1)
/* 801794BC 0017511C  48 00 00 90 */	b lbl_8017954C
/* 801794C0 00175120  48 00 00 8C */	b lbl_8017954C
lbl_801794C4:
/* 801794C4 00175124  2C 00 00 03 */	cmpwi r0, 3
/* 801794C8 00175128  40 82 00 20 */	bne lbl_801794E8
/* 801794CC 0017512C  80 98 00 60 */	lwz r4, 0x60(r24)
/* 801794D0 00175130  3C 60 80 42 */	lis r3, lbl_80420FB0@ha
/* 801794D4 00175134  38 63 0F B0 */	addi r3, r3, lbl_80420FB0@l
/* 801794D8 00175138  88 84 00 5D */	lbz r4, 0x5d(r4)
/* 801794DC 0017513C  54 80 18 38 */	slwi r0, r4, 3
/* 801794E0 00175140  7C 04 00 50 */	subf r0, r4, r0
/* 801794E4 00175144  7F A3 02 14 */	add r29, r3, r0
lbl_801794E8:
/* 801794E8 00175148  A0 1A 00 28 */	lhz r0, 0x28(r26)
/* 801794EC 0017514C  38 60 00 00 */	li r3, 0
/* 801794F0 00175150  2C 00 00 00 */	cmpwi r0, 0
/* 801794F4 00175154  41 82 00 08 */	beq lbl_801794FC
/* 801794F8 00175158  38 60 00 01 */	li r3, 1
lbl_801794FC:
/* 801794FC 0017515C  A0 1A 00 2A */	lhz r0, 0x2a(r26)
/* 80179500 00175160  2C 00 00 00 */	cmpwi r0, 0
/* 80179504 00175164  41 82 00 08 */	beq lbl_8017950C
/* 80179508 00175168  38 63 00 01 */	addi r3, r3, 1
lbl_8017950C:
/* 8017950C 0017516C  A0 1A 00 2C */	lhz r0, 0x2c(r26)
/* 80179510 00175170  2C 00 00 00 */	cmpwi r0, 0
/* 80179514 00175174  41 82 00 08 */	beq lbl_8017951C
/* 80179518 00175178  38 63 00 01 */	addi r3, r3, 1
lbl_8017951C:
/* 8017951C 0017517C  A0 1A 00 2E */	lhz r0, 0x2e(r26)
/* 80179520 00175180  2C 00 00 00 */	cmpwi r0, 0
/* 80179524 00175184  41 82 00 08 */	beq lbl_8017952C
/* 80179528 00175188  38 63 00 01 */	addi r3, r3, 1
lbl_8017952C:
/* 8017952C 0017518C  2C 03 00 00 */	cmpwi r3, 0
/* 80179530 00175190  41 82 00 1C */	beq lbl_8017954C
/* 80179534 00175194  7C 63 EA 14 */	add r3, r3, r29
/* 80179538 00175198  88 03 00 02 */	lbz r0, 2(r3)
/* 8017953C 0017519C  54 00 08 3C */	slwi r0, r0, 1
/* 80179540 001751A0  7C 7A 02 14 */	add r3, r26, r0
/* 80179544 001751A4  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 80179548 001751A8  90 01 00 08 */	stw r0, 8(r1)
lbl_8017954C:
/* 8017954C 001751AC  2C 1C 00 00 */	cmpwi r28, 0
/* 80179550 001751B0  40 82 00 18 */	bne lbl_80179568
/* 80179554 001751B4  80 78 00 60 */	lwz r3, 0x60(r24)
/* 80179558 001751B8  A0 03 00 84 */	lhz r0, 0x84(r3)
/* 8017955C 001751BC  2C 00 00 00 */	cmpwi r0, 0
/* 80179560 001751C0  41 82 00 08 */	beq lbl_80179568
/* 80179564 001751C4  90 01 00 08 */	stw r0, 8(r1)
lbl_80179568:
/* 80179568 001751C8  2C 1C 00 01 */	cmpwi r28, 1
/* 8017956C 001751CC  40 82 00 18 */	bne lbl_80179584
/* 80179570 001751D0  80 78 00 60 */	lwz r3, 0x60(r24)
/* 80179574 001751D4  A0 03 00 86 */	lhz r0, 0x86(r3)
/* 80179578 001751D8  2C 00 00 00 */	cmpwi r0, 0
/* 8017957C 001751DC  41 82 00 08 */	beq lbl_80179584
/* 80179580 001751E0  90 01 00 08 */	stw r0, 8(r1)
lbl_80179584:
/* 80179584 001751E4  80 01 00 08 */	lwz r0, 8(r1)
/* 80179588 001751E8  2C 00 00 00 */	cmpwi r0, 0
/* 8017958C 001751EC  41 82 00 14 */	beq lbl_801795A0
/* 80179590 001751F0  7F C3 F3 78 */	mr r3, r30
/* 80179594 001751F4  38 A1 00 08 */	addi r5, r1, 8
/* 80179598 001751F8  38 80 00 06 */	li r4, 6
/* 8017959C 001751FC  48 26 1F 89 */	bl func_803DB524
lbl_801795A0:
/* 801795A0 00175200  38 61 00 28 */	addi r3, r1, 0x28
/* 801795A4 00175204  38 80 00 00 */	li r4, 0
/* 801795A8 00175208  38 A0 00 06 */	li r5, 6
/* 801795AC 0017520C  4B E8 AB 59 */	bl memset
/* 801795B0 00175210  88 1B 00 0C */	lbz r0, 0xc(r27)
/* 801795B4 00175214  38 80 00 00 */	li r4, 0
/* 801795B8 00175218  38 A0 00 00 */	li r5, 0
/* 801795BC 0017521C  2C 00 00 00 */	cmpwi r0, 0
/* 801795C0 00175220  41 82 00 0C */	beq lbl_801795CC
/* 801795C4 00175224  A0 DA 00 16 */	lhz r6, 0x16(r26)
/* 801795C8 00175228  48 00 00 14 */	b lbl_801795DC
lbl_801795CC:
/* 801795CC 0017522C  80 1B 00 10 */	lwz r0, 0x10(r27)
/* 801795D0 00175230  38 7F 01 40 */	addi r3, r31, 0x140
/* 801795D4 00175234  54 00 08 3C */	slwi r0, r0, 1
/* 801795D8 00175238  7C C3 02 2E */	lhzx r6, r3, r0
lbl_801795DC:
/* 801795DC 0017523C  88 1A 00 18 */	lbz r0, 0x18(r26)
/* 801795E0 00175240  28 00 00 02 */	cmplwi r0, 2
/* 801795E4 00175244  40 82 00 08 */	bne lbl_801795EC
/* 801795E8 00175248  38 80 00 01 */	li r4, 1
lbl_801795EC:
/* 801795EC 0017524C  28 00 00 01 */	cmplwi r0, 1
/* 801795F0 00175250  40 82 00 08 */	bne lbl_801795F8
/* 801795F4 00175254  38 A0 00 01 */	li r5, 1
lbl_801795F8:
/* 801795F8 00175258  88 1A 00 19 */	lbz r0, 0x19(r26)
/* 801795FC 0017525C  28 00 00 02 */	cmplwi r0, 2
/* 80179600 00175260  40 82 00 08 */	bne lbl_80179608
/* 80179604 00175264  38 84 00 01 */	addi r4, r4, 1
lbl_80179608:
/* 80179608 00175268  28 00 00 01 */	cmplwi r0, 1
/* 8017960C 0017526C  40 82 00 08 */	bne lbl_80179614
/* 80179610 00175270  38 A5 00 01 */	addi r5, r5, 1
lbl_80179614:
/* 80179614 00175274  88 1A 00 1A */	lbz r0, 0x1a(r26)
/* 80179618 00175278  28 00 00 02 */	cmplwi r0, 2
/* 8017961C 0017527C  40 82 00 08 */	bne lbl_80179624
/* 80179620 00175280  38 84 00 01 */	addi r4, r4, 1
lbl_80179624:
/* 80179624 00175284  28 00 00 01 */	cmplwi r0, 1
/* 80179628 00175288  40 82 00 08 */	bne lbl_80179630
/* 8017962C 0017528C  38 A5 00 01 */	addi r5, r5, 1
lbl_80179630:
/* 80179630 00175290  88 1A 00 1B */	lbz r0, 0x1b(r26)
/* 80179634 00175294  28 00 00 02 */	cmplwi r0, 2
/* 80179638 00175298  40 82 00 08 */	bne lbl_80179640
/* 8017963C 0017529C  38 84 00 01 */	addi r4, r4, 1
lbl_80179640:
/* 80179640 001752A0  28 00 00 01 */	cmplwi r0, 1
/* 80179644 001752A4  40 82 00 08 */	bne lbl_8017964C
/* 80179648 001752A8  38 A5 00 01 */	addi r5, r5, 1
lbl_8017964C:
/* 8017964C 001752AC  88 1A 00 1C */	lbz r0, 0x1c(r26)
/* 80179650 001752B0  28 00 00 02 */	cmplwi r0, 2
/* 80179654 001752B4  40 82 00 08 */	bne lbl_8017965C
/* 80179658 001752B8  38 84 00 01 */	addi r4, r4, 1
lbl_8017965C:
/* 8017965C 001752BC  28 00 00 01 */	cmplwi r0, 1
/* 80179660 001752C0  40 82 00 08 */	bne lbl_80179668
/* 80179664 001752C4  38 A5 00 01 */	addi r5, r5, 1
lbl_80179668:
/* 80179668 001752C8  88 1A 00 1D */	lbz r0, 0x1d(r26)
/* 8017966C 001752CC  28 00 00 02 */	cmplwi r0, 2
/* 80179670 001752D0  40 82 00 08 */	bne lbl_80179678
/* 80179674 001752D4  38 84 00 01 */	addi r4, r4, 1
lbl_80179678:
/* 80179678 001752D8  28 00 00 01 */	cmplwi r0, 1
/* 8017967C 001752DC  40 82 00 08 */	bne lbl_80179684
/* 80179680 001752E0  38 A5 00 01 */	addi r5, r5, 1
lbl_80179684:
/* 80179684 001752E4  A0 1A 00 02 */	lhz r0, 2(r26)
/* 80179688 001752E8  54 00 07 BE */	clrlwi r0, r0, 0x1e
/* 8017968C 001752EC  2C 00 00 01 */	cmpwi r0, 1
/* 80179690 001752F0  41 82 00 B0 */	beq lbl_80179740
/* 80179694 001752F4  40 80 00 10 */	bge lbl_801796A4
/* 80179698 001752F8  2C 00 00 00 */	cmpwi r0, 0
/* 8017969C 001752FC  40 80 00 14 */	bge lbl_801796B0
/* 801796A0 00175300  48 00 01 54 */	b lbl_801797F4
lbl_801796A4:
/* 801796A4 00175304  2C 00 00 03 */	cmpwi r0, 3
/* 801796A8 00175308  40 80 01 4C */	bge lbl_801797F4
/* 801796AC 0017530C  48 00 01 18 */	b lbl_801797C4
lbl_801796B0:
/* 801796B0 00175310  2C 04 00 00 */	cmpwi r4, 0
/* 801796B4 00175314  41 82 00 8C */	beq lbl_80179740
/* 801796B8 00175318  7C 66 23 D6 */	divw r3, r6, r4
/* 801796BC 0017531C  2C 03 00 FC */	cmpwi r3, 0xfc
/* 801796C0 00175320  40 81 00 08 */	ble lbl_801796C8
/* 801796C4 00175324  38 60 00 FC */	li r3, 0xfc
lbl_801796C8:
/* 801796C8 00175328  88 1A 00 18 */	lbz r0, 0x18(r26)
/* 801796CC 0017532C  28 00 00 02 */	cmplwi r0, 2
/* 801796D0 00175330  40 82 00 0C */	bne lbl_801796DC
/* 801796D4 00175334  98 61 00 28 */	stb r3, 0x28(r1)
/* 801796D8 00175338  7C C3 30 50 */	subf r6, r3, r6
lbl_801796DC:
/* 801796DC 0017533C  88 1A 00 19 */	lbz r0, 0x19(r26)
/* 801796E0 00175340  28 00 00 02 */	cmplwi r0, 2
/* 801796E4 00175344  40 82 00 0C */	bne lbl_801796F0
/* 801796E8 00175348  98 61 00 29 */	stb r3, 0x29(r1)
/* 801796EC 0017534C  7C C3 30 50 */	subf r6, r3, r6
lbl_801796F0:
/* 801796F0 00175350  88 1A 00 1A */	lbz r0, 0x1a(r26)
/* 801796F4 00175354  28 00 00 02 */	cmplwi r0, 2
/* 801796F8 00175358  40 82 00 0C */	bne lbl_80179704
/* 801796FC 0017535C  98 61 00 2A */	stb r3, 0x2a(r1)
/* 80179700 00175360  7C C3 30 50 */	subf r6, r3, r6
lbl_80179704:
/* 80179704 00175364  88 1A 00 1B */	lbz r0, 0x1b(r26)
/* 80179708 00175368  28 00 00 02 */	cmplwi r0, 2
/* 8017970C 0017536C  40 82 00 0C */	bne lbl_80179718
/* 80179710 00175370  98 61 00 2B */	stb r3, 0x2b(r1)
/* 80179714 00175374  7C C3 30 50 */	subf r6, r3, r6
lbl_80179718:
/* 80179718 00175378  88 1A 00 1C */	lbz r0, 0x1c(r26)
/* 8017971C 0017537C  28 00 00 02 */	cmplwi r0, 2
/* 80179720 00175380  40 82 00 0C */	bne lbl_8017972C
/* 80179724 00175384  98 61 00 2C */	stb r3, 0x2c(r1)
/* 80179728 00175388  7C C3 30 50 */	subf r6, r3, r6
lbl_8017972C:
/* 8017972C 0017538C  88 1A 00 1D */	lbz r0, 0x1d(r26)
/* 80179730 00175390  28 00 00 02 */	cmplwi r0, 2
/* 80179734 00175394  40 82 00 0C */	bne lbl_80179740
/* 80179738 00175398  98 61 00 2D */	stb r3, 0x2d(r1)
/* 8017973C 0017539C  7C C3 30 50 */	subf r6, r3, r6
lbl_80179740:
/* 80179740 001753A0  2C 05 00 00 */	cmpwi r5, 0
/* 80179744 001753A4  41 82 00 B0 */	beq lbl_801797F4
/* 80179748 001753A8  2C 06 00 00 */	cmpwi r6, 0
/* 8017974C 001753AC  41 82 00 A8 */	beq lbl_801797F4
/* 80179750 001753B0  7C 66 2B D6 */	divw r3, r6, r5
/* 80179754 001753B4  2C 03 00 FC */	cmpwi r3, 0xfc
/* 80179758 001753B8  40 81 00 08 */	ble lbl_80179760
/* 8017975C 001753BC  38 60 00 FC */	li r3, 0xfc
lbl_80179760:
/* 80179760 001753C0  88 1A 00 18 */	lbz r0, 0x18(r26)
/* 80179764 001753C4  28 00 00 01 */	cmplwi r0, 1
/* 80179768 001753C8  40 82 00 08 */	bne lbl_80179770
/* 8017976C 001753CC  98 61 00 28 */	stb r3, 0x28(r1)
lbl_80179770:
/* 80179770 001753D0  88 1A 00 19 */	lbz r0, 0x19(r26)
/* 80179774 001753D4  28 00 00 01 */	cmplwi r0, 1
/* 80179778 001753D8  40 82 00 08 */	bne lbl_80179780
/* 8017977C 001753DC  98 61 00 29 */	stb r3, 0x29(r1)
lbl_80179780:
/* 80179780 001753E0  88 1A 00 1A */	lbz r0, 0x1a(r26)
/* 80179784 001753E4  28 00 00 01 */	cmplwi r0, 1
/* 80179788 001753E8  40 82 00 08 */	bne lbl_80179790
/* 8017978C 001753EC  98 61 00 2A */	stb r3, 0x2a(r1)
lbl_80179790:
/* 80179790 001753F0  88 1A 00 1B */	lbz r0, 0x1b(r26)
/* 80179794 001753F4  28 00 00 01 */	cmplwi r0, 1
/* 80179798 001753F8  40 82 00 08 */	bne lbl_801797A0
/* 8017979C 001753FC  98 61 00 2B */	stb r3, 0x2b(r1)
lbl_801797A0:
/* 801797A0 00175400  88 1A 00 1C */	lbz r0, 0x1c(r26)
/* 801797A4 00175404  28 00 00 01 */	cmplwi r0, 1
/* 801797A8 00175408  40 82 00 08 */	bne lbl_801797B0
/* 801797AC 0017540C  98 61 00 2C */	stb r3, 0x2c(r1)
lbl_801797B0:
/* 801797B0 00175410  88 1A 00 1D */	lbz r0, 0x1d(r26)
/* 801797B4 00175414  28 00 00 01 */	cmplwi r0, 1
/* 801797B8 00175418  40 82 00 3C */	bne lbl_801797F4
/* 801797BC 0017541C  98 61 00 2D */	stb r3, 0x2d(r1)
/* 801797C0 00175420  48 00 00 34 */	b lbl_801797F4
lbl_801797C4:
/* 801797C4 00175424  88 FA 00 18 */	lbz r7, 0x18(r26)
/* 801797C8 00175428  88 DA 00 19 */	lbz r6, 0x19(r26)
/* 801797CC 0017542C  88 BA 00 1A */	lbz r5, 0x1a(r26)
/* 801797D0 00175430  88 9A 00 1B */	lbz r4, 0x1b(r26)
/* 801797D4 00175434  88 7A 00 1C */	lbz r3, 0x1c(r26)
/* 801797D8 00175438  88 1A 00 1D */	lbz r0, 0x1d(r26)
/* 801797DC 0017543C  98 E1 00 28 */	stb r7, 0x28(r1)
/* 801797E0 00175440  98 C1 00 29 */	stb r6, 0x29(r1)
/* 801797E4 00175444  98 A1 00 2A */	stb r5, 0x2a(r1)
/* 801797E8 00175448  98 81 00 2B */	stb r4, 0x2b(r1)
/* 801797EC 0017544C  98 61 00 2C */	stb r3, 0x2c(r1)
/* 801797F0 00175450  98 01 00 2D */	stb r0, 0x2d(r1)
lbl_801797F4:
/* 801797F4 00175454  39 C1 00 28 */	addi r14, r1, 0x28
/* 801797F8 00175458  39 FF 01 30 */	addi r15, r31, 0x130
/* 801797FC 0017545C  3A 00 00 00 */	li r16, 0
lbl_80179800:
/* 80179800 00175460  88 0E 00 00 */	lbz r0, 0(r14)
/* 80179804 00175464  7F C3 F3 78 */	mr r3, r30
/* 80179808 00175468  A0 8F 00 00 */	lhz r4, 0(r15)
/* 8017980C 0017546C  38 A1 00 0C */	addi r5, r1, 0xc
/* 80179810 00175470  90 01 00 0C */	stw r0, 0xc(r1)
/* 80179814 00175474  48 26 1D 11 */	bl func_803DB524
/* 80179818 00175478  3A 10 00 01 */	addi r16, r16, 1
/* 8017981C 0017547C  39 EF 00 02 */	addi r15, r15, 2
/* 80179820 00175480  2C 10 00 06 */	cmpwi r16, 6
/* 80179824 00175484  39 CE 00 01 */	addi r14, r14, 1
/* 80179828 00175488  41 80 FF D8 */	blt lbl_80179800
/* 8017982C 0017548C  81 D8 00 6C */	lwz r14, 0x6c(r24)
/* 80179830 00175490  2C 0E 00 00 */	cmpwi r14, 0
/* 80179834 00175494  41 82 00 38 */	beq lbl_8017986C
/* 80179838 00175498  7F C3 F3 78 */	mr r3, r30
/* 8017983C 0017549C  38 80 00 05 */	li r4, 5
/* 80179840 001754A0  38 A0 00 00 */	li r5, 0
/* 80179844 001754A4  48 26 41 99 */	bl func_803DD9DC
/* 80179848 001754A8  7D C4 73 78 */	mr r4, r14
/* 8017984C 001754AC  48 26 22 D1 */	bl func_803DBB1C
/* 80179850 001754B0  90 61 00 0C */	stw r3, 0xc(r1)
/* 80179854 001754B4  7F C3 F3 78 */	mr r3, r30
/* 80179858 001754B8  38 A1 00 0C */	addi r5, r1, 0xc
/* 8017985C 001754BC  38 80 00 08 */	li r4, 8
/* 80179860 001754C0  48 26 1C C5 */	bl func_803DB524
/* 80179864 001754C4  7F C3 F3 78 */	mr r3, r30
/* 80179868 001754C8  48 26 10 11 */	bl func_803DA878
lbl_8017986C:
/* 8017986C 001754CC  7F C3 F3 78 */	mr r3, r30
/* 80179870 001754D0  7F 24 CB 78 */	mr r4, r25
/* 80179874 001754D4  48 26 30 99 */	bl func_803DC90C
/* 80179878 001754D8  48 0F 8F 41 */	bl OSGetTime
/* 8017987C 001754DC  38 A1 00 30 */	addi r5, r1, 0x30
/* 80179880 001754E0  48 0F 91 85 */	bl OSTicksToCalendarTime
/* 80179884 001754E4  80 C1 00 44 */	lwz r6, 0x44(r1)
/* 80179888 001754E8  7F 23 CB 78 */	mr r3, r25
/* 8017988C 001754EC  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 80179890 001754F0  38 80 00 A0 */	li r4, 0xa0
/* 80179894 001754F4  38 E6 F8 30 */	addi r7, r6, -2000
/* 80179898 001754F8  80 A1 00 40 */	lwz r5, 0x40(r1)
/* 8017989C 001754FC  B0 E1 00 58 */	sth r7, 0x58(r1)
/* 801798A0 00175500  38 C5 00 01 */	addi r6, r5, 1
/* 801798A4 00175504  38 A0 00 00 */	li r5, 0
/* 801798A8 00175508  B0 C1 00 5A */	sth r6, 0x5a(r1)
/* 801798AC 0017550C  B0 01 00 5C */	sth r0, 0x5c(r1)
/* 801798B0 00175510  48 26 16 4D */	bl func_803DAEFC
/* 801798B4 00175514  B0 61 00 5E */	sth r3, 0x5e(r1)
/* 801798B8 00175518  38 81 00 64 */	addi r4, r1, 0x64
/* 801798BC 0017551C  38 60 53 16 */	li r3, 0x5316
/* 801798C0 00175520  80 1B 00 28 */	lwz r0, 0x28(r27)
/* 801798C4 00175524  90 01 00 60 */	stw r0, 0x60(r1)
/* 801798C8 00175528  48 0D 6B 11 */	bl func_802503D8
/* 801798CC 0017552C  7F 23 CB 78 */	mr r3, r25
/* 801798D0 00175530  38 81 00 58 */	addi r4, r1, 0x58
/* 801798D4 00175534  4B ED D8 15 */	bl func_800570E8
/* 801798D8 00175538  7F C3 F3 78 */	mr r3, r30
/* 801798DC 0017553C  4B FF 47 C5 */	bl func_8016E0A0
/* 801798E0 00175540  88 79 00 8A */	lbz r3, 0x8a(r25)
/* 801798E4 00175544  38 A0 FF FF */	li r5, -1
/* 801798E8 00175548  88 1A 00 30 */	lbz r0, 0x30(r26)
/* 801798EC 0017554C  38 80 00 00 */	li r4, 0
/* 801798F0 00175550  60 63 00 80 */	ori r3, r3, 0x80
/* 801798F4 00175554  98 B9 00 88 */	stb r5, 0x88(r25)
/* 801798F8 00175558  39 61 00 E0 */	addi r11, r1, 0xe0
/* 801798FC 0017555C  98 99 00 89 */	stb r4, 0x89(r25)
/* 80179900 00175560  98 79 00 8A */	stb r3, 0x8a(r25)
/* 80179904 00175564  98 19 00 8B */	stb r0, 0x8b(r25)
/* 80179908 00175568  48 04 D8 39 */	bl __restore_gpr
/* 8017990C 0017556C  80 01 00 E4 */	lwz r0, 0xe4(r1)
/* 80179910 00175570  7C 08 03 A6 */	mtlr r0
/* 80179914 00175574  38 21 00 E0 */	addi r1, r1, 0xe0
/* 80179918 00175578  4E 80 00 20 */	blr

.global func_8017991C
func_8017991C:
/* 8017991C 0017557C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80179920 00175580  2C 07 00 00 */	cmpwi r7, 0
/* 80179924 00175584  38 60 00 00 */	li r3, 0
/* 80179928 00175588  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8017992C 0017558C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80179930 00175590  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80179934 00175594  40 82 00 0C */	bne lbl_80179940
/* 80179938 00175598  38 60 00 00 */	li r3, 0
/* 8017993C 0017559C  48 00 00 9C */	b lbl_801799D8
lbl_80179940:
/* 80179940 001755A0  54 DE 10 3A */	slwi r30, r6, 2
/* 80179944 001755A4  39 80 00 00 */	li r12, 0
/* 80179948 001755A8  38 00 00 04 */	li r0, 4
/* 8017994C 001755AC  48 00 00 84 */	b lbl_801799D0
lbl_80179950:
/* 80179950 001755B0  81 45 00 08 */	lwz r10, 8(r5)
/* 80179954 001755B4  7D 09 43 78 */	mr r9, r8
/* 80179958 001755B8  3B A0 00 00 */	li r29, 0
/* 8017995C 001755BC  7F EA F0 2E */	lwzx r31, r10, r30
/* 80179960 001755C0  7C 09 03 A6 */	mtctr r0
lbl_80179964:
/* 80179964 001755C4  89 69 00 00 */	lbz r11, 0(r9)
/* 80179968 001755C8  89 5F 00 08 */	lbz r10, 8(r31)
/* 8017996C 001755CC  7C 0A 58 40 */	cmplw r10, r11
/* 80179970 001755D0  41 82 00 18 */	beq lbl_80179988
/* 80179974 001755D4  89 5F 00 09 */	lbz r10, 9(r31)
/* 80179978 001755D8  7C 0A 58 40 */	cmplw r10, r11
/* 8017997C 001755DC  41 82 00 0C */	beq lbl_80179988
/* 80179980 001755E0  28 0B 00 FF */	cmplwi r11, 0xff
/* 80179984 001755E4  40 82 00 38 */	bne lbl_801799BC
lbl_80179988:
/* 80179988 001755E8  99 9F 00 1E */	stb r12, 0x1e(r31)
/* 8017998C 001755EC  9B BF 00 1F */	stb r29, 0x1f(r31)
/* 80179990 001755F0  81 44 00 04 */	lwz r10, 4(r4)
/* 80179994 001755F4  81 24 00 00 */	lwz r9, 0(r4)
/* 80179998 001755F8  7C 0A 48 00 */	cmpw r10, r9
/* 8017999C 001755FC  40 80 00 18 */	bge lbl_801799B4
/* 801799A0 00175600  81 64 00 08 */	lwz r11, 8(r4)
/* 801799A4 00175604  55 49 10 3A */	slwi r9, r10, 2
/* 801799A8 00175608  39 4A 00 01 */	addi r10, r10, 1
/* 801799AC 0017560C  7F EB 49 2E */	stwx r31, r11, r9
/* 801799B0 00175610  91 44 00 04 */	stw r10, 4(r4)
lbl_801799B4:
/* 801799B4 00175614  38 63 00 01 */	addi r3, r3, 1
/* 801799B8 00175618  48 00 00 10 */	b lbl_801799C8
lbl_801799BC:
/* 801799BC 0017561C  3B BD 00 01 */	addi r29, r29, 1
/* 801799C0 00175620  39 29 00 01 */	addi r9, r9, 1
/* 801799C4 00175624  42 00 FF A0 */	bdnz lbl_80179964
lbl_801799C8:
/* 801799C8 00175628  3B DE 00 04 */	addi r30, r30, 4
/* 801799CC 0017562C  38 C6 00 01 */	addi r6, r6, 1
lbl_801799D0:
/* 801799D0 00175630  7C 06 38 00 */	cmpw r6, r7
/* 801799D4 00175634  41 80 FF 7C */	blt lbl_80179950
lbl_801799D8:
/* 801799D8 00175638  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801799DC 0017563C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801799E0 00175640  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801799E4 00175644  38 21 00 20 */	addi r1, r1, 0x20
/* 801799E8 00175648  4E 80 00 20 */	blr

.global func_801799EC
func_801799EC:
/* 801799EC 0017564C  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 801799F0 00175650  7C 08 02 A6 */	mflr r0
/* 801799F4 00175654  90 01 00 64 */	stw r0, 0x64(r1)
/* 801799F8 00175658  39 61 00 60 */	addi r11, r1, 0x60
/* 801799FC 0017565C  48 04 D7 19 */	bl _savegpr_22
/* 80179A00 00175660  83 C3 00 60 */	lwz r30, 0x60(r3)
/* 80179A04 00175664  3B 00 00 00 */	li r24, 0
/* 80179A08 00175668  7C 79 1B 78 */	mr r25, r3
/* 80179A0C 0017566C  7C 9A 23 78 */	mr r26, r4
/* 80179A10 00175670  93 01 00 10 */	stw r24, 0x10(r1)
/* 80179A14 00175674  7C BB 2B 78 */	mr r27, r5
/* 80179A18 00175678  7C DC 33 78 */	mr r28, r6
/* 80179A1C 0017567C  7C FD 3B 78 */	mr r29, r7
/* 80179A20 00175680  93 01 00 0C */	stw r24, 0xc(r1)
/* 80179A24 00175684  3A E1 00 0C */	addi r23, r1, 0xc
/* 80179A28 00175688  3A C0 00 00 */	li r22, 0
/* 80179A2C 0017568C  3B E0 01 F4 */	li r31, 0x1f4
/* 80179A30 00175690  93 01 00 14 */	stw r24, 0x14(r1)
/* 80179A34 00175694  93 01 00 1C */	stw r24, 0x1c(r1)
/* 80179A38 00175698  93 01 00 18 */	stw r24, 0x18(r1)
/* 80179A3C 0017569C  93 01 00 20 */	stw r24, 0x20(r1)
/* 80179A40 001756A0  93 01 00 28 */	stw r24, 0x28(r1)
/* 80179A44 001756A4  93 01 00 24 */	stw r24, 0x24(r1)
/* 80179A48 001756A8  93 01 00 2C */	stw r24, 0x2c(r1)
lbl_80179A4C:
/* 80179A4C 001756AC  93 17 00 04 */	stw r24, 4(r23)
/* 80179A50 001756B0  38 60 07 D0 */	li r3, 0x7d0
/* 80179A54 001756B4  93 F7 00 00 */	stw r31, 0(r23)
/* 80179A58 001756B8  48 06 10 1D */	bl __nwa__FUl
/* 80179A5C 001756BC  3A D6 00 01 */	addi r22, r22, 1
/* 80179A60 001756C0  90 77 00 08 */	stw r3, 8(r23)
/* 80179A64 001756C4  2C 16 00 03 */	cmpwi r22, 3
/* 80179A68 001756C8  3A F7 00 0C */	addi r23, r23, 0xc
/* 80179A6C 001756CC  41 80 FF E0 */	blt lbl_80179A4C
/* 80179A70 001756D0  3B E0 00 01 */	li r31, 1
/* 80179A74 001756D4  48 00 01 00 */	b lbl_80179B74
lbl_80179A78:
/* 80179A78 001756D8  7F 23 CB 78 */	mr r3, r25
/* 80179A7C 001756DC  7F 64 DB 78 */	mr r4, r27
/* 80179A80 001756E0  7F 45 D3 78 */	mr r5, r26
/* 80179A84 001756E4  4B FF E1 A1 */	bl func_80177C24
/* 80179A88 001756E8  2C 03 00 00 */	cmpwi r3, 0
/* 80179A8C 001756EC  41 82 00 E4 */	beq lbl_80179B70
/* 80179A90 001756F0  A0 7B 00 04 */	lhz r3, 4(r27)
/* 80179A94 001756F4  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 80179A98 001756F8  7C 03 00 00 */	cmpw r3, r0
/* 80179A9C 001756FC  41 81 00 D4 */	bgt lbl_80179B70
/* 80179AA0 00175700  80 79 00 14 */	lwz r3, 0x14(r25)
/* 80179AA4 00175704  2C 03 00 01 */	cmpwi r3, 1
/* 80179AA8 00175708  40 82 00 10 */	bne lbl_80179AB8
/* 80179AAC 0017570C  A0 1B 00 02 */	lhz r0, 2(r27)
/* 80179AB0 00175710  54 00 05 EF */	rlwinm. r0, r0, 0, 0x17, 0x17
/* 80179AB4 00175714  41 82 00 BC */	beq lbl_80179B70
lbl_80179AB8:
/* 80179AB8 00175718  2C 03 00 02 */	cmpwi r3, 2
/* 80179ABC 0017571C  40 82 00 10 */	bne lbl_80179ACC
/* 80179AC0 00175720  A0 1B 00 02 */	lhz r0, 2(r27)
/* 80179AC4 00175724  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 80179AC8 00175728  41 82 00 A8 */	beq lbl_80179B70
lbl_80179ACC:
/* 80179ACC 0017572C  2C 03 00 06 */	cmpwi r3, 6
/* 80179AD0 00175730  40 82 00 10 */	bne lbl_80179AE0
/* 80179AD4 00175734  A0 1B 00 02 */	lhz r0, 2(r27)
/* 80179AD8 00175738  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 80179ADC 0017573C  41 82 00 94 */	beq lbl_80179B70
lbl_80179AE0:
/* 80179AE0 00175740  88 1B 00 0F */	lbz r0, 0xf(r27)
/* 80179AE4 00175744  7F E3 00 30 */	slw r3, r31, r0
/* 80179AE8 00175748  54 60 07 3F */	clrlwi. r0, r3, 0x1c
/* 80179AEC 0017574C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 80179AF0 00175750  41 82 00 2C */	beq lbl_80179B1C
/* 80179AF4 00175754  80 61 00 10 */	lwz r3, 0x10(r1)
/* 80179AF8 00175758  80 01 00 0C */	lwz r0, 0xc(r1)
/* 80179AFC 0017575C  7C 03 00 00 */	cmpw r3, r0
/* 80179B00 00175760  40 80 00 70 */	bge lbl_80179B70
/* 80179B04 00175764  80 81 00 14 */	lwz r4, 0x14(r1)
/* 80179B08 00175768  54 60 10 3A */	slwi r0, r3, 2
/* 80179B0C 0017576C  38 63 00 01 */	addi r3, r3, 1
/* 80179B10 00175770  7F 64 01 2E */	stwx r27, r4, r0
/* 80179B14 00175774  90 61 00 10 */	stw r3, 0x10(r1)
/* 80179B18 00175778  48 00 00 58 */	b lbl_80179B70
lbl_80179B1C:
/* 80179B1C 0017577C  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80179B20 00175780  41 82 00 2C */	beq lbl_80179B4C
/* 80179B24 00175784  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80179B28 00175788  80 01 00 18 */	lwz r0, 0x18(r1)
/* 80179B2C 0017578C  7C 03 00 00 */	cmpw r3, r0
/* 80179B30 00175790  40 80 00 40 */	bge lbl_80179B70
/* 80179B34 00175794  80 81 00 20 */	lwz r4, 0x20(r1)
/* 80179B38 00175798  54 60 10 3A */	slwi r0, r3, 2
/* 80179B3C 0017579C  38 63 00 01 */	addi r3, r3, 1
/* 80179B40 001757A0  7F 64 01 2E */	stwx r27, r4, r0
/* 80179B44 001757A4  90 61 00 1C */	stw r3, 0x1c(r1)
/* 80179B48 001757A8  48 00 00 28 */	b lbl_80179B70
lbl_80179B4C:
/* 80179B4C 001757AC  80 61 00 28 */	lwz r3, 0x28(r1)
/* 80179B50 001757B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80179B54 001757B4  7C 03 00 00 */	cmpw r3, r0
/* 80179B58 001757B8  40 80 00 18 */	bge lbl_80179B70
/* 80179B5C 001757BC  80 81 00 2C */	lwz r4, 0x2c(r1)
/* 80179B60 001757C0  54 60 10 3A */	slwi r0, r3, 2
/* 80179B64 001757C4  38 63 00 01 */	addi r3, r3, 1
/* 80179B68 001757C8  7F 64 01 2E */	stwx r27, r4, r0
/* 80179B6C 001757CC  90 61 00 28 */	stw r3, 0x28(r1)
lbl_80179B70:
/* 80179B70 001757D0  3B 7B 00 38 */	addi r27, r27, 0x38
lbl_80179B74:
/* 80179B74 001757D4  7C 1B E0 40 */	cmplw r27, r28
/* 80179B78 001757D8  40 82 FF 00 */	bne lbl_80179A78
/* 80179B7C 001757DC  38 61 00 08 */	addi r3, r1, 8
/* 80179B80 001757E0  38 9E 00 60 */	addi r4, r30, 0x60
/* 80179B84 001757E4  38 A0 00 04 */	li r5, 4
/* 80179B88 001757E8  4B E8 A4 79 */	bl memcpy
/* 80179B8C 001757EC  80 19 00 68 */	lwz r0, 0x68(r25)
/* 80179B90 001757F0  2C 00 00 04 */	cmpwi r0, 4
/* 80179B94 001757F4  41 82 00 14 */	beq lbl_80179BA8
/* 80179B98 001757F8  40 80 00 28 */	bge lbl_80179BC0
/* 80179B9C 001757FC  2C 00 00 03 */	cmpwi r0, 3
/* 80179BA0 00175800  40 80 00 14 */	bge lbl_80179BB4
/* 80179BA4 00175804  48 00 00 1C */	b lbl_80179BC0
lbl_80179BA8:
/* 80179BA8 00175808  38 00 00 FF */	li r0, 0xff
/* 80179BAC 0017580C  98 01 00 09 */	stb r0, 9(r1)
/* 80179BB0 00175810  98 01 00 08 */	stb r0, 8(r1)
lbl_80179BB4:
/* 80179BB4 00175814  38 00 00 FF */	li r0, 0xff
/* 80179BB8 00175818  98 01 00 0B */	stb r0, 0xb(r1)
/* 80179BBC 0017581C  98 01 00 0A */	stb r0, 0xa(r1)
lbl_80179BC0:
/* 80179BC0 00175820  38 00 00 00 */	li r0, 0
/* 80179BC4 00175824  7F 23 CB 78 */	mr r3, r25
/* 80179BC8 00175828  90 1D 00 04 */	stw r0, 4(r29)
/* 80179BCC 0017582C  7F A4 EB 78 */	mr r4, r29
/* 80179BD0 00175830  38 A1 00 0C */	addi r5, r1, 0xc
/* 80179BD4 00175834  39 01 00 08 */	addi r8, r1, 8
/* 80179BD8 00175838  80 E1 00 10 */	lwz r7, 0x10(r1)
/* 80179BDC 0017583C  38 C0 00 00 */	li r6, 0
/* 80179BE0 00175840  4B FF FD 3D */	bl func_8017991C
/* 80179BE4 00175844  80 E1 00 1C */	lwz r7, 0x1c(r1)
/* 80179BE8 00175848  7F 23 CB 78 */	mr r3, r25
/* 80179BEC 0017584C  7F A4 EB 78 */	mr r4, r29
/* 80179BF0 00175850  38 A1 00 18 */	addi r5, r1, 0x18
/* 80179BF4 00175854  39 01 00 08 */	addi r8, r1, 8
/* 80179BF8 00175858  38 C0 00 00 */	li r6, 0
/* 80179BFC 0017585C  4B FF FD 21 */	bl func_8017991C
/* 80179C00 00175860  80 E1 00 28 */	lwz r7, 0x28(r1)
/* 80179C04 00175864  7F 23 CB 78 */	mr r3, r25
/* 80179C08 00175868  7F A4 EB 78 */	mr r4, r29
/* 80179C0C 0017586C  38 A1 00 24 */	addi r5, r1, 0x24
/* 80179C10 00175870  39 01 00 08 */	addi r8, r1, 8
/* 80179C14 00175874  38 C0 00 00 */	li r6, 0
/* 80179C18 00175878  4B FF FD 05 */	bl func_8017991C
/* 80179C1C 0017587C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 80179C20 00175880  2C 03 00 00 */	cmpwi r3, 0
/* 80179C24 00175884  41 82 00 08 */	beq lbl_80179C2C
/* 80179C28 00175888  48 06 0E 95 */	bl __dla__FPv
lbl_80179C2C:
/* 80179C2C 0017588C  80 61 00 20 */	lwz r3, 0x20(r1)
/* 80179C30 00175890  38 00 00 00 */	li r0, 0
/* 80179C34 00175894  90 01 00 2C */	stw r0, 0x2c(r1)
/* 80179C38 00175898  2C 03 00 00 */	cmpwi r3, 0
/* 80179C3C 0017589C  41 82 00 08 */	beq lbl_80179C44
/* 80179C40 001758A0  48 06 0E 7D */	bl __dla__FPv
lbl_80179C44:
/* 80179C44 001758A4  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80179C48 001758A8  38 00 00 00 */	li r0, 0
/* 80179C4C 001758AC  90 01 00 20 */	stw r0, 0x20(r1)
/* 80179C50 001758B0  2C 03 00 00 */	cmpwi r3, 0
/* 80179C54 001758B4  41 82 00 08 */	beq lbl_80179C5C
/* 80179C58 001758B8  48 06 0E 65 */	bl __dla__FPv
lbl_80179C5C:
/* 80179C5C 001758BC  38 00 00 00 */	li r0, 0
/* 80179C60 001758C0  39 61 00 60 */	addi r11, r1, 0x60
/* 80179C64 001758C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80179C68 001758C8  48 04 D4 F9 */	bl _restgpr_22
/* 80179C6C 001758CC  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80179C70 001758D0  7C 08 03 A6 */	mtlr r0
/* 80179C74 001758D4  38 21 00 60 */	addi r1, r1, 0x60
/* 80179C78 001758D8  4E 80 00 20 */	blr

.global func_80179C7C
func_80179C7C:
/* 80179C7C 001758DC  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 80179C80 001758E0  7C 08 02 A6 */	mflr r0
/* 80179C84 001758E4  90 01 00 74 */	stw r0, 0x74(r1)
/* 80179C88 001758E8  39 61 00 70 */	addi r11, r1, 0x70
/* 80179C8C 001758EC  48 04 D4 69 */	bl __save_gpr
/* 80179C90 001758F0  3A E0 00 00 */	li r23, 0
/* 80179C94 001758F4  38 00 01 F4 */	li r0, 0x1f4
/* 80179C98 001758F8  92 E1 00 18 */	stw r23, 0x18(r1)
/* 80179C9C 001758FC  7C 6F 1B 78 */	mr r15, r3
/* 80179CA0 00175900  7C 93 23 78 */	mr r19, r4
/* 80179CA4 00175904  7C B2 2B 78 */	mr r18, r5
/* 80179CA8 00175908  92 E1 00 14 */	stw r23, 0x14(r1)
/* 80179CAC 0017590C  7C D0 33 78 */	mr r16, r6
/* 80179CB0 00175910  7C F1 3B 78 */	mr r17, r7
/* 80179CB4 00175914  39 C0 00 01 */	li r14, 1
/* 80179CB8 00175918  90 01 00 10 */	stw r0, 0x10(r1)
/* 80179CBC 0017591C  38 60 07 D0 */	li r3, 0x7d0
/* 80179CC0 00175920  48 06 0D B5 */	bl __nwa__FUl
/* 80179CC4 00175924  90 61 00 18 */	stw r3, 0x18(r1)
/* 80179CC8 00175928  38 61 00 08 */	addi r3, r1, 8
/* 80179CCC 0017592C  38 80 00 00 */	li r4, 0
/* 80179CD0 00175930  38 A0 00 06 */	li r5, 6
/* 80179CD4 00175934  4B E8 A4 31 */	bl memset
/* 80179CD8 00175938  80 0F 00 10 */	lwz r0, 0x10(r15)
/* 80179CDC 0017593C  7D E3 7B 78 */	mr r3, r15
/* 80179CE0 00175940  7E 65 9B 78 */	mr r5, r19
/* 80179CE4 00175944  7E 46 93 78 */	mr r6, r18
/* 80179CE8 00175948  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 80179CEC 0017594C  38 E1 00 10 */	addi r7, r1, 0x10
/* 80179CF0 00175950  4B FF FC FD */	bl func_801799EC
/* 80179CF4 00175954  3B 80 00 00 */	li r28, 0
/* 80179CF8 00175958  80 0F 00 64 */	lwz r0, 0x64(r15)
/* 80179CFC 0017595C  93 8F 00 BC */	stw r28, 0xbc(r15)
/* 80179D00 00175960  93 8F 00 C8 */	stw r28, 0xc8(r15)
/* 80179D04 00175964  93 8F 00 D4 */	stw r28, 0xd4(r15)
/* 80179D08 00175968  93 8F 00 E0 */	stw r28, 0xe0(r15)
/* 80179D0C 0017596C  83 61 00 14 */	lwz r27, 0x14(r1)
/* 80179D10 00175970  7C 00 D8 00 */	cmpw r0, r27
/* 80179D14 00175974  40 81 00 24 */	ble lbl_80179D38
/* 80179D18 00175978  80 61 00 18 */	lwz r3, 0x18(r1)
/* 80179D1C 0017597C  2C 03 00 00 */	cmpwi r3, 0
/* 80179D20 00175980  41 82 00 08 */	beq lbl_80179D28
/* 80179D24 00175984  48 06 0D 99 */	bl __dla__FPv
lbl_80179D28:
/* 80179D28 00175988  38 00 00 00 */	li r0, 0
/* 80179D2C 0017598C  38 60 00 00 */	li r3, 0
/* 80179D30 00175990  90 01 00 18 */	stw r0, 0x18(r1)
/* 80179D34 00175994  48 00 02 DC */	b lbl_8017A010
lbl_80179D38:
/* 80179D38 00175998  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 80179D3C 0017599C  7D FA 7B 78 */	mr r26, r15
/* 80179D40 001759A0  3B 00 00 00 */	li r24, 0
/* 80179D44 001759A4  3B C0 00 01 */	li r30, 1
/* 80179D48 001759A8  3B A3 43 FD */	addi r29, r3, 0x000343FD@l
lbl_80179D4C:
/* 80179D4C 001759AC  38 A0 00 00 */	li r5, 0
/* 80179D50 001759B0  38 80 00 00 */	li r4, 0
/* 80179D54 001759B4  48 00 00 D4 */	b lbl_80179E28
lbl_80179D58:
/* 80179D58 001759B8  80 61 00 18 */	lwz r3, 0x18(r1)
/* 80179D5C 001759BC  2C 17 00 00 */	cmpwi r23, 0
/* 80179D60 001759C0  7C 63 20 2E */	lwzx r3, r3, r4
/* 80179D64 001759C4  41 82 00 38 */	beq lbl_80179D9C
/* 80179D68 001759C8  7E 06 83 78 */	mr r6, r16
/* 80179D6C 001759CC  38 E0 00 00 */	li r7, 0
/* 80179D70 001759D0  7E E9 03 A6 */	mtctr r23
/* 80179D74 001759D4  40 81 00 20 */	ble lbl_80179D94
lbl_80179D78:
/* 80179D78 001759D8  80 06 00 00 */	lwz r0, 0(r6)
/* 80179D7C 001759DC  7C 00 18 40 */	cmplw r0, r3
/* 80179D80 001759E0  40 82 00 0C */	bne lbl_80179D8C
/* 80179D84 001759E4  38 E0 00 01 */	li r7, 1
/* 80179D88 001759E8  48 00 00 0C */	b lbl_80179D94
lbl_80179D8C:
/* 80179D8C 001759EC  38 C6 00 04 */	addi r6, r6, 4
/* 80179D90 001759F0  42 00 FF E8 */	bdnz lbl_80179D78
lbl_80179D94:
/* 80179D94 001759F4  2C 07 00 00 */	cmpwi r7, 0
/* 80179D98 001759F8  40 82 00 88 */	bne lbl_80179E20
lbl_80179D9C:
/* 80179D9C 001759FC  80 CF 00 68 */	lwz r6, 0x68(r15)
/* 80179DA0 00175A00  88 03 00 0F */	lbz r0, 0xf(r3)
/* 80179DA4 00175A04  2C 06 00 01 */	cmpwi r6, 1
/* 80179DA8 00175A08  7F C0 00 30 */	slw r0, r30, r0
/* 80179DAC 00175A0C  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 80179DB0 00175A10  41 80 00 10 */	blt lbl_80179DC0
/* 80179DB4 00175A14  54 E0 07 3F */	clrlwi. r0, r7, 0x1c
/* 80179DB8 00175A18  41 82 00 08 */	beq lbl_80179DC0
/* 80179DBC 00175A1C  60 E7 00 0F */	ori r7, r7, 0xf
lbl_80179DC0:
/* 80179DC0 00175A20  2C 06 00 02 */	cmpwi r6, 2
/* 80179DC4 00175A24  41 80 00 14 */	blt lbl_80179DD8
/* 80179DC8 00175A28  54 E0 06 B7 */	rlwinm. r0, r7, 0, 0x1a, 0x1b
/* 80179DCC 00175A2C  41 82 00 0C */	beq lbl_80179DD8
/* 80179DD0 00175A30  60 E0 00 30 */	ori r0, r7, 0x30
/* 80179DD4 00175A34  54 07 06 3E */	clrlwi r7, r0, 0x18
lbl_80179DD8:
/* 80179DD8 00175A38  2C 06 00 02 */	cmpwi r6, 2
/* 80179DDC 00175A3C  41 80 00 0C */	blt lbl_80179DE8
/* 80179DE0 00175A40  60 E0 00 3F */	ori r0, r7, 0x3f
/* 80179DE4 00175A44  54 07 06 3E */	clrlwi r7, r0, 0x18
lbl_80179DE8:
/* 80179DE8 00175A48  88 D1 00 01 */	lbz r6, 1(r17)
/* 80179DEC 00175A4C  54 E0 06 3E */	clrlwi r0, r7, 0x18
/* 80179DF0 00175A50  7C C0 00 39 */	and. r0, r6, r0
/* 80179DF4 00175A54  41 82 00 2C */	beq lbl_80179E20
/* 80179DF8 00175A58  9B 83 00 1E */	stb r28, 0x1e(r3)
/* 80179DFC 00175A5C  80 DA 00 BC */	lwz r6, 0xbc(r26)
/* 80179E00 00175A60  80 1A 00 B8 */	lwz r0, 0xb8(r26)
/* 80179E04 00175A64  7C 06 00 00 */	cmpw r6, r0
/* 80179E08 00175A68  40 80 00 18 */	bge lbl_80179E20
/* 80179E0C 00175A6C  80 FA 00 C0 */	lwz r7, 0xc0(r26)
/* 80179E10 00175A70  54 C0 10 3A */	slwi r0, r6, 2
/* 80179E14 00175A74  38 C6 00 01 */	addi r6, r6, 1
/* 80179E18 00175A78  7C 67 01 2E */	stwx r3, r7, r0
/* 80179E1C 00175A7C  90 DA 00 BC */	stw r6, 0xbc(r26)
lbl_80179E20:
/* 80179E20 00175A80  38 84 00 04 */	addi r4, r4, 4
/* 80179E24 00175A84  38 A5 00 01 */	addi r5, r5, 1
lbl_80179E28:
/* 80179E28 00175A88  7C 05 D8 00 */	cmpw r5, r27
/* 80179E2C 00175A8C  41 80 FF 2C */	blt lbl_80179D58
/* 80179E30 00175A90  8A 91 00 00 */	lbz r20, 0(r17)
/* 80179E34 00175A94  80 1A 00 BC */	lwz r0, 0xbc(r26)
/* 80179E38 00175A98  7C 00 A0 00 */	cmpw r0, r20
/* 80179E3C 00175A9C  40 80 00 0C */	bge lbl_80179E48
/* 80179E40 00175AA0  39 C0 00 00 */	li r14, 0
/* 80179E44 00175AA4  48 00 01 B0 */	b lbl_80179FF4
lbl_80179E48:
/* 80179E48 00175AA8  56 FF 10 3A */	slwi r31, r23, 2
/* 80179E4C 00175AAC  3A A0 00 00 */	li r21, 0
/* 80179E50 00175AB0  3B 20 00 00 */	li r25, 0
/* 80179E54 00175AB4  48 00 00 C0 */	b lbl_80179F14
lbl_80179E58:
/* 80179E58 00175AB8  80 0F 00 A0 */	lwz r0, 0xa0(r15)
/* 80179E5C 00175ABC  7C 60 E9 D6 */	mullw r3, r0, r29
/* 80179E60 00175AC0  3C 63 00 27 */	addis r3, r3, 0x27
/* 80179E64 00175AC4  38 03 9E C3 */	addi r0, r3, -24893
/* 80179E68 00175AC8  90 0F 00 A0 */	stw r0, 0xa0(r15)
/* 80179E6C 00175ACC  54 05 84 3E */	srwi r5, r0, 0x10
/* 80179E70 00175AD0  80 9A 00 BC */	lwz r4, 0xbc(r26)
/* 80179E74 00175AD4  80 7A 00 C0 */	lwz r3, 0xc0(r26)
/* 80179E78 00175AD8  7C 05 23 D6 */	divw r0, r5, r4
/* 80179E7C 00175ADC  7C 00 21 D6 */	mullw r0, r0, r4
/* 80179E80 00175AE0  7E 60 28 50 */	subf r19, r0, r5
/* 80179E84 00175AE4  56 60 10 3A */	slwi r0, r19, 2
/* 80179E88 00175AE8  7E C3 00 2E */	lwzx r22, r3, r0
/* 80179E8C 00175AEC  7E 72 9B 78 */	mr r18, r19
/* 80179E90 00175AF0  48 00 00 34 */	b lbl_80179EC4
lbl_80179E94:
/* 80179E94 00175AF4  80 1A 00 BC */	lwz r0, 0xbc(r26)
/* 80179E98 00175AF8  3A 73 00 01 */	addi r19, r19, 1
/* 80179E9C 00175AFC  7C 13 00 00 */	cmpw r19, r0
/* 80179EA0 00175B00  40 82 00 08 */	bne lbl_80179EA8
/* 80179EA4 00175B04  3A 60 00 00 */	li r19, 0
lbl_80179EA8:
/* 80179EA8 00175B08  7C 12 98 00 */	cmpw r18, r19
/* 80179EAC 00175B0C  40 82 00 0C */	bne lbl_80179EB8
/* 80179EB0 00175B10  3A A0 00 01 */	li r21, 1
/* 80179EB4 00175B14  48 00 00 40 */	b lbl_80179EF4
lbl_80179EB8:
/* 80179EB8 00175B18  80 7A 00 C0 */	lwz r3, 0xc0(r26)
/* 80179EBC 00175B1C  56 60 10 3A */	slwi r0, r19, 2
/* 80179EC0 00175B20  7E C3 00 2E */	lwzx r22, r3, r0
lbl_80179EC4:
/* 80179EC4 00175B24  A0 B6 00 06 */	lhz r5, 6(r22)
/* 80179EC8 00175B28  7E 03 83 78 */	mr r3, r16
/* 80179ECC 00175B2C  7E E4 BB 78 */	mr r4, r23
/* 80179ED0 00175B30  4B FF DD E1 */	bl func_80177CB0
/* 80179ED4 00175B34  2C 03 00 00 */	cmpwi r3, 0
/* 80179ED8 00175B38  40 82 FF BC */	bne lbl_80179E94
/* 80179EDC 00175B3C  80 6F 00 60 */	lwz r3, 0x60(r15)
/* 80179EE0 00175B40  7E C4 B3 78 */	mr r4, r22
/* 80179EE4 00175B44  38 A1 00 08 */	addi r5, r1, 8
/* 80179EE8 00175B48  4B FF DD FD */	bl func_80177CE4
/* 80179EEC 00175B4C  2C 03 00 00 */	cmpwi r3, 0
/* 80179EF0 00175B50  41 82 FF A4 */	beq lbl_80179E94
lbl_80179EF4:
/* 80179EF4 00175B54  2C 15 00 00 */	cmpwi r21, 0
/* 80179EF8 00175B58  40 82 00 24 */	bne lbl_80179F1C
/* 80179EFC 00175B5C  7E D0 F9 2E */	stwx r22, r16, r31
/* 80179F00 00175B60  3B FF 00 04 */	addi r31, r31, 4
/* 80179F04 00175B64  3A 94 FF FF */	addi r20, r20, -1
/* 80179F08 00175B68  3B 39 00 01 */	addi r25, r25, 1
/* 80179F0C 00175B6C  9B D6 00 1E */	stb r30, 0x1e(r22)
/* 80179F10 00175B70  3A F7 00 01 */	addi r23, r23, 1
lbl_80179F14:
/* 80179F14 00175B74  7C 14 C8 00 */	cmpw r20, r25
/* 80179F18 00175B78  41 81 FF 40 */	bgt lbl_80179E58
lbl_80179F1C:
/* 80179F1C 00175B7C  56 F6 10 3A */	slwi r22, r23, 2
/* 80179F20 00175B80  3A 40 00 00 */	li r18, 0
/* 80179F24 00175B84  48 00 00 B4 */	b lbl_80179FD8
lbl_80179F28:
/* 80179F28 00175B88  80 0F 00 A0 */	lwz r0, 0xa0(r15)
/* 80179F2C 00175B8C  7C 60 E9 D6 */	mullw r3, r0, r29
/* 80179F30 00175B90  3C 63 00 27 */	addis r3, r3, 0x27
/* 80179F34 00175B94  38 03 9E C3 */	addi r0, r3, -24893
/* 80179F38 00175B98  90 0F 00 A0 */	stw r0, 0xa0(r15)
/* 80179F3C 00175B9C  54 05 84 3E */	srwi r5, r0, 0x10
/* 80179F40 00175BA0  80 9A 00 BC */	lwz r4, 0xbc(r26)
/* 80179F44 00175BA4  80 7A 00 C0 */	lwz r3, 0xc0(r26)
/* 80179F48 00175BA8  7C 05 23 D6 */	divw r0, r5, r4
/* 80179F4C 00175BAC  7C 00 21 D6 */	mullw r0, r0, r4
/* 80179F50 00175BB0  7E 60 28 50 */	subf r19, r0, r5
/* 80179F54 00175BB4  56 60 10 3A */	slwi r0, r19, 2
/* 80179F58 00175BB8  7F 23 00 2E */	lwzx r25, r3, r0
/* 80179F5C 00175BBC  7E 75 9B 78 */	mr r21, r19
/* 80179F60 00175BC0  48 00 00 4C */	b lbl_80179FAC
lbl_80179F64:
/* 80179F64 00175BC4  80 1A 00 BC */	lwz r0, 0xbc(r26)
/* 80179F68 00175BC8  3A 73 00 01 */	addi r19, r19, 1
/* 80179F6C 00175BCC  7C 13 00 00 */	cmpw r19, r0
/* 80179F70 00175BD0  40 82 00 08 */	bne lbl_80179F78
/* 80179F74 00175BD4  3A 60 00 00 */	li r19, 0
lbl_80179F78:
/* 80179F78 00175BD8  7C 15 98 00 */	cmpw r21, r19
/* 80179F7C 00175BDC  40 82 00 24 */	bne lbl_80179FA0
/* 80179F80 00175BE0  80 61 00 18 */	lwz r3, 0x18(r1)
/* 80179F84 00175BE4  2C 03 00 00 */	cmpwi r3, 0
/* 80179F88 00175BE8  41 82 00 08 */	beq lbl_80179F90
/* 80179F8C 00175BEC  48 06 0B 31 */	bl __dla__FPv
lbl_80179F90:
/* 80179F90 00175BF0  38 00 00 00 */	li r0, 0
/* 80179F94 00175BF4  38 60 00 00 */	li r3, 0
/* 80179F98 00175BF8  90 01 00 18 */	stw r0, 0x18(r1)
/* 80179F9C 00175BFC  48 00 00 74 */	b lbl_8017A010
lbl_80179FA0:
/* 80179FA0 00175C00  80 7A 00 C0 */	lwz r3, 0xc0(r26)
/* 80179FA4 00175C04  56 60 10 3A */	slwi r0, r19, 2
/* 80179FA8 00175C08  7F 23 00 2E */	lwzx r25, r3, r0
lbl_80179FAC:
/* 80179FAC 00175C0C  A0 B9 00 06 */	lhz r5, 6(r25)
/* 80179FB0 00175C10  7E 03 83 78 */	mr r3, r16
/* 80179FB4 00175C14  7E E4 BB 78 */	mr r4, r23
/* 80179FB8 00175C18  4B FF DC F9 */	bl func_80177CB0
/* 80179FBC 00175C1C  2C 03 00 00 */	cmpwi r3, 0
/* 80179FC0 00175C20  40 82 FF A4 */	bne lbl_80179F64
/* 80179FC4 00175C24  7F 30 B1 2E */	stwx r25, r16, r22
/* 80179FC8 00175C28  3A 52 00 01 */	addi r18, r18, 1
/* 80179FCC 00175C2C  3A F7 00 01 */	addi r23, r23, 1
/* 80179FD0 00175C30  3A D6 00 04 */	addi r22, r22, 4
/* 80179FD4 00175C34  9B D9 00 1E */	stb r30, 0x1e(r25)
lbl_80179FD8:
/* 80179FD8 00175C38  7C 12 A0 00 */	cmpw r18, r20
/* 80179FDC 00175C3C  41 80 FF 4C */	blt lbl_80179F28
/* 80179FE0 00175C40  3B 18 00 01 */	addi r24, r24, 1
/* 80179FE4 00175C44  3A 31 00 02 */	addi r17, r17, 2
/* 80179FE8 00175C48  2C 18 00 04 */	cmpwi r24, 4
/* 80179FEC 00175C4C  3B 5A 00 0C */	addi r26, r26, 0xc
/* 80179FF0 00175C50  41 80 FD 5C */	blt lbl_80179D4C
lbl_80179FF4:
/* 80179FF4 00175C54  80 61 00 18 */	lwz r3, 0x18(r1)
/* 80179FF8 00175C58  2C 03 00 00 */	cmpwi r3, 0
/* 80179FFC 00175C5C  41 82 00 08 */	beq lbl_8017A004
/* 8017A000 00175C60  48 06 0A BD */	bl __dla__FPv
lbl_8017A004:
/* 8017A004 00175C64  38 00 00 00 */	li r0, 0
/* 8017A008 00175C68  7D C3 73 78 */	mr r3, r14
/* 8017A00C 00175C6C  90 01 00 18 */	stw r0, 0x18(r1)
lbl_8017A010:
/* 8017A010 00175C70  39 61 00 70 */	addi r11, r1, 0x70
/* 8017A014 00175C74  48 04 D1 2D */	bl __restore_gpr
/* 8017A018 00175C78  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8017A01C 00175C7C  7C 08 03 A6 */	mtlr r0
/* 8017A020 00175C80  38 21 00 70 */	addi r1, r1, 0x70
/* 8017A024 00175C84  4E 80 00 20 */	blr

.global func_8017A028
func_8017A028:
/* 8017A028 00175C88  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8017A02C 00175C8C  7C 08 02 A6 */	mflr r0
/* 8017A030 00175C90  90 01 00 54 */	stw r0, 0x54(r1)
/* 8017A034 00175C94  39 61 00 50 */	addi r11, r1, 0x50
/* 8017A038 00175C98  48 04 D0 C5 */	bl _savegpr_16
/* 8017A03C 00175C9C  88 03 00 0C */	lbz r0, 0xc(r3)
/* 8017A040 00175CA0  7C 70 1B 78 */	mr r16, r3
/* 8017A044 00175CA4  7C 97 23 78 */	mr r23, r4
/* 8017A048 00175CA8  7C B1 2B 78 */	mr r17, r5
/* 8017A04C 00175CAC  28 00 00 01 */	cmplwi r0, 1
/* 8017A050 00175CB0  7C D2 33 78 */	mr r18, r6
/* 8017A054 00175CB4  7C F3 3B 78 */	mr r19, r7
/* 8017A058 00175CB8  7D 14 43 78 */	mr r20, r8
/* 8017A05C 00175CBC  7D 35 4B 78 */	mr r21, r9
/* 8017A060 00175CC0  40 82 00 64 */	bne lbl_8017A0C4
/* 8017A064 00175CC4  80 C3 00 60 */	lwz r6, 0x60(r3)
/* 8017A068 00175CC8  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 8017A06C 00175CCC  38 A4 43 FD */	addi r5, r4, 0x000343FD@l
/* 8017A070 00175CD0  80 06 00 0C */	lwz r0, 0xc(r6)
/* 8017A074 00175CD4  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A078 00175CD8  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A07C 00175CDC  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A080 00175CE0  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A084 00175CE4  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A088 00175CE8  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A08C 00175CEC  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A090 00175CF0  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A094 00175CF4  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A098 00175CF8  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A09C 00175CFC  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A0A0 00175D00  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A0A4 00175D04  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A0A8 00175D08  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A0AC 00175D0C  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A0B0 00175D10  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A0B4 00175D14  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A0B8 00175D18  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A0BC 00175D1C  90 03 00 A0 */	stw r0, 0xa0(r3)
/* 8017A0C0 00175D20  48 00 00 3C */	b lbl_8017A0FC
lbl_8017A0C4:
/* 8017A0C4 00175D24  48 0A 97 6D */	bl func_80223830
/* 8017A0C8 00175D28  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 8017A0CC 00175D2C  80 03 00 00 */	lwz r0, 0(r3)
/* 8017A0D0 00175D30  38 A4 43 FD */	addi r5, r4, 0x000343FD@l
/* 8017A0D4 00175D34  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A0D8 00175D38  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A0DC 00175D3C  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A0E0 00175D40  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A0E4 00175D44  54 00 84 3E */	srwi r0, r0, 0x10
/* 8017A0E8 00175D48  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A0EC 00175D4C  38 84 9E C3 */	addi r4, r4, -24893
/* 8017A0F0 00175D50  90 83 00 00 */	stw r4, 0(r3)
/* 8017A0F4 00175D54  50 80 00 1E */	rlwimi r0, r4, 0, 0, 0xf
/* 8017A0F8 00175D58  90 10 00 A0 */	stw r0, 0xa0(r16)
lbl_8017A0FC:
/* 8017A0FC 00175D5C  3B C0 00 00 */	li r30, 0
/* 8017A100 00175D60  3F E0 00 03 */	lis r31, 0x000343FD@ha
/* 8017A104 00175D64  93 D2 00 00 */	stw r30, 0(r18)
/* 8017A108 00175D68  38 1F 43 FD */	addi r0, r31, 0x000343FD@l
/* 8017A10C 00175D6C  3B 57 00 10 */	addi r26, r23, 0x10
/* 8017A110 00175D70  3B 00 00 00 */	li r24, 0
/* 8017A114 00175D74  93 D2 00 04 */	stw r30, 4(r18)
/* 8017A118 00175D78  3A C0 00 00 */	li r22, 0
/* 8017A11C 00175D7C  93 D2 00 08 */	stw r30, 8(r18)
/* 8017A120 00175D80  93 D2 00 0C */	stw r30, 0xc(r18)
/* 8017A124 00175D84  93 D2 00 10 */	stw r30, 0x10(r18)
/* 8017A128 00175D88  93 D2 00 14 */	stw r30, 0x14(r18)
/* 8017A12C 00175D8C  83 37 00 08 */	lwz r25, 8(r23)
/* 8017A130 00175D90  80 70 00 A0 */	lwz r3, 0xa0(r16)
/* 8017A134 00175D94  57 3D 08 3C */	slwi r29, r25, 1
/* 8017A138 00175D98  57 3C 10 3A */	slwi r28, r25, 2
/* 8017A13C 00175D9C  7C 63 01 D6 */	mullw r3, r3, r0
/* 8017A140 00175DA0  3C 63 00 27 */	addis r3, r3, 0x27
/* 8017A144 00175DA4  38 03 9E C3 */	addi r0, r3, -24893
/* 8017A148 00175DA8  90 10 00 A0 */	stw r0, 0xa0(r16)
/* 8017A14C 00175DAC  54 04 84 3E */	srwi r4, r0, 0x10
/* 8017A150 00175DB0  80 77 00 08 */	lwz r3, 8(r23)
/* 8017A154 00175DB4  7C 04 1B 96 */	divwu r0, r4, r3
/* 8017A158 00175DB8  7C 00 19 D6 */	mullw r0, r0, r3
/* 8017A15C 00175DBC  7E E0 20 50 */	subf r23, r0, r4
/* 8017A160 00175DC0  48 00 01 78 */	b lbl_8017A2D8
lbl_8017A164:
/* 8017A164 00175DC4  7C 17 C8 00 */	cmpw r23, r25
/* 8017A168 00175DC8  40 82 00 08 */	bne lbl_8017A170
/* 8017A16C 00175DCC  3A E0 00 00 */	li r23, 0
lbl_8017A170:
/* 8017A170 00175DD0  1C 17 00 38 */	mulli r0, r23, 0x38
/* 8017A174 00175DD4  7C 17 A0 00 */	cmpw r23, r20
/* 8017A178 00175DD8  7F 7A 02 14 */	add r27, r26, r0
/* 8017A17C 00175DDC  41 80 01 54 */	blt lbl_8017A2D0
/* 8017A180 00175DE0  7C 17 A8 00 */	cmpw r23, r21
/* 8017A184 00175DE4  41 81 01 4C */	bgt lbl_8017A2D0
/* 8017A188 00175DE8  80 B0 00 10 */	lwz r5, 0x10(r16)
/* 8017A18C 00175DEC  7E 03 83 78 */	mr r3, r16
/* 8017A190 00175DF0  7F 64 DB 78 */	mr r4, r27
/* 8017A194 00175DF4  4B FF DA 91 */	bl func_80177C24
/* 8017A198 00175DF8  2C 03 00 00 */	cmpwi r3, 0
/* 8017A19C 00175DFC  41 82 01 34 */	beq lbl_8017A2D0
/* 8017A1A0 00175E00  A0 7B 00 04 */	lhz r3, 4(r27)
/* 8017A1A4 00175E04  80 10 00 6C */	lwz r0, 0x6c(r16)
/* 8017A1A8 00175E08  7C 03 00 00 */	cmpw r3, r0
/* 8017A1AC 00175E0C  41 81 01 24 */	bgt lbl_8017A2D0
/* 8017A1B0 00175E10  7C 16 E8 00 */	cmpw r22, r29
/* 8017A1B4 00175E14  40 80 00 28 */	bge lbl_8017A1DC
/* 8017A1B8 00175E18  48 0A 96 79 */	bl func_80223830
/* 8017A1BC 00175E1C  80 83 00 00 */	lwz r4, 0(r3)
/* 8017A1C0 00175E20  38 1F 43 FD */	addi r0, r31, 0x43fd
/* 8017A1C4 00175E24  7C 84 01 D6 */	mullw r4, r4, r0
/* 8017A1C8 00175E28  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A1CC 00175E2C  38 84 9E C3 */	addi r4, r4, -24893
/* 8017A1D0 00175E30  54 80 87 FF */	rlwinm. r0, r4, 0x10, 0x1f, 0x1f
/* 8017A1D4 00175E34  90 83 00 00 */	stw r4, 0(r3)
/* 8017A1D8 00175E38  40 82 00 F8 */	bne lbl_8017A2D0
lbl_8017A1DC:
/* 8017A1DC 00175E3C  80 71 00 00 */	lwz r3, 0(r17)
/* 8017A1E0 00175E40  38 C0 00 00 */	li r6, 0
/* 8017A1E4 00175E44  A0 9B 00 06 */	lhz r4, 6(r27)
/* 8017A1E8 00175E48  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A1EC 00175E4C  7C 04 00 40 */	cmplw r4, r0
/* 8017A1F0 00175E50  40 82 00 0C */	bne lbl_8017A1FC
/* 8017A1F4 00175E54  38 C0 00 01 */	li r6, 1
/* 8017A1F8 00175E58  48 00 00 7C */	b lbl_8017A274
lbl_8017A1FC:
/* 8017A1FC 00175E5C  80 71 00 04 */	lwz r3, 4(r17)
/* 8017A200 00175E60  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A204 00175E64  7C 04 00 40 */	cmplw r4, r0
/* 8017A208 00175E68  40 82 00 0C */	bne lbl_8017A214
/* 8017A20C 00175E6C  38 C0 00 01 */	li r6, 1
/* 8017A210 00175E70  48 00 00 64 */	b lbl_8017A274
lbl_8017A214:
/* 8017A214 00175E74  80 71 00 08 */	lwz r3, 8(r17)
/* 8017A218 00175E78  38 B1 00 08 */	addi r5, r17, 8
/* 8017A21C 00175E7C  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A220 00175E80  7C 04 00 40 */	cmplw r4, r0
/* 8017A224 00175E84  40 82 00 0C */	bne lbl_8017A230
/* 8017A228 00175E88  38 C0 00 01 */	li r6, 1
/* 8017A22C 00175E8C  48 00 00 48 */	b lbl_8017A274
lbl_8017A230:
/* 8017A230 00175E90  80 65 00 04 */	lwz r3, 4(r5)
/* 8017A234 00175E94  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A238 00175E98  7C 04 00 40 */	cmplw r4, r0
/* 8017A23C 00175E9C  40 82 00 0C */	bne lbl_8017A248
/* 8017A240 00175EA0  38 C0 00 01 */	li r6, 1
/* 8017A244 00175EA4  48 00 00 30 */	b lbl_8017A274
lbl_8017A248:
/* 8017A248 00175EA8  80 65 00 08 */	lwz r3, 8(r5)
/* 8017A24C 00175EAC  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A250 00175EB0  7C 04 00 40 */	cmplw r4, r0
/* 8017A254 00175EB4  40 82 00 0C */	bne lbl_8017A260
/* 8017A258 00175EB8  38 C0 00 01 */	li r6, 1
/* 8017A25C 00175EBC  48 00 00 18 */	b lbl_8017A274
lbl_8017A260:
/* 8017A260 00175EC0  80 65 00 0C */	lwz r3, 0xc(r5)
/* 8017A264 00175EC4  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A268 00175EC8  7C 04 00 40 */	cmplw r4, r0
/* 8017A26C 00175ECC  40 82 00 08 */	bne lbl_8017A274
/* 8017A270 00175ED0  38 C0 00 01 */	li r6, 1
lbl_8017A274:
/* 8017A274 00175ED4  2C 06 00 00 */	cmpwi r6, 0
/* 8017A278 00175ED8  40 82 00 58 */	bne lbl_8017A2D0
/* 8017A27C 00175EDC  7E 45 93 78 */	mr r5, r18
/* 8017A280 00175EE0  38 C0 00 00 */	li r6, 0
/* 8017A284 00175EE4  7F 09 03 A6 */	mtctr r24
/* 8017A288 00175EE8  2C 18 00 00 */	cmpwi r24, 0
/* 8017A28C 00175EEC  40 81 00 28 */	ble lbl_8017A2B4
lbl_8017A290:
/* 8017A290 00175EF0  80 65 00 00 */	lwz r3, 0(r5)
/* 8017A294 00175EF4  A0 9B 00 06 */	lhz r4, 6(r27)
/* 8017A298 00175EF8  A0 03 00 06 */	lhz r0, 6(r3)
/* 8017A29C 00175EFC  7C 04 00 40 */	cmplw r4, r0
/* 8017A2A0 00175F00  40 82 00 0C */	bne lbl_8017A2AC
/* 8017A2A4 00175F04  38 C0 00 01 */	li r6, 1
/* 8017A2A8 00175F08  48 00 00 0C */	b lbl_8017A2B4
lbl_8017A2AC:
/* 8017A2AC 00175F0C  38 A5 00 04 */	addi r5, r5, 4
/* 8017A2B0 00175F10  42 00 FF E0 */	bdnz lbl_8017A290
lbl_8017A2B4:
/* 8017A2B4 00175F14  2C 06 00 00 */	cmpwi r6, 0
/* 8017A2B8 00175F18  40 82 00 18 */	bne lbl_8017A2D0
/* 8017A2BC 00175F1C  3B 18 00 01 */	addi r24, r24, 1
/* 8017A2C0 00175F20  7F 72 F1 2E */	stwx r27, r18, r30
/* 8017A2C4 00175F24  7C 18 98 00 */	cmpw r24, r19
/* 8017A2C8 00175F28  3B DE 00 04 */	addi r30, r30, 4
/* 8017A2CC 00175F2C  41 82 00 14 */	beq lbl_8017A2E0
lbl_8017A2D0:
/* 8017A2D0 00175F30  3A D6 00 01 */	addi r22, r22, 1
/* 8017A2D4 00175F34  3A F7 00 01 */	addi r23, r23, 1
lbl_8017A2D8:
/* 8017A2D8 00175F38  7C 16 E0 00 */	cmpw r22, r28
/* 8017A2DC 00175F3C  41 80 FE 88 */	blt lbl_8017A164
lbl_8017A2E0:
/* 8017A2E0 00175F40  7C 18 98 00 */	cmpw r24, r19
/* 8017A2E4 00175F44  41 82 00 30 */	beq lbl_8017A314
/* 8017A2E8 00175F48  38 DA 00 38 */	addi r6, r26, 0x38
/* 8017A2EC 00175F4C  38 BA 00 70 */	addi r5, r26, 0x70
/* 8017A2F0 00175F50  38 9A 00 A8 */	addi r4, r26, 0xa8
/* 8017A2F4 00175F54  38 7A 00 E0 */	addi r3, r26, 0xe0
/* 8017A2F8 00175F58  38 1A 01 18 */	addi r0, r26, 0x118
/* 8017A2FC 00175F5C  93 52 00 00 */	stw r26, 0(r18)
/* 8017A300 00175F60  90 D2 00 04 */	stw r6, 4(r18)
/* 8017A304 00175F64  90 B2 00 08 */	stw r5, 8(r18)
/* 8017A308 00175F68  90 92 00 0C */	stw r4, 0xc(r18)
/* 8017A30C 00175F6C  90 72 00 10 */	stw r3, 0x10(r18)
/* 8017A310 00175F70  90 12 00 14 */	stw r0, 0x14(r18)
lbl_8017A314:
/* 8017A314 00175F74  39 61 00 50 */	addi r11, r1, 0x50
/* 8017A318 00175F78  38 60 00 01 */	li r3, 1
/* 8017A31C 00175F7C  48 04 CE 2D */	bl _restgpr_16
/* 8017A320 00175F80  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8017A324 00175F84  7C 08 03 A6 */	mtlr r0
/* 8017A328 00175F88  38 21 00 50 */	addi r1, r1, 0x50
/* 8017A32C 00175F8C  4E 80 00 20 */	blr

.global func_8017A330
func_8017A330:
/* 8017A330 00175F90  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8017A334 00175F94  7C 08 02 A6 */	mflr r0
/* 8017A338 00175F98  90 01 00 74 */	stw r0, 0x74(r1)
/* 8017A33C 00175F9C  39 61 00 70 */	addi r11, r1, 0x70
/* 8017A340 00175FA0  48 04 CD D9 */	bl _savegpr_23
/* 8017A344 00175FA4  83 43 00 60 */	lwz r26, 0x60(r3)
/* 8017A348 00175FA8  7C 7B 1B 78 */	mr r27, r3
/* 8017A34C 00175FAC  7C BD 2B 78 */	mr r29, r5
/* 8017A350 00175FB0  7C DC 33 78 */	mr r28, r6
/* 8017A354 00175FB4  4B FF DF C9 */	bl func_8017831C
/* 8017A358 00175FB8  7C 64 1B 78 */	mr r4, r3
/* 8017A35C 00175FBC  38 60 00 C8 */	li r3, 0xc8
/* 8017A360 00175FC0  48 06 11 5D */	bl func_801DB4BC
/* 8017A364 00175FC4  2C 03 00 00 */	cmpwi r3, 0
/* 8017A368 00175FC8  7C 7F 1B 78 */	mr r31, r3
/* 8017A36C 00175FCC  40 82 00 0C */	bne lbl_8017A378
/* 8017A370 00175FD0  38 60 00 00 */	li r3, 0
/* 8017A374 00175FD4  48 00 03 C8 */	b lbl_8017A73C
lbl_8017A378:
/* 8017A378 00175FD8  80 1C 00 20 */	lwz r0, 0x20(r28)
/* 8017A37C 00175FDC  3B C3 00 10 */	addi r30, r3, 0x10
/* 8017A380 00175FE0  2C 00 00 00 */	cmpwi r0, 0
/* 8017A384 00175FE4  90 1B 00 64 */	stw r0, 0x64(r27)
/* 8017A388 00175FE8  40 82 00 0C */	bne lbl_8017A394
/* 8017A38C 00175FEC  88 1D 00 02 */	lbz r0, 2(r29)
/* 8017A390 00175FF0  90 1B 00 64 */	stw r0, 0x64(r27)
lbl_8017A394:
/* 8017A394 00175FF4  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 8017A398 00175FF8  2C 00 00 00 */	cmpwi r0, 0
/* 8017A39C 00175FFC  40 82 00 0C */	bne lbl_8017A3A8
/* 8017A3A0 00176000  38 00 00 06 */	li r0, 6
/* 8017A3A4 00176004  90 1B 00 64 */	stw r0, 0x64(r27)
lbl_8017A3A8:
/* 8017A3A8 00176008  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 8017A3AC 0017600C  2C 00 00 00 */	cmpwi r0, 0
/* 8017A3B0 00176010  40 82 00 0C */	bne lbl_8017A3BC
/* 8017A3B4 00176014  38 60 00 00 */	li r3, 0
/* 8017A3B8 00176018  48 00 03 84 */	b lbl_8017A73C
lbl_8017A3BC:
/* 8017A3BC 0017601C  88 BA 00 5E */	lbz r5, 0x5e(r26)
/* 8017A3C0 00176020  3C 80 80 42 */	lis r4, lbl_80420FE8@ha
/* 8017A3C4 00176024  A0 DD 00 06 */	lhz r6, 6(r29)
/* 8017A3C8 00176028  20 00 00 06 */	subfic r0, r0, 6
/* 8017A3CC 0017602C  54 A5 10 3A */	slwi r5, r5, 2
/* 8017A3D0 00176030  38 84 0F E8 */	addi r4, r4, lbl_80420FE8@l
/* 8017A3D4 00176034  28 06 FF FF */	cmplwi r6, 0xffff
/* 8017A3D8 00176038  7F 44 28 2E */	lwzx r26, r4, r5
/* 8017A3DC 0017603C  54 00 18 38 */	slwi r0, r0, 3
/* 8017A3E0 00176040  7F 5A 02 14 */	add r26, r26, r0
/* 8017A3E4 00176044  41 82 00 0C */	beq lbl_8017A3F0
/* 8017A3E8 00176048  2C 06 00 00 */	cmpwi r6, 0
/* 8017A3EC 0017604C  40 82 00 0C */	bne lbl_8017A3F8
lbl_8017A3F0:
/* 8017A3F0 00176050  80 03 00 08 */	lwz r0, 8(r3)
/* 8017A3F4 00176054  54 06 04 3E */	clrlwi r6, r0, 0x10
lbl_8017A3F8:
/* 8017A3F8 00176058  A0 7D 00 04 */	lhz r3, 4(r29)
/* 8017A3FC 0017605C  1C 06 00 38 */	mulli r0, r6, 0x38
/* 8017A400 00176060  3A E0 00 00 */	li r23, 0
/* 8017A404 00176064  1C 63 00 38 */	mulli r3, r3, 0x38
/* 8017A408 00176068  7F 1E 02 14 */	add r24, r30, r0
/* 8017A40C 0017606C  7F 3E 1A 14 */	add r25, r30, r3
lbl_8017A410:
/* 8017A410 00176070  38 61 00 28 */	addi r3, r1, 0x28
/* 8017A414 00176074  38 80 00 00 */	li r4, 0
/* 8017A418 00176078  38 A0 00 18 */	li r5, 0x18
/* 8017A41C 0017607C  4B E8 9C E9 */	bl memset
/* 8017A420 00176080  92 FB 00 68 */	stw r23, 0x68(r27)
/* 8017A424 00176084  7F 63 DB 78 */	mr r3, r27
/* 8017A428 00176088  7F 24 CB 78 */	mr r4, r25
/* 8017A42C 0017608C  7F 05 C3 78 */	mr r5, r24
/* 8017A430 00176090  7F 47 D3 78 */	mr r7, r26
/* 8017A434 00176094  38 C1 00 28 */	addi r6, r1, 0x28
/* 8017A438 00176098  4B FF F8 45 */	bl func_80179C7C
/* 8017A43C 0017609C  2C 03 00 00 */	cmpwi r3, 0
/* 8017A440 001760A0  7C 7D 1B 78 */	mr r29, r3
/* 8017A444 001760A4  40 82 00 10 */	bne lbl_8017A454
/* 8017A448 001760A8  3A F7 00 01 */	addi r23, r23, 1
/* 8017A44C 001760AC  2C 17 00 05 */	cmpwi r23, 5
/* 8017A450 001760B0  41 80 FF C0 */	blt lbl_8017A410
lbl_8017A454:
/* 8017A454 001760B4  88 1B 00 00 */	lbz r0, 0(r27)
/* 8017A458 001760B8  2C 00 00 00 */	cmpwi r0, 0
/* 8017A45C 001760BC  41 82 00 A0 */	beq lbl_8017A4FC
/* 8017A460 001760C0  3F 40 80 64 */	lis r26, lbl_8063CE34@ha
/* 8017A464 001760C4  80 9B 00 7C */	lwz r4, 0x7c(r27)
/* 8017A468 001760C8  3B 5A CE 34 */	addi r26, r26, lbl_8063CE34@l
/* 8017A46C 001760CC  38 7A 00 60 */	addi r3, r26, 0x60
/* 8017A470 001760D0  48 21 DC 2D */	bl func_8039809C
/* 8017A474 001760D4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8017A478 001760D8  41 82 00 84 */	beq lbl_8017A4FC
/* 8017A47C 001760DC  80 9B 00 7C */	lwz r4, 0x7c(r27)
/* 8017A480 001760E0  38 7A 00 60 */	addi r3, r26, 0x60
/* 8017A484 001760E4  38 A0 00 00 */	li r5, 0
/* 8017A488 001760E8  48 21 DB 8D */	bl func_80398014
/* 8017A48C 001760EC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8017A490 001760F0  41 82 00 6C */	beq lbl_8017A4FC
/* 8017A494 001760F4  80 9B 00 10 */	lwz r4, 0x10(r27)
/* 8017A498 001760F8  2C 04 00 03 */	cmpwi r4, 3
/* 8017A49C 001760FC  40 80 00 0C */	bge lbl_8017A4A8
/* 8017A4A0 00176100  38 A0 00 00 */	li r5, 0
/* 8017A4A4 00176104  48 00 00 1C */	b lbl_8017A4C0
lbl_8017A4A8:
/* 8017A4A8 00176108  38 60 00 06 */	li r3, 6
/* 8017A4AC 0017610C  54 80 0F FE */	srwi r0, r4, 0x1f
/* 8017A4B0 00176110  7C 63 20 10 */	subfc r3, r3, r4
/* 8017A4B4 00176114  38 60 00 00 */	li r3, 0
/* 8017A4B8 00176118  7C 60 19 10 */	subfe r3, r0, r3
/* 8017A4BC 0017611C  38 A3 00 02 */	addi r5, r3, 2
lbl_8017A4C0:
/* 8017A4C0 00176120  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 8017A4C4 00176124  80 9B 00 7C */	lwz r4, 0x7c(r27)
/* 8017A4C8 00176128  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 8017A4CC 0017612C  38 63 00 60 */	addi r3, r3, 0x60
/* 8017A4D0 00176130  48 21 DB 45 */	bl func_80398014
/* 8017A4D4 00176134  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 8017A4D8 00176138  34 03 FF FF */	addic. r0, r3, -1
/* 8017A4DC 0017613C  41 80 00 20 */	blt lbl_8017A4FC
/* 8017A4E0 00176140  1C A0 00 38 */	mulli r5, r0, 0x38
/* 8017A4E4 00176144  80 9B 00 64 */	lwz r4, 0x64(r27)
/* 8017A4E8 00176148  38 61 00 28 */	addi r3, r1, 0x28
/* 8017A4EC 0017614C  38 04 FF FF */	addi r0, r4, -1
/* 8017A4F0 00176150  7C 9E 2A 14 */	add r4, r30, r5
/* 8017A4F4 00176154  54 00 10 3A */	slwi r0, r0, 2
/* 8017A4F8 00176158  7C 83 01 2E */	stwx r4, r3, r0
lbl_8017A4FC:
/* 8017A4FC 0017615C  2C 1D 00 00 */	cmpwi r29, 0
/* 8017A500 00176160  40 82 00 84 */	bne lbl_8017A584
/* 8017A504 00176164  38 61 00 28 */	addi r3, r1, 0x28
/* 8017A508 00176168  38 80 00 00 */	li r4, 0
/* 8017A50C 0017616C  38 A0 00 18 */	li r5, 0x18
/* 8017A510 00176170  4B E8 9B F5 */	bl memset
/* 8017A514 00176174  3C 60 00 03 */	lis r3, 0x000343FD@ha
/* 8017A518 00176178  80 9B 00 A0 */	lwz r4, 0xa0(r27)
/* 8017A51C 0017617C  38 03 43 FD */	addi r0, r3, 0x000343FD@l
/* 8017A520 00176180  38 A1 00 28 */	addi r5, r1, 0x28
/* 8017A524 00176184  7C 64 01 D6 */	mullw r3, r4, r0
/* 8017A528 00176188  38 C0 00 00 */	li r6, 0
/* 8017A52C 0017618C  3C 63 00 27 */	addis r3, r3, 0x27
/* 8017A530 00176190  38 03 9E C3 */	addi r0, r3, -24893
/* 8017A534 00176194  90 1B 00 A0 */	stw r0, 0xa0(r27)
/* 8017A538 00176198  54 04 84 3E */	srwi r4, r0, 0x10
/* 8017A53C 0017619C  80 7F 00 08 */	lwz r3, 8(r31)
/* 8017A540 001761A0  7C 04 1B 96 */	divwu r0, r4, r3
/* 8017A544 001761A4  7C 00 19 D6 */	mullw r0, r0, r3
/* 8017A548 001761A8  7C 60 20 50 */	subf r3, r0, r4
/* 8017A54C 001761AC  48 00 00 2C */	b lbl_8017A578
lbl_8017A550:
/* 8017A550 001761B0  1C 03 00 38 */	mulli r0, r3, 0x38
/* 8017A554 001761B4  38 63 00 01 */	addi r3, r3, 1
/* 8017A558 001761B8  7C 1E 02 14 */	add r0, r30, r0
/* 8017A55C 001761BC  90 05 00 00 */	stw r0, 0(r5)
/* 8017A560 001761C0  80 1F 00 08 */	lwz r0, 8(r31)
/* 8017A564 001761C4  7C 03 00 40 */	cmplw r3, r0
/* 8017A568 001761C8  41 80 00 08 */	blt lbl_8017A570
/* 8017A56C 001761CC  38 60 00 00 */	li r3, 0
lbl_8017A570:
/* 8017A570 001761D0  38 A5 00 04 */	addi r5, r5, 4
/* 8017A574 001761D4  38 C6 00 01 */	addi r6, r6, 1
lbl_8017A578:
/* 8017A578 001761D8  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 8017A57C 001761DC  7C 06 00 00 */	cmpw r6, r0
/* 8017A580 001761E0  41 80 FF D0 */	blt lbl_8017A550
lbl_8017A584:
/* 8017A584 001761E4  38 C0 FF FF */	li r6, -1
/* 8017A588 001761E8  38 E0 00 00 */	li r7, 0
lbl_8017A58C:
/* 8017A58C 001761EC  80 1B 00 60 */	lwz r0, 0x60(r27)
/* 8017A590 001761F0  38 81 00 28 */	addi r4, r1, 0x28
/* 8017A594 001761F4  80 BB 00 64 */	lwz r5, 0x64(r27)
/* 8017A598 001761F8  39 00 FF FF */	li r8, -1
/* 8017A59C 001761FC  7C 60 3A 14 */	add r3, r0, r7
/* 8017A5A0 00176200  39 40 00 00 */	li r10, 0
/* 8017A5A4 00176204  89 23 00 60 */	lbz r9, 0x60(r3)
/* 8017A5A8 00176208  7C A9 03 A6 */	mtctr r5
/* 8017A5AC 0017620C  2C 05 00 00 */	cmpwi r5, 0
/* 8017A5B0 00176210  40 81 00 44 */	ble lbl_8017A5F4
lbl_8017A5B4:
/* 8017A5B4 00176214  28 09 00 FF */	cmplwi r9, 0xff
/* 8017A5B8 00176218  41 82 00 20 */	beq lbl_8017A5D8
/* 8017A5BC 0017621C  80 64 00 00 */	lwz r3, 0(r4)
/* 8017A5C0 00176220  88 03 00 08 */	lbz r0, 8(r3)
/* 8017A5C4 00176224  7C 09 00 40 */	cmplw r9, r0
/* 8017A5C8 00176228  41 82 00 10 */	beq lbl_8017A5D8
/* 8017A5CC 0017622C  88 03 00 09 */	lbz r0, 9(r3)
/* 8017A5D0 00176230  7C 09 00 40 */	cmplw r9, r0
/* 8017A5D4 00176234  40 82 00 14 */	bne lbl_8017A5E8
lbl_8017A5D8:
/* 8017A5D8 00176238  7C 06 50 00 */	cmpw r6, r10
/* 8017A5DC 0017623C  41 82 00 0C */	beq lbl_8017A5E8
/* 8017A5E0 00176240  7D 48 53 78 */	mr r8, r10
/* 8017A5E4 00176244  48 00 00 10 */	b lbl_8017A5F4
lbl_8017A5E8:
/* 8017A5E8 00176248  38 84 00 04 */	addi r4, r4, 4
/* 8017A5EC 0017624C  39 4A 00 01 */	addi r10, r10, 1
/* 8017A5F0 00176250  42 00 FF C4 */	bdnz lbl_8017A5B4
lbl_8017A5F4:
/* 8017A5F4 00176254  2C 08 00 00 */	cmpwi r8, 0
/* 8017A5F8 00176258  41 80 00 40 */	blt lbl_8017A638
/* 8017A5FC 0017625C  2C 07 00 00 */	cmpwi r7, 0
/* 8017A600 00176260  40 82 00 20 */	bne lbl_8017A620
/* 8017A604 00176264  55 00 10 3A */	slwi r0, r8, 2
/* 8017A608 00176268  7C 7C 02 14 */	add r3, r28, r0
/* 8017A60C 0017626C  80 63 00 48 */	lwz r3, 0x48(r3)
/* 8017A610 00176270  88 03 00 8A */	lbz r0, 0x8a(r3)
/* 8017A614 00176274  60 00 00 40 */	ori r0, r0, 0x40
/* 8017A618 00176278  98 03 00 8A */	stb r0, 0x8a(r3)
/* 8017A61C 0017627C  48 00 00 1C */	b lbl_8017A638
lbl_8017A620:
/* 8017A620 00176280  55 00 10 3A */	slwi r0, r8, 2
/* 8017A624 00176284  7C 7C 02 14 */	add r3, r28, r0
/* 8017A628 00176288  80 63 00 48 */	lwz r3, 0x48(r3)
/* 8017A62C 0017628C  88 03 00 8A */	lbz r0, 0x8a(r3)
/* 8017A630 00176290  60 00 00 20 */	ori r0, r0, 0x20
/* 8017A634 00176294  98 03 00 8A */	stb r0, 0x8a(r3)
lbl_8017A638:
/* 8017A638 00176298  38 E7 00 01 */	addi r7, r7, 1
/* 8017A63C 0017629C  7D 06 43 78 */	mr r6, r8
/* 8017A640 001762A0  2C 07 00 02 */	cmpwi r7, 2
/* 8017A644 001762A4  41 80 FF 48 */	blt lbl_8017A58C
/* 8017A648 001762A8  7F 9A E3 78 */	mr r26, r28
/* 8017A64C 001762AC  3B A1 00 28 */	addi r29, r1, 0x28
/* 8017A650 001762B0  3A E0 00 00 */	li r23, 0
/* 8017A654 001762B4  48 00 00 28 */	b lbl_8017A67C
lbl_8017A658:
/* 8017A658 001762B8  80 BD 00 00 */	lwz r5, 0(r29)
/* 8017A65C 001762BC  7F 63 DB 78 */	mr r3, r27
/* 8017A660 001762C0  80 9A 00 48 */	lwz r4, 0x48(r26)
/* 8017A664 001762C4  7F 86 E3 78 */	mr r6, r28
/* 8017A668 001762C8  88 E5 00 1F */	lbz r7, 0x1f(r5)
/* 8017A66C 001762CC  4B FF E7 A5 */	bl func_80178E10
/* 8017A670 001762D0  3B 5A 00 04 */	addi r26, r26, 4
/* 8017A674 001762D4  3B BD 00 04 */	addi r29, r29, 4
/* 8017A678 001762D8  3A F7 00 01 */	addi r23, r23, 1
lbl_8017A67C:
/* 8017A67C 001762DC  83 1B 00 64 */	lwz r24, 0x64(r27)
/* 8017A680 001762E0  7C 17 C0 00 */	cmpw r23, r24
/* 8017A684 001762E4  41 80 FF D4 */	blt lbl_8017A658
/* 8017A688 001762E8  57 00 10 3A */	slwi r0, r24, 2
/* 8017A68C 001762EC  3B A0 00 00 */	li r29, 0
/* 8017A690 001762F0  7F 5C 02 14 */	add r26, r28, r0
/* 8017A694 001762F4  48 00 00 38 */	b lbl_8017A6CC
lbl_8017A698:
/* 8017A698 001762F8  83 DA 00 48 */	lwz r30, 0x48(r26)
/* 8017A69C 001762FC  38 A1 00 08 */	addi r5, r1, 8
/* 8017A6A0 00176300  38 80 00 05 */	li r4, 5
/* 8017A6A4 00176304  93 A1 00 08 */	stw r29, 8(r1)
/* 8017A6A8 00176308  7F C3 F3 78 */	mr r3, r30
/* 8017A6AC 0017630C  48 26 0F CD */	bl func_803DB678
/* 8017A6B0 00176310  9B BE 00 88 */	stb r29, 0x88(r30)
/* 8017A6B4 00176314  3B 5A 00 04 */	addi r26, r26, 4
/* 8017A6B8 00176318  3B 18 00 01 */	addi r24, r24, 1
/* 8017A6BC 0017631C  9B BE 00 89 */	stb r29, 0x89(r30)
/* 8017A6C0 00176320  88 1E 00 8A */	lbz r0, 0x8a(r30)
/* 8017A6C4 00176324  54 00 06 6E */	rlwinm r0, r0, 0, 0x19, 0x17
/* 8017A6C8 00176328  98 1E 00 8A */	stb r0, 0x8a(r30)
lbl_8017A6CC:
/* 8017A6CC 0017632C  2C 18 00 06 */	cmpwi r24, 6
/* 8017A6D0 00176330  41 80 FF C8 */	blt lbl_8017A698
/* 8017A6D4 00176334  88 1B 00 71 */	lbz r0, 0x71(r27)
/* 8017A6D8 00176338  2C 00 00 00 */	cmpwi r0, 0
/* 8017A6DC 0017633C  41 82 00 5C */	beq lbl_8017A738
/* 8017A6E0 00176340  7F 63 DB 78 */	mr r3, r27
/* 8017A6E4 00176344  7F E4 FB 78 */	mr r4, r31
/* 8017A6E8 00176348  38 A1 00 28 */	addi r5, r1, 0x28
/* 8017A6EC 0017634C  38 C1 00 10 */	addi r6, r1, 0x10
/* 8017A6F0 00176350  38 E0 00 06 */	li r7, 6
/* 8017A6F4 00176354  39 00 00 54 */	li r8, 0x54
/* 8017A6F8 00176358  39 20 01 8C */	li r9, 0x18c
/* 8017A6FC 0017635C  4B FF F9 2D */	bl func_8017A028
/* 8017A700 00176360  7F 9A E3 78 */	mr r26, r28
/* 8017A704 00176364  3B A1 00 10 */	addi r29, r1, 0x10
/* 8017A708 00176368  3A E0 00 00 */	li r23, 0
lbl_8017A70C:
/* 8017A70C 0017636C  80 9A 00 30 */	lwz r4, 0x30(r26)
/* 8017A710 00176370  7F 63 DB 78 */	mr r3, r27
/* 8017A714 00176374  80 BD 00 00 */	lwz r5, 0(r29)
/* 8017A718 00176378  7F 86 E3 78 */	mr r6, r28
/* 8017A71C 0017637C  38 E0 00 FF */	li r7, 0xff
/* 8017A720 00176380  4B FF E6 F1 */	bl func_80178E10
/* 8017A724 00176384  3A F7 00 01 */	addi r23, r23, 1
/* 8017A728 00176388  3B BD 00 04 */	addi r29, r29, 4
/* 8017A72C 0017638C  2C 17 00 06 */	cmpwi r23, 6
/* 8017A730 00176390  3B 5A 00 04 */	addi r26, r26, 4
/* 8017A734 00176394  41 80 FF D8 */	blt lbl_8017A70C
lbl_8017A738:
/* 8017A738 00176398  38 60 00 01 */	li r3, 1
lbl_8017A73C:
/* 8017A73C 0017639C  39 61 00 70 */	addi r11, r1, 0x70
/* 8017A740 001763A0  48 04 CA 25 */	bl _restgpr_23
/* 8017A744 001763A4  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8017A748 001763A8  7C 08 03 A6 */	mtlr r0
/* 8017A74C 001763AC  38 21 00 70 */	addi r1, r1, 0x70
/* 8017A750 001763B0  4E 80 00 20 */	blr

.global func_8017A754
func_8017A754:
/* 8017A754 001763B4  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8017A758 001763B8  7C 08 02 A6 */	mflr r0
/* 8017A75C 001763BC  90 01 00 74 */	stw r0, 0x74(r1)
/* 8017A760 001763C0  39 61 00 70 */	addi r11, r1, 0x70
/* 8017A764 001763C4  48 04 C9 B1 */	bl _savegpr_22
/* 8017A768 001763C8  7C 7E 1B 78 */	mr r30, r3
/* 8017A76C 001763CC  7C B6 2B 78 */	mr r22, r5
/* 8017A770 001763D0  7C DF 33 78 */	mr r31, r6
/* 8017A774 001763D4  4B FF DB A9 */	bl func_8017831C
/* 8017A778 001763D8  7C 64 1B 78 */	mr r4, r3
/* 8017A77C 001763DC  38 60 00 C8 */	li r3, 0xc8
/* 8017A780 001763E0  48 06 0D 3D */	bl func_801DB4BC
/* 8017A784 001763E4  2C 03 00 00 */	cmpwi r3, 0
/* 8017A788 001763E8  7C 7A 1B 78 */	mr r26, r3
/* 8017A78C 001763EC  40 82 00 0C */	bne lbl_8017A798
/* 8017A790 001763F0  38 60 00 00 */	li r3, 0
/* 8017A794 001763F4  48 00 01 20 */	b lbl_8017A8B4
lbl_8017A798:
/* 8017A798 001763F8  37 23 00 10 */	addic. r25, r3, 0x10
/* 8017A79C 001763FC  40 82 00 0C */	bne lbl_8017A7A8
/* 8017A7A0 00176400  38 60 00 00 */	li r3, 0
/* 8017A7A4 00176404  48 00 01 10 */	b lbl_8017A8B4
lbl_8017A7A8:
/* 8017A7A8 00176408  7F FC FB 78 */	mr r28, r31
/* 8017A7AC 0017640C  3B 61 00 28 */	addi r27, r1, 0x28
/* 8017A7B0 00176410  3B 00 00 00 */	li r24, 0
/* 8017A7B4 00176414  3B A0 00 00 */	li r29, 0
/* 8017A7B8 00176418  48 00 00 3C */	b lbl_8017A7F4
lbl_8017A7BC:
/* 8017A7BC 0017641C  A0 B6 00 04 */	lhz r5, 4(r22)
/* 8017A7C0 00176420  7C 1D CA 14 */	add r0, r29, r25
/* 8017A7C4 00176424  80 9C 00 48 */	lwz r4, 0x48(r28)
/* 8017A7C8 00176428  7F C3 F3 78 */	mr r3, r30
/* 8017A7CC 0017642C  1C A5 00 38 */	mulli r5, r5, 0x38
/* 8017A7D0 00176430  7F E6 FB 78 */	mr r6, r31
/* 8017A7D4 00176434  38 E0 00 FF */	li r7, 0xff
/* 8017A7D8 00176438  7C A5 02 14 */	add r5, r5, r0
/* 8017A7DC 0017643C  90 BB 00 00 */	stw r5, 0(r27)
/* 8017A7E0 00176440  4B FF E6 31 */	bl func_80178E10
/* 8017A7E4 00176444  3B 9C 00 04 */	addi r28, r28, 4
/* 8017A7E8 00176448  3B BD 00 38 */	addi r29, r29, 0x38
/* 8017A7EC 0017644C  3B 7B 00 04 */	addi r27, r27, 4
/* 8017A7F0 00176450  3B 18 00 01 */	addi r24, r24, 1
lbl_8017A7F4:
/* 8017A7F4 00176454  8A F6 00 02 */	lbz r23, 2(r22)
/* 8017A7F8 00176458  7C 18 B8 00 */	cmpw r24, r23
/* 8017A7FC 0017645C  41 80 FF C0 */	blt lbl_8017A7BC
/* 8017A800 00176460  56 E0 10 3A */	slwi r0, r23, 2
/* 8017A804 00176464  3B A0 00 00 */	li r29, 0
/* 8017A808 00176468  7F 9F 02 14 */	add r28, r31, r0
/* 8017A80C 0017646C  48 00 00 38 */	b lbl_8017A844
lbl_8017A810:
/* 8017A810 00176470  83 7C 00 48 */	lwz r27, 0x48(r28)
/* 8017A814 00176474  38 A1 00 08 */	addi r5, r1, 8
/* 8017A818 00176478  38 80 00 05 */	li r4, 5
/* 8017A81C 0017647C  93 A1 00 08 */	stw r29, 8(r1)
/* 8017A820 00176480  7F 63 DB 78 */	mr r3, r27
/* 8017A824 00176484  48 26 0E 55 */	bl func_803DB678
/* 8017A828 00176488  9B BB 00 88 */	stb r29, 0x88(r27)
/* 8017A82C 0017648C  3B 9C 00 04 */	addi r28, r28, 4
/* 8017A830 00176490  3A F7 00 01 */	addi r23, r23, 1
/* 8017A834 00176494  9B BB 00 89 */	stb r29, 0x89(r27)
/* 8017A838 00176498  88 1B 00 8A */	lbz r0, 0x8a(r27)
/* 8017A83C 0017649C  54 00 06 6E */	rlwinm r0, r0, 0, 0x19, 0x17
/* 8017A840 001764A0  98 1B 00 8A */	stb r0, 0x8a(r27)
lbl_8017A844:
/* 8017A844 001764A4  2C 17 00 06 */	cmpwi r23, 6
/* 8017A848 001764A8  41 80 FF C8 */	blt lbl_8017A810
/* 8017A84C 001764AC  88 1E 00 71 */	lbz r0, 0x71(r30)
/* 8017A850 001764B0  2C 00 00 00 */	cmpwi r0, 0
/* 8017A854 001764B4  41 82 00 5C */	beq lbl_8017A8B0
/* 8017A858 001764B8  7F C3 F3 78 */	mr r3, r30
/* 8017A85C 001764BC  7F 44 D3 78 */	mr r4, r26
/* 8017A860 001764C0  38 A1 00 28 */	addi r5, r1, 0x28
/* 8017A864 001764C4  38 C1 00 10 */	addi r6, r1, 0x10
/* 8017A868 001764C8  38 E0 00 06 */	li r7, 6
/* 8017A86C 001764CC  39 00 00 54 */	li r8, 0x54
/* 8017A870 001764D0  39 20 01 8C */	li r9, 0x18c
/* 8017A874 001764D4  4B FF F7 B5 */	bl func_8017A028
/* 8017A878 001764D8  7F FD FB 78 */	mr r29, r31
/* 8017A87C 001764DC  3B 81 00 10 */	addi r28, r1, 0x10
/* 8017A880 001764E0  3A E0 00 00 */	li r23, 0
lbl_8017A884:
/* 8017A884 001764E4  80 9D 00 30 */	lwz r4, 0x30(r29)
/* 8017A888 001764E8  7F C3 F3 78 */	mr r3, r30
/* 8017A88C 001764EC  80 BC 00 00 */	lwz r5, 0(r28)
/* 8017A890 001764F0  7F E6 FB 78 */	mr r6, r31
/* 8017A894 001764F4  38 E0 00 FF */	li r7, 0xff
/* 8017A898 001764F8  4B FF E5 79 */	bl func_80178E10
/* 8017A89C 001764FC  3A F7 00 01 */	addi r23, r23, 1
/* 8017A8A0 00176500  3B 9C 00 04 */	addi r28, r28, 4
/* 8017A8A4 00176504  2C 17 00 06 */	cmpwi r23, 6
/* 8017A8A8 00176508  3B BD 00 04 */	addi r29, r29, 4
/* 8017A8AC 0017650C  41 80 FF D8 */	blt lbl_8017A884
lbl_8017A8B0:
/* 8017A8B0 00176510  38 60 00 01 */	li r3, 1
lbl_8017A8B4:
/* 8017A8B4 00176514  39 61 00 70 */	addi r11, r1, 0x70
/* 8017A8B8 00176518  48 04 C8 A9 */	bl _restgpr_22
/* 8017A8BC 0017651C  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8017A8C0 00176520  7C 08 03 A6 */	mtlr r0
/* 8017A8C4 00176524  38 21 00 70 */	addi r1, r1, 0x70
/* 8017A8C8 00176528  4E 80 00 20 */	blr

.global func_8017A8CC
func_8017A8CC:
/* 8017A8CC 0017652C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8017A8D0 00176530  7C 08 02 A6 */	mflr r0
/* 8017A8D4 00176534  90 01 00 24 */	stw r0, 0x24(r1)
/* 8017A8D8 00176538  39 61 00 20 */	addi r11, r1, 0x20
/* 8017A8DC 0017653C  48 04 C8 4D */	bl _savegpr_27
/* 8017A8E0 00176540  88 06 00 0C */	lbz r0, 0xc(r6)
/* 8017A8E4 00176544  7C 7B 1B 78 */	mr r27, r3
/* 8017A8E8 00176548  7C 9C 23 78 */	mr r28, r4
/* 8017A8EC 0017654C  7C BD 2B 78 */	mr r29, r5
/* 8017A8F0 00176550  28 00 00 01 */	cmplwi r0, 1
/* 8017A8F4 00176554  7C DE 33 78 */	mr r30, r6
/* 8017A8F8 00176558  7C FF 3B 78 */	mr r31, r7
/* 8017A8FC 0017655C  40 82 00 44 */	bne lbl_8017A940
/* 8017A900 00176560  80 05 00 0C */	lwz r0, 0xc(r5)
/* 8017A904 00176564  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 8017A908 00176568  38 A4 43 FD */	addi r5, r4, 0x000343FD@l
/* 8017A90C 0017656C  38 C0 00 00 */	li r6, 0
/* 8017A910 00176570  90 03 00 A0 */	stw r0, 0xa0(r3)
/* 8017A914 00176574  48 00 00 1C */	b lbl_8017A930
lbl_8017A918:
/* 8017A918 00176578  80 03 00 A0 */	lwz r0, 0xa0(r3)
/* 8017A91C 0017657C  38 C6 00 01 */	addi r6, r6, 1
/* 8017A920 00176580  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A924 00176584  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A928 00176588  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A92C 0017658C  90 03 00 A0 */	stw r0, 0xa0(r3)
lbl_8017A930:
/* 8017A930 00176590  80 03 00 18 */	lwz r0, 0x18(r3)
/* 8017A934 00176594  7C 06 00 00 */	cmpw r6, r0
/* 8017A938 00176598  41 80 FF E0 */	blt lbl_8017A918
/* 8017A93C 0017659C  48 00 00 3C */	b lbl_8017A978
lbl_8017A940:
/* 8017A940 001765A0  48 0A 8E F1 */	bl func_80223830
/* 8017A944 001765A4  3C 80 00 03 */	lis r4, 0x000343FD@ha
/* 8017A948 001765A8  80 03 00 00 */	lwz r0, 0(r3)
/* 8017A94C 001765AC  38 A4 43 FD */	addi r5, r4, 0x000343FD@l
/* 8017A950 001765B0  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A954 001765B4  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A958 001765B8  38 04 9E C3 */	addi r0, r4, -24893
/* 8017A95C 001765BC  7C 80 29 D6 */	mullw r4, r0, r5
/* 8017A960 001765C0  54 00 84 3E */	srwi r0, r0, 0x10
/* 8017A964 001765C4  3C 84 00 27 */	addis r4, r4, 0x27
/* 8017A968 001765C8  38 84 9E C3 */	addi r4, r4, -24893
/* 8017A96C 001765CC  90 83 00 00 */	stw r4, 0(r3)
/* 8017A970 001765D0  50 80 00 1E */	rlwimi r0, r4, 0, 0, 0xf
/* 8017A974 001765D4  90 1B 00 A0 */	stw r0, 0xa0(r27)
lbl_8017A978:
/* 8017A978 001765D8  38 80 00 00 */	li r4, 0
/* 8017A97C 001765DC  80 7E 00 08 */	lwz r3, 8(r30)
/* 8017A980 001765E0  1C 04 06 EC */	mulli r0, r4, 0x6ec
/* 8017A984 001765E4  80 FE 00 14 */	lwz r7, 0x14(r30)
/* 8017A988 001765E8  38 A3 FF FF */	addi r5, r3, -1
/* 8017A98C 001765EC  7C DF 02 14 */	add r6, r31, r0
/* 8017A990 001765F0  7C A8 00 34 */	cntlzw r8, r5
/* 8017A994 001765F4  88 66 4C 0A */	lbz r3, 0x4c0a(r6)
/* 8017A998 001765F8  38 00 00 01 */	li r0, 1
/* 8017A99C 001765FC  38 A7 FF FE */	addi r5, r7, -2
/* 8017A9A0 00176600  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017A9A4 00176604  98 66 4C 0A */	stb r3, 0x4c0a(r6)
/* 8017A9A8 00176608  20 67 00 02 */	subfic r3, r7, 2
/* 8017A9AC 0017660C  7C A3 18 F8 */	nor r3, r5, r3
/* 8017A9B0 00176610  98 86 4C 0B */	stb r4, 0x4c0b(r6)
/* 8017A9B4 00176614  7C 63 FE 70 */	srawi r3, r3, 0x1f
/* 8017A9B8 00176618  54 65 07 BC */	rlwinm r5, r3, 0, 0x1e, 0x1e
/* 8017A9BC 0017661C  88 66 4C 96 */	lbz r3, 0x4c96(r6)
/* 8017A9C0 00176620  51 05 DF FE */	rlwimi r5, r8, 0x1b, 0x1f, 0x1f
/* 8017A9C4 00176624  1C 00 06 EC */	mulli r0, r0, 0x6ec
/* 8017A9C8 00176628  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017A9CC 0017662C  98 66 4C 96 */	stb r3, 0x4c96(r6)
/* 8017A9D0 00176630  54 A3 18 38 */	slwi r3, r5, 3
/* 8017A9D4 00176634  98 86 4C 97 */	stb r4, 0x4c97(r6)
/* 8017A9D8 00176638  7C 7D 1A 14 */	add r3, r29, r3
/* 8017A9DC 0017663C  38 A3 00 64 */	addi r5, r3, 0x64
/* 8017A9E0 00176640  88 66 4D 22 */	lbz r3, 0x4d22(r6)
/* 8017A9E4 00176644  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017A9E8 00176648  98 66 4D 22 */	stb r3, 0x4d22(r6)
/* 8017A9EC 0017664C  98 86 4D 23 */	stb r4, 0x4d23(r6)
/* 8017A9F0 00176650  88 66 4D AE */	lbz r3, 0x4dae(r6)
/* 8017A9F4 00176654  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017A9F8 00176658  98 66 4D AE */	stb r3, 0x4dae(r6)
/* 8017A9FC 0017665C  98 86 4D AF */	stb r4, 0x4daf(r6)
/* 8017AA00 00176660  88 66 4E 3A */	lbz r3, 0x4e3a(r6)
/* 8017AA04 00176664  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA08 00176668  98 66 4E 3A */	stb r3, 0x4e3a(r6)
/* 8017AA0C 0017666C  98 86 4E 3B */	stb r4, 0x4e3b(r6)
/* 8017AA10 00176670  88 66 4E C6 */	lbz r3, 0x4ec6(r6)
/* 8017AA14 00176674  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA18 00176678  98 66 4E C6 */	stb r3, 0x4ec6(r6)
/* 8017AA1C 0017667C  98 86 4E C7 */	stb r4, 0x4ec7(r6)
/* 8017AA20 00176680  7C DF 02 14 */	add r6, r31, r0
/* 8017AA24 00176684  88 66 4C 0A */	lbz r3, 0x4c0a(r6)
/* 8017AA28 00176688  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA2C 0017668C  98 66 4C 0A */	stb r3, 0x4c0a(r6)
/* 8017AA30 00176690  98 86 4C 0B */	stb r4, 0x4c0b(r6)
/* 8017AA34 00176694  88 66 4C 96 */	lbz r3, 0x4c96(r6)
/* 8017AA38 00176698  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA3C 0017669C  98 66 4C 96 */	stb r3, 0x4c96(r6)
/* 8017AA40 001766A0  98 86 4C 97 */	stb r4, 0x4c97(r6)
/* 8017AA44 001766A4  88 66 4D 22 */	lbz r3, 0x4d22(r6)
/* 8017AA48 001766A8  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA4C 001766AC  98 66 4D 22 */	stb r3, 0x4d22(r6)
/* 8017AA50 001766B0  98 86 4D 23 */	stb r4, 0x4d23(r6)
/* 8017AA54 001766B4  88 66 4D AE */	lbz r3, 0x4dae(r6)
/* 8017AA58 001766B8  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA5C 001766BC  98 66 4D AE */	stb r3, 0x4dae(r6)
/* 8017AA60 001766C0  98 86 4D AF */	stb r4, 0x4daf(r6)
/* 8017AA64 001766C4  88 66 4E 3A */	lbz r3, 0x4e3a(r6)
/* 8017AA68 001766C8  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA6C 001766CC  98 66 4E 3A */	stb r3, 0x4e3a(r6)
/* 8017AA70 001766D0  98 86 4E 3B */	stb r4, 0x4e3b(r6)
/* 8017AA74 001766D4  88 66 4E C6 */	lbz r3, 0x4ec6(r6)
/* 8017AA78 001766D8  54 63 07 30 */	rlwinm r3, r3, 0, 0x1c, 0x18
/* 8017AA7C 001766DC  98 66 4E C6 */	stb r3, 0x4ec6(r6)
/* 8017AA80 001766E0  98 86 4E C7 */	stb r4, 0x4ec7(r6)
/* 8017AA84 001766E4  88 05 00 01 */	lbz r0, 1(r5)
/* 8017AA88 001766E8  2C 00 00 00 */	cmpwi r0, 0
/* 8017AA8C 001766EC  41 82 00 98 */	beq lbl_8017AB24
/* 8017AA90 001766F0  88 1D 00 60 */	lbz r0, 0x60(r29)
/* 8017AA94 001766F4  28 00 00 FF */	cmplwi r0, 0xff
/* 8017AA98 001766F8  41 82 00 18 */	beq lbl_8017AAB0
/* 8017AA9C 001766FC  1C 00 00 8C */	mulli r0, r0, 0x8c
/* 8017AAA0 00176700  7C 7F 02 14 */	add r3, r31, r0
/* 8017AAA4 00176704  88 03 4C 0A */	lbz r0, 0x4c0a(r3)
/* 8017AAA8 00176708  60 00 00 40 */	ori r0, r0, 0x40
/* 8017AAAC 0017670C  98 03 4C 0A */	stb r0, 0x4c0a(r3)
lbl_8017AAB0:
/* 8017AAB0 00176710  88 1D 00 61 */	lbz r0, 0x61(r29)
/* 8017AAB4 00176714  28 00 00 FF */	cmplwi r0, 0xff
/* 8017AAB8 00176718  41 82 00 18 */	beq lbl_8017AAD0
/* 8017AABC 0017671C  1C 00 00 8C */	mulli r0, r0, 0x8c
/* 8017AAC0 00176720  7C 7F 02 14 */	add r3, r31, r0
/* 8017AAC4 00176724  88 03 4C 0A */	lbz r0, 0x4c0a(r3)
/* 8017AAC8 00176728  60 00 00 40 */	ori r0, r0, 0x40
/* 8017AACC 0017672C  98 03 4C 0A */	stb r0, 0x4c0a(r3)
lbl_8017AAD0:
/* 8017AAD0 00176730  88 1D 00 62 */	lbz r0, 0x62(r29)
/* 8017AAD4 00176734  28 00 00 FF */	cmplwi r0, 0xff
/* 8017AAD8 00176738  41 82 00 18 */	beq lbl_8017AAF0
/* 8017AADC 0017673C  1C 00 00 8C */	mulli r0, r0, 0x8c
/* 8017AAE0 00176740  7C 7F 02 14 */	add r3, r31, r0
/* 8017AAE4 00176744  88 03 4C 0A */	lbz r0, 0x4c0a(r3)
/* 8017AAE8 00176748  60 00 00 20 */	ori r0, r0, 0x20
/* 8017AAEC 0017674C  98 03 4C 0A */	stb r0, 0x4c0a(r3)
lbl_8017AAF0:
/* 8017AAF0 00176750  88 1D 00 63 */	lbz r0, 0x63(r29)
/* 8017AAF4 00176754  28 00 00 FF */	cmplwi r0, 0xff
/* 8017AAF8 00176758  41 82 00 18 */	beq lbl_8017AB10
/* 8017AAFC 0017675C  1C 00 00 8C */	mulli r0, r0, 0x8c
/* 8017AB00 00176760  7C 7F 02 14 */	add r3, r31, r0
/* 8017AB04 00176764  88 03 4C 0A */	lbz r0, 0x4c0a(r3)
/* 8017AB08 00176768  60 00 00 20 */	ori r0, r0, 0x20
/* 8017AB0C 0017676C  98 03 4C 0A */	stb r0, 0x4c0a(r3)
lbl_8017AB10:
/* 8017AB10 00176770  7F 63 DB 78 */	mr r3, r27
/* 8017AB14 00176774  7F 84 E3 78 */	mr r4, r28
/* 8017AB18 00176778  7F C6 F3 78 */	mr r6, r30
/* 8017AB1C 0017677C  4B FF FC 39 */	bl func_8017A754
/* 8017AB20 00176780  48 00 00 14 */	b lbl_8017AB34
lbl_8017AB24:
/* 8017AB24 00176784  7F 63 DB 78 */	mr r3, r27
/* 8017AB28 00176788  7F 84 E3 78 */	mr r4, r28
/* 8017AB2C 0017678C  7F C6 F3 78 */	mr r6, r30
/* 8017AB30 00176790  4B FF F8 01 */	bl func_8017A330
lbl_8017AB34:
/* 8017AB34 00176794  39 61 00 20 */	addi r11, r1, 0x20
/* 8017AB38 00176798  48 04 C6 3D */	bl _restgpr_27
/* 8017AB3C 0017679C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8017AB40 001767A0  7C 08 03 A6 */	mtlr r0
/* 8017AB44 001767A4  38 21 00 20 */	addi r1, r1, 0x20
/* 8017AB48 001767A8  4E 80 00 20 */	blr

.global func_8017AB4C
func_8017AB4C:
/* 8017AB4C 001767AC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8017AB50 001767B0  7C 08 02 A6 */	mflr r0
/* 8017AB54 001767B4  90 01 00 34 */	stw r0, 0x34(r1)
/* 8017AB58 001767B8  39 61 00 30 */	addi r11, r1, 0x30
/* 8017AB5C 001767BC  48 04 C5 C1 */	bl _savegpr_24
/* 8017AB60 001767C0  3D 40 80 64 */	lis r10, lbl_8063CE34@ha
/* 8017AB64 001767C4  7C 79 1B 78 */	mr r25, r3
/* 8017AB68 001767C8  39 4A CE 34 */	addi r10, r10, lbl_8063CE34@l
/* 8017AB6C 001767CC  7C 9A 23 78 */	mr r26, r4
/* 8017AB70 001767D0  7C BB 2B 78 */	mr r27, r5
/* 8017AB74 001767D4  7C DC 33 78 */	mr r28, r6
/* 8017AB78 001767D8  7C FD 3B 78 */	mr r29, r7
/* 8017AB7C 001767DC  7D 1E 43 78 */	mr r30, r8
/* 8017AB80 001767E0  7D 3F 4B 78 */	mr r31, r9
/* 8017AB84 001767E4  38 6A 00 60 */	addi r3, r10, 0x60
/* 8017AB88 001767E8  48 21 D4 59 */	bl func_80397FE0
/* 8017AB8C 001767EC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 8017AB90 001767F0  7F C4 FE 70 */	srawi r4, r30, 0x1f
/* 8017AB94 001767F4  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8017AB98 001767F8  2C 1A 00 1D */	cmpwi r26, 0x1d
/* 8017AB9C 001767FC  7C 00 F0 10 */	subfc r0, r0, r30
/* 8017ABA0 00176800  7F 04 19 14 */	adde r24, r4, r3
/* 8017ABA4 00176804  40 82 00 50 */	bne lbl_8017ABF4
/* 8017ABA8 00176808  3C 60 66 66 */	lis r3, 0x66666667@ha
/* 8017ABAC 0017680C  3B 00 00 00 */	li r24, 0
/* 8017ABB0 00176810  38 03 66 67 */	addi r0, r3, 0x66666667@l
/* 8017ABB4 00176814  7C 00 F0 96 */	mulhw r0, r0, r30
/* 8017ABB8 00176818  7C 00 16 70 */	srawi r0, r0, 2
/* 8017ABBC 0017681C  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8017ABC0 00176820  7C 00 1A 14 */	add r0, r0, r3
/* 8017ABC4 00176824  1C 00 00 0A */	mulli r0, r0, 0xa
/* 8017ABC8 00176828  7C 00 F0 50 */	subf r0, r0, r30
/* 8017ABCC 0017682C  2C 00 00 09 */	cmpwi r0, 9
/* 8017ABD0 00176830  40 82 00 08 */	bne lbl_8017ABD8
/* 8017ABD4 00176834  3B 00 00 01 */	li r24, 1
lbl_8017ABD8:
/* 8017ABD8 00176838  2C 00 00 00 */	cmpwi r0, 0
/* 8017ABDC 0017683C  40 82 00 24 */	bne lbl_8017AC00
/* 8017ABE0 00176840  38 7F 01 27 */	addi r3, r31, 0x127
/* 8017ABE4 00176844  38 80 00 FF */	li r4, 0xff
/* 8017ABE8 00176848  38 A0 00 10 */	li r5, 0x10
/* 8017ABEC 0017684C  4B E8 95 19 */	bl memset
/* 8017ABF0 00176850  48 00 00 10 */	b lbl_8017AC00
lbl_8017ABF4:
/* 8017ABF4 00176854  2C 18 00 00 */	cmpwi r24, 0
/* 8017ABF8 00176858  41 82 00 08 */	beq lbl_8017AC00
/* 8017ABFC 0017685C  3B C0 00 00 */	li r30, 0
lbl_8017AC00:
/* 8017AC00 00176860  7F 23 CB 78 */	mr r3, r25
/* 8017AC04 00176864  7F 44 D3 78 */	mr r4, r26
/* 8017AC08 00176868  7F 65 DB 78 */	mr r5, r27
/* 8017AC0C 0017686C  7F 86 E3 78 */	mr r6, r28
/* 8017AC10 00176870  7F A7 EB 78 */	mr r7, r29
/* 8017AC14 00176874  7F C8 F3 78 */	mr r8, r30
/* 8017AC18 00176878  7F 09 C3 78 */	mr r9, r24
/* 8017AC1C 0017687C  7F EA FB 78 */	mr r10, r31
/* 8017AC20 00176880  48 00 00 1D */	bl func_8017AC3C
/* 8017AC24 00176884  39 61 00 30 */	addi r11, r1, 0x30
/* 8017AC28 00176888  48 04 C5 41 */	bl _restgpr_24
/* 8017AC2C 0017688C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8017AC30 00176890  7C 08 03 A6 */	mtlr r0
/* 8017AC34 00176894  38 21 00 30 */	addi r1, r1, 0x30
/* 8017AC38 00176898  4E 80 00 20 */	blr

.global func_8017AC3C
func_8017AC3C:
/* 8017AC3C 0017689C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8017AC40 001768A0  7C 08 02 A6 */	mflr r0
/* 8017AC44 001768A4  90 01 00 54 */	stw r0, 0x54(r1)
/* 8017AC48 001768A8  39 61 00 50 */	addi r11, r1, 0x50
/* 8017AC4C 001768AC  48 04 C4 B5 */	bl _savegpr_17
/* 8017AC50 001768B0  7C 9A 23 78 */	mr r26, r4
/* 8017AC54 001768B4  7C BB 2B 78 */	mr r27, r5
/* 8017AC58 001768B8  7C 79 1B 78 */	mr r25, r3
/* 8017AC5C 001768BC  7C D1 33 78 */	mr r17, r6
/* 8017AC60 001768C0  7C FC 3B 78 */	mr r28, r7
/* 8017AC64 001768C4  7D 1F 43 78 */	mr r31, r8
/* 8017AC68 001768C8  7D 3D 4B 78 */	mr r29, r9
/* 8017AC6C 001768CC  7D 5E 53 78 */	mr r30, r10
/* 8017AC70 001768D0  38 80 00 00 */	li r4, 0
/* 8017AC74 001768D4  38 A0 00 60 */	li r5, 0x60
/* 8017AC78 001768D8  4B E8 94 8D */	bl memset
/* 8017AC7C 001768DC  2C 1A 00 00 */	cmpwi r26, 0
/* 8017AC80 001768E0  41 81 00 14 */	bgt lbl_8017AC94
/* 8017AC84 001768E4  2C 1A 00 32 */	cmpwi r26, 0x32
/* 8017AC88 001768E8  40 81 00 0C */	ble lbl_8017AC94
/* 8017AC8C 001768EC  38 60 00 00 */	li r3, 0
/* 8017AC90 001768F0  48 00 06 D0 */	b lbl_8017B360
lbl_8017AC94:
/* 8017AC94 001768F4  2C 1A 00 27 */	cmpwi r26, 0x27
/* 8017AC98 001768F8  41 80 00 18 */	blt lbl_8017ACB0
/* 8017AC9C 001768FC  2C 1A 00 32 */	cmpwi r26, 0x32
/* 8017ACA0 00176900  40 80 00 10 */	bge lbl_8017ACB0
/* 8017ACA4 00176904  38 00 00 01 */	li r0, 1
/* 8017ACA8 00176908  98 19 00 80 */	stb r0, 0x80(r25)
/* 8017ACAC 0017690C  48 00 00 0C */	b lbl_8017ACB8
lbl_8017ACB0:
/* 8017ACB0 00176910  38 00 00 00 */	li r0, 0
/* 8017ACB4 00176914  98 19 00 80 */	stb r0, 0x80(r25)
lbl_8017ACB8:
/* 8017ACB8 00176918  38 00 00 00 */	li r0, 0
/* 8017ACBC 0017691C  2C 1D 00 00 */	cmpwi r29, 0
/* 8017ACC0 00176920  90 19 00 60 */	stw r0, 0x60(r25)
/* 8017ACC4 00176924  40 82 00 3C */	bne lbl_8017AD00
/* 8017ACC8 00176928  2C 1F 00 00 */	cmpwi r31, 0
/* 8017ACCC 0017692C  40 82 00 34 */	bne lbl_8017AD00
/* 8017ACD0 00176930  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 8017ACD4 00176934  7F 44 D3 78 */	mr r4, r26
/* 8017ACD8 00176938  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 8017ACDC 0017693C  38 63 00 60 */	addi r3, r3, 0x60
/* 8017ACE0 00176940  48 21 D3 01 */	bl func_80397FE0
/* 8017ACE4 00176944  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 8017ACE8 00176948  28 00 00 01 */	cmplwi r0, 1
/* 8017ACEC 0017694C  40 81 00 14 */	ble lbl_8017AD00
/* 8017ACF0 00176950  38 7E 01 27 */	addi r3, r30, 0x127
/* 8017ACF4 00176954  38 80 00 FF */	li r4, 0xff
/* 8017ACF8 00176958  38 A0 00 10 */	li r5, 0x10
/* 8017ACFC 0017695C  4B E8 94 09 */	bl memset
lbl_8017AD00:
/* 8017AD00 00176960  38 1E 01 27 */	addi r0, r30, 0x127
/* 8017AD04 00176964  9B B9 00 00 */	stb r29, 0(r25)
/* 8017AD08 00176968  2C 1C 00 00 */	cmpwi r28, 0
/* 8017AD0C 0017696C  90 19 00 78 */	stw r0, 0x78(r25)
/* 8017AD10 00176970  93 59 00 7C */	stw r26, 0x7c(r25)
/* 8017AD14 00176974  93 F9 00 18 */	stw r31, 0x18(r25)
/* 8017AD18 00176978  93 79 00 14 */	stw r27, 0x14(r25)
/* 8017AD1C 0017697C  92 39 00 08 */	stw r17, 8(r25)
/* 8017AD20 00176980  A0 1E 00 16 */	lhz r0, 0x16(r30)
/* 8017AD24 00176984  90 19 00 24 */	stw r0, 0x24(r25)
/* 8017AD28 00176988  40 80 00 08 */	bge lbl_8017AD30
/* 8017AD2C 0017698C  3B 80 00 00 */	li r28, 0
lbl_8017AD30:
/* 8017AD30 00176990  2C 1C 00 06 */	cmpwi r28, 6
/* 8017AD34 00176994  40 81 00 08 */	ble lbl_8017AD3C
/* 8017AD38 00176998  3B 80 00 06 */	li r28, 6
lbl_8017AD3C:
/* 8017AD3C 0017699C  80 79 00 08 */	lwz r3, 8(r25)
/* 8017AD40 001769A0  39 9E 4B 80 */	addi r12, r30, 0x4b80
/* 8017AD44 001769A4  39 7E 49 84 */	addi r11, r30, 0x4984
/* 8017AD48 001769A8  3C A0 80 64 */	lis r5, lbl_8063CE34@ha
/* 8017AD4C 001769AC  39 4C 00 8C */	addi r10, r12, 0x8c
/* 8017AD50 001769B0  39 2C 01 18 */	addi r9, r12, 0x118
/* 8017AD54 001769B4  39 0C 01 A4 */	addi r8, r12, 0x1a4
/* 8017AD58 001769B8  38 EC 02 30 */	addi r7, r12, 0x230
/* 8017AD5C 001769BC  38 CC 02 BC */	addi r6, r12, 0x2bc
/* 8017AD60 001769C0  38 03 FF FF */	addi r0, r3, -1
/* 8017AD64 001769C4  38 A5 CE 34 */	addi r5, r5, lbl_8063CE34@l
/* 8017AD68 001769C8  93 99 00 20 */	stw r28, 0x20(r25)
/* 8017AD6C 001769CC  7C 00 00 34 */	cntlzw r0, r0
/* 8017AD70 001769D0  7F 44 D3 78 */	mr r4, r26
/* 8017AD74 001769D4  38 65 00 60 */	addi r3, r5, 0x60
/* 8017AD78 001769D8  91 79 00 2C */	stw r11, 0x2c(r25)
/* 8017AD7C 001769DC  54 05 D9 7E */	srwi r5, r0, 5
/* 8017AD80 001769E0  91 99 00 48 */	stw r12, 0x48(r25)
/* 8017AD84 001769E4  91 59 00 4C */	stw r10, 0x4c(r25)
/* 8017AD88 001769E8  91 39 00 50 */	stw r9, 0x50(r25)
/* 8017AD8C 001769EC  91 19 00 54 */	stw r8, 0x54(r25)
/* 8017AD90 001769F0  90 F9 00 58 */	stw r7, 0x58(r25)
/* 8017AD94 001769F4  90 D9 00 5C */	stw r6, 0x5c(r25)
/* 8017AD98 001769F8  48 21 D1 F5 */	bl func_80397F8C
/* 8017AD9C 001769FC  98 7E 00 19 */	stb r3, 0x19(r30)
/* 8017ADA0 00176A00  38 00 00 00 */	li r0, 0
/* 8017ADA4 00176A04  38 60 00 01 */	li r3, 1
/* 8017ADA8 00176A08  2C 1A 00 18 */	cmpwi r26, 0x18
/* 8017ADAC 00176A0C  80 99 00 08 */	lwz r4, 8(r25)
/* 8017ADB0 00176A10  90 9E 00 08 */	stw r4, 8(r30)
/* 8017ADB4 00176A14  90 1E 00 0C */	stw r0, 0xc(r30)
/* 8017ADB8 00176A18  98 7E 00 1B */	stb r3, 0x1b(r30)
/* 8017ADBC 00176A1C  88 19 00 00 */	lbz r0, 0(r25)
/* 8017ADC0 00176A20  7C 00 00 34 */	cntlzw r0, r0
/* 8017ADC4 00176A24  54 00 D9 7E */	srwi r0, r0, 5
/* 8017ADC8 00176A28  90 19 00 04 */	stw r0, 4(r25)
/* 8017ADCC 00176A2C  41 80 00 14 */	blt lbl_8017ADE0
/* 8017ADD0 00176A30  2C 1A 00 1A */	cmpwi r26, 0x1a
/* 8017ADD4 00176A34  41 81 00 0C */	bgt lbl_8017ADE0
/* 8017ADD8 00176A38  98 79 00 71 */	stb r3, 0x71(r25)
/* 8017ADDC 00176A3C  48 00 00 0C */	b lbl_8017ADE8
lbl_8017ADE0:
/* 8017ADE0 00176A40  38 00 00 00 */	li r0, 0
/* 8017ADE4 00176A44  98 19 00 71 */	stb r0, 0x71(r25)
lbl_8017ADE8:
/* 8017ADE8 00176A48  38 00 00 00 */	li r0, 0
/* 8017ADEC 00176A4C  38 60 00 00 */	li r3, 0
/* 8017ADF0 00176A50  90 19 00 1C */	stw r0, 0x1c(r25)
/* 8017ADF4 00176A54  48 25 F4 79 */	bl func_803DA26C
/* 8017ADF8 00176A58  7C 74 1B 78 */	mr r20, r3
/* 8017ADFC 00176A5C  7F 33 CB 78 */	mr r19, r25
/* 8017AE00 00176A60  3A 5E 21 F8 */	addi r18, r30, 0x21f8
/* 8017AE04 00176A64  3A A0 00 00 */	li r21, 0
/* 8017AE08 00176A68  3A 20 00 32 */	li r17, 0x32
lbl_8017AE0C:
/* 8017AE0C 00176A6C  92 53 00 30 */	stw r18, 0x30(r19)
/* 8017AE10 00176A70  88 12 00 8A */	lbz r0, 0x8a(r18)
/* 8017AE14 00176A74  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8017AE18 00176A78  41 82 00 7C */	beq lbl_8017AE94
/* 8017AE1C 00176A7C  7E 43 93 78 */	mr r3, r18
/* 8017AE20 00176A80  38 80 00 A0 */	li r4, 0xa0
/* 8017AE24 00176A84  38 A0 00 00 */	li r5, 0
/* 8017AE28 00176A88  48 26 00 D5 */	bl func_803DAEFC
/* 8017AE2C 00176A8C  80 19 00 1C */	lwz r0, 0x1c(r25)
/* 8017AE30 00176A90  7C 03 00 00 */	cmpw r3, r0
/* 8017AE34 00176A94  40 81 00 08 */	ble lbl_8017AE3C
/* 8017AE38 00176A98  90 79 00 1C */	stw r3, 0x1c(r25)
lbl_8017AE3C:
/* 8017AE3C 00176A9C  2C 1B 00 02 */	cmpwi r27, 2
/* 8017AE40 00176AA0  40 82 00 54 */	bne lbl_8017AE94
/* 8017AE44 00176AA4  92 39 00 1C */	stw r17, 0x1c(r25)
/* 8017AE48 00176AA8  7E 43 93 78 */	mr r3, r18
/* 8017AE4C 00176AAC  7E 84 A3 78 */	mr r4, r20
/* 8017AE50 00176AB0  48 26 18 F9 */	bl func_803DC748
/* 8017AE54 00176AB4  7E 83 A3 78 */	mr r3, r20
/* 8017AE58 00176AB8  38 80 00 05 */	li r4, 5
/* 8017AE5C 00176ABC  38 A0 00 00 */	li r5, 0
/* 8017AE60 00176AC0  48 26 2B 7D */	bl func_803DD9DC
/* 8017AE64 00176AC4  38 80 00 32 */	li r4, 0x32
/* 8017AE68 00176AC8  48 26 0C B5 */	bl func_803DBB1C
/* 8017AE6C 00176ACC  90 61 00 08 */	stw r3, 8(r1)
/* 8017AE70 00176AD0  7E 83 A3 78 */	mr r3, r20
/* 8017AE74 00176AD4  38 A1 00 08 */	addi r5, r1, 8
/* 8017AE78 00176AD8  38 80 00 08 */	li r4, 8
/* 8017AE7C 00176ADC  48 26 06 A9 */	bl func_803DB524
/* 8017AE80 00176AE0  7E 83 A3 78 */	mr r3, r20
/* 8017AE84 00176AE4  48 25 F9 F5 */	bl func_803DA878
/* 8017AE88 00176AE8  7E 83 A3 78 */	mr r3, r20
/* 8017AE8C 00176AEC  7E 44 93 78 */	mr r4, r18
/* 8017AE90 00176AF0  48 26 1A 7D */	bl func_803DC90C
lbl_8017AE94:
/* 8017AE94 00176AF4  3A B5 00 01 */	addi r21, r21, 1
/* 8017AE98 00176AF8  3A 73 00 04 */	addi r19, r19, 4
/* 8017AE9C 00176AFC  2C 15 00 06 */	cmpwi r21, 6
/* 8017AEA0 00176B00  3A 52 00 8C */	addi r18, r18, 0x8c
/* 8017AEA4 00176B04  41 80 FF 68 */	blt lbl_8017AE0C
/* 8017AEA8 00176B08  7E 83 A3 78 */	mr r3, r20
/* 8017AEAC 00176B0C  4B FF 31 F5 */	bl func_8016E0A0
/* 8017AEB0 00176B10  3E 20 80 64 */	lis r17, lbl_8063CE34@ha
/* 8017AEB4 00176B14  80 B9 00 04 */	lwz r5, 4(r25)
/* 8017AEB8 00176B18  3A 31 CE 34 */	addi r17, r17, lbl_8063CE34@l
/* 8017AEBC 00176B1C  7F 44 D3 78 */	mr r4, r26
/* 8017AEC0 00176B20  38 71 00 60 */	addi r3, r17, 0x60
/* 8017AEC4 00176B24  48 21 D2 0D */	bl func_803980D0
/* 8017AEC8 00176B28  2C 1B 00 02 */	cmpwi r27, 2
/* 8017AECC 00176B2C  98 79 00 0C */	stb r3, 0xc(r25)
/* 8017AED0 00176B30  41 82 00 74 */	beq lbl_8017AF44
/* 8017AED4 00176B34  40 80 00 10 */	bge lbl_8017AEE4
/* 8017AED8 00176B38  2C 1B 00 01 */	cmpwi r27, 1
/* 8017AEDC 00176B3C  40 80 00 14 */	bge lbl_8017AEF0
/* 8017AEE0 00176B40  48 00 00 C8 */	b lbl_8017AFA8
lbl_8017AEE4:
/* 8017AEE4 00176B44  2C 1B 00 06 */	cmpwi r27, 6
/* 8017AEE8 00176B48  41 82 00 90 */	beq lbl_8017AF78
/* 8017AEEC 00176B4C  48 00 00 BC */	b lbl_8017AFA8
lbl_8017AEF0:
/* 8017AEF0 00176B50  7F 44 D3 78 */	mr r4, r26
/* 8017AEF4 00176B54  38 71 00 60 */	addi r3, r17, 0x60
/* 8017AEF8 00176B58  38 A0 00 00 */	li r5, 0
/* 8017AEFC 00176B5C  48 21 D0 39 */	bl func_80397F34
/* 8017AF00 00176B60  54 63 04 3F */	clrlwi. r3, r3, 0x10
/* 8017AF04 00176B64  41 82 00 0C */	beq lbl_8017AF10
/* 8017AF08 00176B68  4B FE 7B 89 */	bl func_80162A90
/* 8017AF0C 00176B6C  48 00 00 08 */	b lbl_8017AF14
lbl_8017AF10:
/* 8017AF10 00176B70  38 60 00 00 */	li r3, 0
lbl_8017AF14:
/* 8017AF14 00176B74  88 19 00 71 */	lbz r0, 0x71(r25)
/* 8017AF18 00176B78  90 79 00 10 */	stw r3, 0x10(r25)
/* 8017AF1C 00176B7C  2C 00 00 00 */	cmpwi r0, 0
/* 8017AF20 00176B80  40 82 00 10 */	bne lbl_8017AF30
/* 8017AF24 00176B84  80 19 00 1C */	lwz r0, 0x1c(r25)
/* 8017AF28 00176B88  2C 00 00 1E */	cmpwi r0, 0x1e
/* 8017AF2C 00176B8C  40 80 00 10 */	bge lbl_8017AF3C
lbl_8017AF30:
/* 8017AF30 00176B90  38 00 00 1E */	li r0, 0x1e
/* 8017AF34 00176B94  90 19 00 6C */	stw r0, 0x6c(r25)
/* 8017AF38 00176B98  48 00 00 70 */	b lbl_8017AFA8
lbl_8017AF3C:
/* 8017AF3C 00176B9C  90 19 00 6C */	stw r0, 0x6c(r25)
/* 8017AF40 00176BA0  48 00 00 68 */	b lbl_8017AFA8
lbl_8017AF44:
/* 8017AF44 00176BA4  7F 44 D3 78 */	mr r4, r26
/* 8017AF48 00176BA8  38 71 00 60 */	addi r3, r17, 0x60
/* 8017AF4C 00176BAC  38 A0 00 01 */	li r5, 1
/* 8017AF50 00176BB0  48 21 CF E5 */	bl func_80397F34
/* 8017AF54 00176BB4  54 63 04 3F */	clrlwi. r3, r3, 0x10
/* 8017AF58 00176BB8  41 82 00 0C */	beq lbl_8017AF64
/* 8017AF5C 00176BBC  4B FE 7B 35 */	bl func_80162A90
/* 8017AF60 00176BC0  48 00 00 08 */	b lbl_8017AF68
lbl_8017AF64:
/* 8017AF64 00176BC4  38 60 00 00 */	li r3, 0
lbl_8017AF68:
/* 8017AF68 00176BC8  38 00 00 32 */	li r0, 0x32
/* 8017AF6C 00176BCC  90 79 00 10 */	stw r3, 0x10(r25)
/* 8017AF70 00176BD0  90 19 00 6C */	stw r0, 0x6c(r25)
/* 8017AF74 00176BD4  48 00 00 34 */	b lbl_8017AFA8
lbl_8017AF78:
/* 8017AF78 00176BD8  7F 44 D3 78 */	mr r4, r26
/* 8017AF7C 00176BDC  38 71 00 60 */	addi r3, r17, 0x60
/* 8017AF80 00176BE0  38 A0 00 00 */	li r5, 0
/* 8017AF84 00176BE4  48 21 CF B1 */	bl func_80397F34
/* 8017AF88 00176BE8  54 63 04 3F */	clrlwi. r3, r3, 0x10
/* 8017AF8C 00176BEC  41 82 00 0C */	beq lbl_8017AF98
/* 8017AF90 00176BF0  4B FE 7B 01 */	bl func_80162A90
/* 8017AF94 00176BF4  48 00 00 08 */	b lbl_8017AF9C
lbl_8017AF98:
/* 8017AF98 00176BF8  38 60 00 00 */	li r3, 0
lbl_8017AF9C:
/* 8017AF9C 00176BFC  38 00 00 05 */	li r0, 5
/* 8017AFA0 00176C00  90 79 00 10 */	stw r3, 0x10(r25)
/* 8017AFA4 00176C04  90 19 00 6C */	stw r0, 0x6c(r25)
lbl_8017AFA8:
/* 8017AFA8 00176C08  2C 1A 00 1D */	cmpwi r26, 0x1d
/* 8017AFAC 00176C0C  40 82 00 84 */	bne lbl_8017B030
/* 8017AFB0 00176C10  2C 1F 00 09 */	cmpwi r31, 9
/* 8017AFB4 00176C14  40 80 00 10 */	bge lbl_8017AFC4
/* 8017AFB8 00176C18  38 00 00 00 */	li r0, 0
/* 8017AFBC 00176C1C  90 19 00 10 */	stw r0, 0x10(r25)
/* 8017AFC0 00176C20  48 00 00 70 */	b lbl_8017B030
lbl_8017AFC4:
/* 8017AFC4 00176C24  2C 1F 00 13 */	cmpwi r31, 0x13
/* 8017AFC8 00176C28  40 80 00 10 */	bge lbl_8017AFD8
/* 8017AFCC 00176C2C  38 00 00 01 */	li r0, 1
/* 8017AFD0 00176C30  90 19 00 10 */	stw r0, 0x10(r25)
/* 8017AFD4 00176C34  48 00 00 5C */	b lbl_8017B030
lbl_8017AFD8:
/* 8017AFD8 00176C38  2C 1F 00 1D */	cmpwi r31, 0x1d
/* 8017AFDC 00176C3C  40 80 00 10 */	bge lbl_8017AFEC
/* 8017AFE0 00176C40  38 00 00 02 */	li r0, 2
/* 8017AFE4 00176C44  90 19 00 10 */	stw r0, 0x10(r25)
/* 8017AFE8 00176C48  48 00 00 48 */	b lbl_8017B030
lbl_8017AFEC:
/* 8017AFEC 00176C4C  2C 1F 00 31 */	cmpwi r31, 0x31
/* 8017AFF0 00176C50  40 80 00 10 */	bge lbl_8017B000
/* 8017AFF4 00176C54  38 00 00 03 */	li r0, 3
/* 8017AFF8 00176C58  90 19 00 10 */	stw r0, 0x10(r25)
/* 8017AFFC 00176C5C  48 00 00 34 */	b lbl_8017B030
lbl_8017B000:
/* 8017B000 00176C60  2C 1F 00 45 */	cmpwi r31, 0x45
/* 8017B004 00176C64  40 80 00 10 */	bge lbl_8017B014
/* 8017B008 00176C68  38 00 00 04 */	li r0, 4
/* 8017B00C 00176C6C  90 19 00 10 */	stw r0, 0x10(r25)
/* 8017B010 00176C70  48 00 00 20 */	b lbl_8017B030
lbl_8017B014:
/* 8017B014 00176C74  2C 1F 00 59 */	cmpwi r31, 0x59
/* 8017B018 00176C78  40 80 00 10 */	bge lbl_8017B028
/* 8017B01C 00176C7C  38 00 00 05 */	li r0, 5
/* 8017B020 00176C80  90 19 00 10 */	stw r0, 0x10(r25)
/* 8017B024 00176C84  48 00 00 0C */	b lbl_8017B030
lbl_8017B028:
/* 8017B028 00176C88  38 00 00 06 */	li r0, 6
/* 8017B02C 00176C8C  90 19 00 10 */	stw r0, 0x10(r25)
lbl_8017B030:
/* 8017B030 00176C90  2C 1A 00 1D */	cmpwi r26, 0x1d
/* 8017B034 00176C94  40 82 00 28 */	bne lbl_8017B05C
/* 8017B038 00176C98  3C 60 66 66 */	lis r3, 0x66666667@ha
/* 8017B03C 00176C9C  38 03 66 67 */	addi r0, r3, 0x66666667@l
/* 8017B040 00176CA0  7C 00 F8 96 */	mulhw r0, r0, r31
/* 8017B044 00176CA4  7C 00 16 70 */	srawi r0, r0, 2
/* 8017B048 00176CA8  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8017B04C 00176CAC  7C 00 1A 14 */	add r0, r0, r3
/* 8017B050 00176CB0  1C 00 00 0A */	mulli r0, r0, 0xa
/* 8017B054 00176CB4  7F E0 F8 50 */	subf r31, r0, r31
/* 8017B058 00176CB8  93 F9 00 18 */	stw r31, 0x18(r25)
lbl_8017B05C:
/* 8017B05C 00176CBC  7F 23 CB 78 */	mr r3, r25
/* 8017B060 00176CC0  7F 44 D3 78 */	mr r4, r26
/* 8017B064 00176CC4  7F 25 CB 78 */	mr r5, r25
/* 8017B068 00176CC8  4B FF D4 2D */	bl func_80178494
/* 8017B06C 00176CCC  2C 03 00 00 */	cmpwi r3, 0
/* 8017B070 00176CD0  7C 7F 1B 78 */	mr r31, r3
/* 8017B074 00176CD4  40 82 00 0C */	bne lbl_8017B080
/* 8017B078 00176CD8  38 60 00 00 */	li r3, 0
/* 8017B07C 00176CDC  48 00 02 E4 */	b lbl_8017B360
lbl_8017B080:
/* 8017B080 00176CE0  90 79 00 60 */	stw r3, 0x60(r25)
/* 8017B084 00176CE4  7F 23 CB 78 */	mr r3, r25
/* 8017B088 00176CE8  80 B9 00 2C */	lwz r5, 0x2c(r25)
/* 8017B08C 00176CEC  7F 44 D3 78 */	mr r4, r26
/* 8017B090 00176CF0  7F E6 FB 78 */	mr r6, r31
/* 8017B094 00176CF4  4B FF D7 15 */	bl func_801787A8
/* 8017B098 00176CF8  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 8017B09C 00176CFC  7F 44 D3 78 */	mr r4, r26
/* 8017B0A0 00176D00  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 8017B0A4 00176D04  38 63 00 60 */	addi r3, r3, 0x60
/* 8017B0A8 00176D08  48 21 D1 DD */	bl func_80398284
/* 8017B0AC 00176D0C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8017B0B0 00176D10  41 82 00 58 */	beq lbl_8017B108
/* 8017B0B4 00176D14  2C 1D 00 00 */	cmpwi r29, 0
/* 8017B0B8 00176D18  40 82 00 50 */	bne lbl_8017B108
/* 8017B0BC 00176D1C  80 99 00 10 */	lwz r4, 0x10(r25)
/* 8017B0C0 00176D20  2C 04 00 00 */	cmpwi r4, 0
/* 8017B0C4 00176D24  40 80 00 08 */	bge lbl_8017B0CC
/* 8017B0C8 00176D28  38 80 00 00 */	li r4, 0
lbl_8017B0CC:
/* 8017B0CC 00176D2C  2C 04 00 07 */	cmpwi r4, 7
/* 8017B0D0 00176D30  40 81 00 08 */	ble lbl_8017B0D8
/* 8017B0D4 00176D34  38 80 00 07 */	li r4, 7
lbl_8017B0D8:
/* 8017B0D8 00176D38  2C 1B 00 01 */	cmpwi r27, 1
/* 8017B0DC 00176D3C  40 82 00 14 */	bne lbl_8017B0F0
/* 8017B0E0 00176D40  B0 9F 00 88 */	sth r4, 0x88(r31)
/* 8017B0E4 00176D44  38 04 00 20 */	addi r0, r4, 0x20
/* 8017B0E8 00176D48  B0 1F 00 8A */	sth r0, 0x8a(r31)
/* 8017B0EC 00176D4C  48 00 00 1C */	b lbl_8017B108
lbl_8017B0F0:
/* 8017B0F0 00176D50  2C 1B 00 02 */	cmpwi r27, 2
/* 8017B0F4 00176D54  40 82 00 14 */	bne lbl_8017B108
/* 8017B0F8 00176D58  38 64 00 08 */	addi r3, r4, 8
/* 8017B0FC 00176D5C  38 04 00 28 */	addi r0, r4, 0x28
/* 8017B100 00176D60  B0 7F 00 88 */	sth r3, 0x88(r31)
/* 8017B104 00176D64  B0 1F 00 8A */	sth r0, 0x8a(r31)
lbl_8017B108:
/* 8017B108 00176D68  80 B9 00 60 */	lwz r5, 0x60(r25)
/* 8017B10C 00176D6C  7F 23 CB 78 */	mr r3, r25
/* 8017B110 00176D70  88 1E 4E C9 */	lbz r0, 0x4ec9(r30)
/* 8017B114 00176D74  7F 44 D3 78 */	mr r4, r26
/* 8017B118 00176D78  A0 E5 00 02 */	lhz r7, 2(r5)
/* 8017B11C 00176D7C  7F E5 FB 78 */	mr r5, r31
/* 8017B120 00176D80  88 DE 4E C8 */	lbz r6, 0x4ec8(r30)
/* 8017B124 00176D84  60 00 00 10 */	ori r0, r0, 0x10
/* 8017B128 00176D88  50 E6 0E 3C */	rlwimi r6, r7, 1, 0x18, 0x1e
/* 8017B12C 00176D8C  98 1E 4E C9 */	stb r0, 0x4ec9(r30)
/* 8017B130 00176D90  60 C0 00 01 */	ori r0, r6, 1
/* 8017B134 00176D94  7F C7 F3 78 */	mr r7, r30
/* 8017B138 00176D98  98 1E 4E C8 */	stb r0, 0x4ec8(r30)
/* 8017B13C 00176D9C  7F 26 CB 78 */	mr r6, r25
/* 8017B140 00176DA0  81 19 00 60 */	lwz r8, 0x60(r25)
/* 8017B144 00176DA4  88 08 00 5F */	lbz r0, 0x5f(r8)
/* 8017B148 00176DA8  98 1E 01 24 */	stb r0, 0x124(r30)
/* 8017B14C 00176DAC  9B 5E 01 25 */	stb r26, 0x125(r30)
/* 8017B150 00176DB0  80 19 00 04 */	lwz r0, 4(r25)
/* 8017B154 00176DB4  98 1E 01 26 */	stb r0, 0x126(r30)
/* 8017B158 00176DB8  A0 1F 00 88 */	lhz r0, 0x88(r31)
/* 8017B15C 00176DBC  B0 1E 01 18 */	sth r0, 0x118(r30)
/* 8017B160 00176DC0  A0 1F 00 8A */	lhz r0, 0x8a(r31)
/* 8017B164 00176DC4  B0 1E 01 1A */	sth r0, 0x11a(r30)
/* 8017B168 00176DC8  88 1F 00 8C */	lbz r0, 0x8c(r31)
/* 8017B16C 00176DCC  98 1E 01 1C */	stb r0, 0x11c(r30)
/* 8017B170 00176DD0  88 1F 00 8D */	lbz r0, 0x8d(r31)
/* 8017B174 00176DD4  98 1E 01 1D */	stb r0, 0x11d(r30)
/* 8017B178 00176DD8  88 1F 00 8E */	lbz r0, 0x8e(r31)
/* 8017B17C 00176DDC  98 1E 01 1E */	stb r0, 0x11e(r30)
/* 8017B180 00176DE0  88 1F 00 8F */	lbz r0, 0x8f(r31)
/* 8017B184 00176DE4  98 1E 01 1F */	stb r0, 0x11f(r30)
/* 8017B188 00176DE8  88 1F 00 90 */	lbz r0, 0x90(r31)
/* 8017B18C 00176DEC  98 1E 01 20 */	stb r0, 0x120(r30)
/* 8017B190 00176DF0  88 1F 00 91 */	lbz r0, 0x91(r31)
/* 8017B194 00176DF4  98 1E 01 21 */	stb r0, 0x121(r30)
/* 8017B198 00176DF8  88 1F 00 92 */	lbz r0, 0x92(r31)
/* 8017B19C 00176DFC  98 1E 01 22 */	stb r0, 0x122(r30)
/* 8017B1A0 00176E00  88 1F 00 93 */	lbz r0, 0x93(r31)
/* 8017B1A4 00176E04  98 1E 01 23 */	stb r0, 0x123(r30)
/* 8017B1A8 00176E08  81 19 00 60 */	lwz r8, 0x60(r25)
/* 8017B1AC 00176E0C  88 08 00 60 */	lbz r0, 0x60(r8)
/* 8017B1B0 00176E10  98 1E 01 37 */	stb r0, 0x137(r30)
/* 8017B1B4 00176E14  4B FF F7 19 */	bl func_8017A8CC
/* 8017B1B8 00176E18  88 19 00 71 */	lbz r0, 0x71(r25)
/* 8017B1BC 00176E1C  7C 7F 1B 78 */	mr r31, r3
/* 8017B1C0 00176E20  2C 00 00 00 */	cmpwi r0, 0
/* 8017B1C4 00176E24  41 82 01 6C */	beq lbl_8017B330
/* 8017B1C8 00176E28  38 00 00 3F */	li r0, 0x3f
/* 8017B1CC 00176E2C  38 DE 3B A8 */	addi r6, r30, 0x3ba8
/* 8017B1D0 00176E30  38 9E 1F F8 */	addi r4, r30, 0x1ff8
/* 8017B1D4 00176E34  7C 09 03 A6 */	mtctr r0
lbl_8017B1D8:
/* 8017B1D8 00176E38  80 64 00 04 */	lwz r3, 4(r4)
/* 8017B1DC 00176E3C  84 04 00 08 */	lwzu r0, 8(r4)
/* 8017B1E0 00176E40  90 66 00 04 */	stw r3, 4(r6)
/* 8017B1E4 00176E44  94 06 00 08 */	stwu r0, 8(r6)
/* 8017B1E8 00176E48  42 00 FF F0 */	bdnz lbl_8017B1D8
/* 8017B1EC 00176E4C  80 64 00 04 */	lwz r3, 4(r4)
/* 8017B1F0 00176E50  38 00 01 A4 */	li r0, 0x1a4
/* 8017B1F4 00176E54  38 BE 3D A7 */	addi r5, r30, 0x3da7
/* 8017B1F8 00176E58  38 9E 21 F7 */	addi r4, r30, 0x21f7
/* 8017B1FC 00176E5C  90 66 00 04 */	stw r3, 4(r6)
/* 8017B200 00176E60  7C 09 03 A6 */	mtctr r0
lbl_8017B204:
/* 8017B204 00176E64  88 64 00 01 */	lbz r3, 1(r4)
/* 8017B208 00176E68  8C 04 00 02 */	lbzu r0, 2(r4)
/* 8017B20C 00176E6C  98 65 00 01 */	stb r3, 1(r5)
/* 8017B210 00176E70  9C 05 00 02 */	stbu r0, 2(r5)
/* 8017B214 00176E74  42 00 FF F0 */	bdnz lbl_8017B204
/* 8017B218 00176E78  88 9E 25 40 */	lbz r4, 0x2540(r30)
/* 8017B21C 00176E7C  38 00 00 17 */	li r0, 0x17
/* 8017B220 00176E80  88 7E 25 41 */	lbz r3, 0x2541(r30)
/* 8017B224 00176E84  38 BE 40 F0 */	addi r5, r30, 0x40f0
/* 8017B228 00176E88  98 9E 40 F0 */	stb r4, 0x40f0(r30)
/* 8017B22C 00176E8C  38 9E 25 40 */	addi r4, r30, 0x2540
/* 8017B230 00176E90  98 7E 40 F1 */	stb r3, 0x40f1(r30)
/* 8017B234 00176E94  7C 09 03 A6 */	mtctr r0
lbl_8017B238:
/* 8017B238 00176E98  80 64 00 04 */	lwz r3, 4(r4)
/* 8017B23C 00176E9C  84 04 00 08 */	lwzu r0, 8(r4)
/* 8017B240 00176EA0  90 65 00 04 */	stw r3, 4(r5)
/* 8017B244 00176EA4  94 05 00 08 */	stwu r0, 8(r5)
/* 8017B248 00176EA8  42 00 FF F0 */	bdnz lbl_8017B238
/* 8017B24C 00176EAC  80 7E 25 FC */	lwz r3, 0x25fc(r30)
/* 8017B250 00176EB0  38 00 00 30 */	li r0, 0x30
/* 8017B254 00176EB4  38 BE 41 AE */	addi r5, r30, 0x41ae
/* 8017B258 00176EB8  38 9E 25 FE */	addi r4, r30, 0x25fe
/* 8017B25C 00176EBC  90 7E 41 AC */	stw r3, 0x41ac(r30)
/* 8017B260 00176EC0  7C 09 03 A6 */	mtctr r0
lbl_8017B264:
/* 8017B264 00176EC4  A0 64 00 02 */	lhz r3, 2(r4)
/* 8017B268 00176EC8  A4 04 00 04 */	lhzu r0, 4(r4)
/* 8017B26C 00176ECC  B0 65 00 02 */	sth r3, 2(r5)
/* 8017B270 00176ED0  B4 05 00 04 */	sthu r0, 4(r5)
/* 8017B274 00176ED4  42 00 FF F0 */	bdnz lbl_8017B264
/* 8017B278 00176ED8  82 3E 26 C0 */	lwz r17, 0x26c0(r30)
/* 8017B27C 00176EDC  82 5E 26 C4 */	lwz r18, 0x26c4(r30)
/* 8017B280 00176EE0  82 7E 26 C8 */	lwz r19, 0x26c8(r30)
/* 8017B284 00176EE4  8A 9E 26 CC */	lbz r20, 0x26cc(r30)
/* 8017B288 00176EE8  8A BE 26 CD */	lbz r21, 0x26cd(r30)
/* 8017B28C 00176EEC  8A DE 26 CE */	lbz r22, 0x26ce(r30)
/* 8017B290 00176EF0  8A FE 26 CF */	lbz r23, 0x26cf(r30)
/* 8017B294 00176EF4  8B 1E 26 D0 */	lbz r24, 0x26d0(r30)
/* 8017B298 00176EF8  8B BE 26 D1 */	lbz r29, 0x26d1(r30)
/* 8017B29C 00176EFC  8B 9E 26 D2 */	lbz r28, 0x26d2(r30)
/* 8017B2A0 00176F00  8B 7E 26 D3 */	lbz r27, 0x26d3(r30)
/* 8017B2A4 00176F04  8B 5E 26 D4 */	lbz r26, 0x26d4(r30)
/* 8017B2A8 00176F08  89 9E 26 D5 */	lbz r12, 0x26d5(r30)
/* 8017B2AC 00176F0C  81 7E 26 D8 */	lwz r11, 0x26d8(r30)
/* 8017B2B0 00176F10  81 5E 26 DC */	lwz r10, 0x26dc(r30)
/* 8017B2B4 00176F14  89 3E 26 E0 */	lbz r9, 0x26e0(r30)
/* 8017B2B8 00176F18  89 1E 26 E1 */	lbz r8, 0x26e1(r30)
/* 8017B2BC 00176F1C  88 FE 26 E2 */	lbz r7, 0x26e2(r30)
/* 8017B2C0 00176F20  88 DE 26 E3 */	lbz r6, 0x26e3(r30)
/* 8017B2C4 00176F24  88 BE 26 E4 */	lbz r5, 0x26e4(r30)
/* 8017B2C8 00176F28  88 9E 26 E5 */	lbz r4, 0x26e5(r30)
/* 8017B2CC 00176F2C  88 7E 26 E6 */	lbz r3, 0x26e6(r30)
/* 8017B2D0 00176F30  88 1E 26 E7 */	lbz r0, 0x26e7(r30)
/* 8017B2D4 00176F34  92 3E 42 70 */	stw r17, 0x4270(r30)
/* 8017B2D8 00176F38  92 5E 42 74 */	stw r18, 0x4274(r30)
/* 8017B2DC 00176F3C  92 7E 42 78 */	stw r19, 0x4278(r30)
/* 8017B2E0 00176F40  9A 9E 42 7C */	stb r20, 0x427c(r30)
/* 8017B2E4 00176F44  9A BE 42 7D */	stb r21, 0x427d(r30)
/* 8017B2E8 00176F48  9A DE 42 7E */	stb r22, 0x427e(r30)
/* 8017B2EC 00176F4C  9A FE 42 7F */	stb r23, 0x427f(r30)
/* 8017B2F0 00176F50  9B 1E 42 80 */	stb r24, 0x4280(r30)
/* 8017B2F4 00176F54  9B BE 42 81 */	stb r29, 0x4281(r30)
/* 8017B2F8 00176F58  9B 9E 42 82 */	stb r28, 0x4282(r30)
/* 8017B2FC 00176F5C  9B 7E 42 83 */	stb r27, 0x4283(r30)
/* 8017B300 00176F60  9B 5E 42 84 */	stb r26, 0x4284(r30)
/* 8017B304 00176F64  99 9E 42 85 */	stb r12, 0x4285(r30)
/* 8017B308 00176F68  91 7E 42 88 */	stw r11, 0x4288(r30)
/* 8017B30C 00176F6C  91 5E 42 8C */	stw r10, 0x428c(r30)
/* 8017B310 00176F70  99 3E 42 90 */	stb r9, 0x4290(r30)
/* 8017B314 00176F74  99 1E 42 91 */	stb r8, 0x4291(r30)
/* 8017B318 00176F78  98 FE 42 92 */	stb r7, 0x4292(r30)
/* 8017B31C 00176F7C  98 DE 42 93 */	stb r6, 0x4293(r30)
/* 8017B320 00176F80  98 BE 42 94 */	stb r5, 0x4294(r30)
/* 8017B324 00176F84  98 9E 42 95 */	stb r4, 0x4295(r30)
/* 8017B328 00176F88  98 7E 42 96 */	stb r3, 0x4296(r30)
/* 8017B32C 00176F8C  98 1E 42 97 */	stb r0, 0x4297(r30)
lbl_8017B330:
/* 8017B330 00176F90  88 19 00 00 */	lbz r0, 0(r25)
/* 8017B334 00176F94  2C 00 00 00 */	cmpwi r0, 0
/* 8017B338 00176F98  41 82 00 24 */	beq lbl_8017B35C
/* 8017B33C 00176F9C  38 60 00 3B */	li r3, 0x3b
/* 8017B340 00176FA0  4B FE 77 51 */	bl func_80162A90
/* 8017B344 00176FA4  80 99 00 28 */	lwz r4, 0x28(r25)
/* 8017B348 00176FA8  48 04 A1 BD */	bl func_801C5504
/* 8017B34C 00176FAC  2C 03 00 00 */	cmpwi r3, 0
/* 8017B350 00176FB0  41 82 00 0C */	beq lbl_8017B35C
/* 8017B354 00176FB4  38 7E 49 A4 */	addi r3, r30, 0x49a4
/* 8017B358 00176FB8  4B F6 E1 FD */	bl func_800E9554
lbl_8017B35C:
/* 8017B35C 00176FBC  7F E3 FB 78 */	mr r3, r31
lbl_8017B360:
/* 8017B360 00176FC0  39 61 00 50 */	addi r11, r1, 0x50
/* 8017B364 00176FC4  48 04 BD E9 */	bl _restgpr_17
/* 8017B368 00176FC8  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8017B36C 00176FCC  7C 08 03 A6 */	mtlr r0
/* 8017B370 00176FD0  38 21 00 50 */	addi r1, r1, 0x50
/* 8017B374 00176FD4  4E 80 00 20 */	blr

.global func_8017B378
func_8017B378:
/* 8017B378 00176FD8  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8017B37C 00176FDC  7C 08 02 A6 */	mflr r0
/* 8017B380 00176FE0  90 01 00 44 */	stw r0, 0x44(r1)
/* 8017B384 00176FE4  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 8017B388 00176FE8  93 C1 00 38 */	stw r30, 0x38(r1)
/* 8017B38C 00176FEC  4B FE 43 55 */	bl func_8015F6E0
/* 8017B390 00176FF0  3B E0 00 00 */	li r31, 0
/* 8017B394 00176FF4  7C 68 1B 78 */	mr r8, r3
/* 8017B398 00176FF8  38 E0 00 00 */	li r7, 0
/* 8017B39C 00176FFC  3C A0 80 40 */	lis r5, 0x8040
/* 8017B3A0 00177000  38 00 00 0A */	li r0, 0xa
lbl_8017B3A4:
/* 8017B3A4 00177004  A1 48 00 30 */	lhz r10, 0x30(r8)
/* 8017B3A8 00177008  2C 0A 00 00 */	cmpwi r10, 0
/* 8017B3AC 0017700C  41 82 00 44 */	beq lbl_8017B3F0
/* 8017B3B0 00177010  39 25 C6 28 */	addi r9, r5, -14808
/* 8017B3B4 00177014  38 C0 00 00 */	li r6, 0
/* 8017B3B8 00177018  7C 09 03 A6 */	mtctr r0
lbl_8017B3BC:
/* 8017B3BC 0017701C  A0 89 00 00 */	lhz r4, 0(r9)
/* 8017B3C0 00177020  7C 0A 20 40 */	cmplw r10, r4
/* 8017B3C4 00177024  40 82 00 10 */	bne lbl_8017B3D4
/* 8017B3C8 00177028  1F FF 00 0A */	mulli r31, r31, 0xa
/* 8017B3CC 0017702C  7F FF 32 14 */	add r31, r31, r6
/* 8017B3D0 00177030  48 00 00 10 */	b lbl_8017B3E0
lbl_8017B3D4:
/* 8017B3D4 00177034  39 29 00 02 */	addi r9, r9, 2
/* 8017B3D8 00177038  38 C6 00 01 */	addi r6, r6, 1
/* 8017B3DC 0017703C  42 00 FF E0 */	bdnz lbl_8017B3BC
lbl_8017B3E0:
/* 8017B3E0 00177040  38 E7 00 01 */	addi r7, r7, 1
/* 8017B3E4 00177044  39 08 00 02 */	addi r8, r8, 2
/* 8017B3E8 00177048  2C 07 00 04 */	cmpwi r7, 4
/* 8017B3EC 0017704C  41 80 FF B8 */	blt lbl_8017B3A4
lbl_8017B3F0:
/* 8017B3F0 00177050  3B C0 00 00 */	li r30, 0
/* 8017B3F4 00177054  38 E0 00 00 */	li r7, 0
/* 8017B3F8 00177058  3C A0 80 40 */	lis r5, 0x8040
/* 8017B3FC 0017705C  38 00 00 0A */	li r0, 0xa
lbl_8017B400:
/* 8017B400 00177060  A1 23 00 38 */	lhz r9, 0x38(r3)
/* 8017B404 00177064  2C 09 00 00 */	cmpwi r9, 0
/* 8017B408 00177068  41 82 00 44 */	beq lbl_8017B44C
/* 8017B40C 0017706C  39 05 C6 28 */	addi r8, r5, -14808
/* 8017B410 00177070  38 C0 00 00 */	li r6, 0
/* 8017B414 00177074  7C 09 03 A6 */	mtctr r0
lbl_8017B418:
/* 8017B418 00177078  A0 88 00 00 */	lhz r4, 0(r8)
/* 8017B41C 0017707C  7C 09 20 40 */	cmplw r9, r4
/* 8017B420 00177080  40 82 00 10 */	bne lbl_8017B430
/* 8017B424 00177084  1F DE 00 0A */	mulli r30, r30, 0xa
/* 8017B428 00177088  7F DE 32 14 */	add r30, r30, r6
/* 8017B42C 0017708C  48 00 00 10 */	b lbl_8017B43C
lbl_8017B430:
/* 8017B430 00177090  39 08 00 02 */	addi r8, r8, 2
/* 8017B434 00177094  38 C6 00 01 */	addi r6, r6, 1
/* 8017B438 00177098  42 00 FF E0 */	bdnz lbl_8017B418
lbl_8017B43C:
/* 8017B43C 0017709C  38 E7 00 01 */	addi r7, r7, 1
/* 8017B440 001770A0  38 63 00 02 */	addi r3, r3, 2
/* 8017B444 001770A4  2C 07 00 04 */	cmpwi r7, 4
/* 8017B448 001770A8  41 80 FF B8 */	blt lbl_8017B400
lbl_8017B44C:
/* 8017B44C 001770AC  48 0F 73 6D */	bl OSGetTime
/* 8017B450 001770B0  38 A1 00 08 */	addi r5, r1, 8
/* 8017B454 001770B4  48 0F 75 B1 */	bl OSTicksToCalendarTime
/* 8017B458 001770B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017B45C 001770BC  7C 00 F0 00 */	cmpw r0, r30
/* 8017B460 001770C0  40 82 00 1C */	bne lbl_8017B47C
/* 8017B464 001770C4  80 61 00 18 */	lwz r3, 0x18(r1)
/* 8017B468 001770C8  38 03 00 01 */	addi r0, r3, 1
/* 8017B46C 001770CC  7C 00 F8 00 */	cmpw r0, r31
/* 8017B470 001770D0  40 82 00 0C */	bne lbl_8017B47C
/* 8017B474 001770D4  38 60 00 01 */	li r3, 1
/* 8017B478 001770D8  48 00 00 08 */	b lbl_8017B480
lbl_8017B47C:
/* 8017B47C 001770DC  38 60 00 00 */	li r3, 0
lbl_8017B480:
/* 8017B480 001770E0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8017B484 001770E4  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 8017B488 001770E8  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 8017B48C 001770EC  7C 08 03 A6 */	mtlr r0
/* 8017B490 001770F0  38 21 00 40 */	addi r1, r1, 0x40
/* 8017B494 001770F4  4E 80 00 20 */	blr

.global func_8017B498
func_8017B498:
/* 8017B498 001770F8  38 A0 00 01 */	li r5, 1
/* 8017B49C 001770FC  38 6D 9F 58 */	addi r3, r13, lbl_8063F218-_SDA_BASE_
/* 8017B4A0 00177100  38 80 00 04 */	li r4, 4
/* 8017B4A4 00177104  38 00 00 00 */	li r0, 0
/* 8017B4A8 00177108  98 AD 9F 58 */	stb r5, lbl_8063F218-_SDA_BASE_(r13)
/* 8017B4AC 0017710C  B0 83 00 02 */	sth r4, 2(r3)
/* 8017B4B0 00177110  98 03 00 04 */	stb r0, 4(r3)
/* 8017B4B4 00177114  4E 80 00 20 */	blr