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
|